Menu

Fedora core 4 par2cmdline compile no-go

2005-06-21
2013-05-23
  • Nobody/Anonymous

    Has anyone been able to get par2 to compile on Fedora core 4? I went from Fedora Core 2 to Fedora Core 4 and the old executable won't run on Core 4. I ran ./configure and then did a 'make' but the compiler thinks there's a syntax error in a formerly 'okay' source file.

    I am away from my Linux machine right now so I apologize for not having more details. My primary question is simply whether anyone else has been able to get it to work in Fedora Core 4?

    If anyone is interested in more details about the compile error I'm getting, I'll follow up on this thread with the info when I get home this evening.

     
    • Nobody/Anonymous

      In case anyone else runs up against this...

      I found a solution for my problem at http://forums.fedoraforum.org/forum/showthread.php?t=60161.

      I needed to install the compatibility package compat-libstdc++-33 which is part of the FC4 distribution. Once I did that the old executables for par2 and unrar worked fine!

      I did not have to recompile anything.

       
    • Nobody/Anonymous

      Any advice for those of us who no longer have the binaries, so they are forced to compile the program?

       
    • Nobody/Anonymous

      if g++ -DHAVE_CONFIG_H -I. -I. -I.    -Wall -g -O2 -MT reedsolomon.o -MD -MP -MF ".deps/reedsolomon.Tpo" -c -o reedsolomon.o reedsolomon.cpp; \ then mv -f ".deps/reedsolomon.Tpo" ".deps/reedsolomon.Po"; else rm -f ".deps/reedsolomon.Tpo"; exit 1; fi
      par2fileformat.h:67: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PACKET_HEADER::hash
      par2fileformat.h:68: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PACKET_HEADER::setid
      par2fileformat.h:79: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEVERIFICATIONENTRY::hash
      par2fileformat.h:86: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEVERIFICATIONPACKET::fileid
      par2fileformat.h:87: warning: ignoring packed attribute on unpacked non-POD field FILEVERIFICATIONENTRY FILEVERIFICATIONPACKET::entries [0u]
      par2fileformat.h:101: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEDESCRIPTIONPACKET::fileid
      par2fileformat.h:102: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEDESCRIPTIONPACKET::hashfull
      par2fileformat.h:103: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEDESCRIPTIONPACKET::hash16k
      par2fileformat.h:131: warning: ignoring packed attribute on unpacked non-POD field MD5Hash MAINPACKET::fileid [0u]
      par1fileformat.h:41: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PAR1FILEHEADER::controlhash
      par1fileformat.h:42: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PAR1FILEHEADER::sethash
      par1fileformat.h:56: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PAR1FILEENTRY::hashfull
      par1fileformat.h:57: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PAR1FILEENTRY::hash16k
      reedsolomon.cpp:54: error: explicit specialization of bool ReedSolomon<Galois8>::SetInput(const std::vector<bool, std::allocator<bool> >&) must be introduced by template <>
      reedsolomon.cpp:54: error: template-id SetInput<> for bool ReedSolomon<Galois8>::SetInput(const std::vector<bool, std::allocator<bool> >&) does not match any template declaration
      reedsolomon.cpp:54: error: invalid function declaration
      reedsolomon.cpp:83: error: explicit specialization of bool ReedSolomon<Galois8>::SetInput(u32) must be introduced by template <>
      reedsolomon.cpp:83: error: template-id SetInput<> for bool ReedSolomon<Galois8>::SetInput(u32) does not match any template declaration
      reedsolomon.cpp:83: error: invalid function declaration
      reedsolomon.cpp:104: error: explicit specialization of bool ReedSolomon<Galois8>::Process(size_t, u32, const void*, u32, void*) must be introduced by template <>
      reedsolomon.cpp:104: error: template-id Process<> for bool ReedSolomon<Galois8>::Process(size_t, u32, const void*, u32, void*) does not match any template declaration
      reedsolomon.cpp:104: error: invalid function declaration
      reedsolomon.cpp:192: error: explicit specialization of bool ReedSolomon<Galois16>::SetInput(const std::vector<bool, std::allocator<bool> >&) must be introduced by template <>
      reedsolomon.cpp:192: error: template-id SetInput<> for bool ReedSolomon<Galois16>::SetInput(const std::vector<bool, std::allocator<bool> >&) does not match any template declaration
      reedsolomon.cpp:192: error: invalid function declaration
      reedsolomon.cpp:236: error: explicit specialization of bool ReedSolomon<Galois16>::SetInput(u32) must be introduced by template <>
      reedsolomon.cpp:236: error: template-id SetInput<> for bool ReedSolomon<Galois16>::SetInput(u32) does not match any template declaration
      reedsolomon.cpp:236: error: invalid function declaration
      reedsolomon.cpp:270: error: explicit specialization of bool ReedSolomon<Galois16>::Process(size_t, u32, const void*, u32, void*) must be introduced by template <>
      reedsolomon.cpp:270: error: template-id Process<> for bool ReedSolomon<Galois16>::Process(size_t, u32, const void*, u32, void*) does not match any template declaration
      reedsolomon.cpp:270: error: invalid function declaration
      make[1]: *** [reedsolomon.o] Error 1
      make[1]: Leaving directory `/home/jwolf/dev/par2cmdline-0.4'
      make: *** [all] Error 2
      if g++ -DHAVE_CONFIG_H -I. -I. -I.    -Wall -g -O2 -MT reedsolomon.o -MD -MP -MF ".deps/reedsolomon.Tpo" -c -o reedsolomon.o reedsolomon.cpp; \ then mv -f ".deps/reedsolomon.Tpo" ".deps/reedsolomon.Po"; else rm -f ".deps/reedsolomon.Tpo"; exit 1; fi
      par2fileformat.h:67: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PACKET_HEADER::hash
      par2fileformat.h:68: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PACKET_HEADER::setid
      par2fileformat.h:79: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEVERIFICATIONENTRY::hash
      par2fileformat.h:86: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEVERIFICATIONPACKET::fileid
      par2fileformat.h:87: warning: ignoring packed attribute on unpacked non-POD field FILEVERIFICATIONENTRY FILEVERIFICATIONPACKET::entries [0u]
      par2fileformat.h:101: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEDESCRIPTIONPACKET::fileid
      par2fileformat.h:102: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEDESCRIPTIONPACKET::hashfull
      par2fileformat.h:103: warning: ignoring packed attribute on unpacked non-POD field MD5Hash FILEDESCRIPTIONPACKET::hash16k
      par2fileformat.h:131: warning: ignoring packed attribute on unpacked non-POD field MD5Hash MAINPACKET::fileid [0u]
      par1fileformat.h:41: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PAR1FILEHEADER::controlhash
      par1fileformat.h:42: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PAR1FILEHEADER::sethash
      par1fileformat.h:56: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PAR1FILEENTRY::hashfull
      par1fileformat.h:57: warning: ignoring packed attribute on unpacked non-POD field MD5Hash PAR1FILEENTRY::hash16k
      reedsolomon.cpp:54: error: explicit specialization of bool ReedSolomon<Galois8>::SetInput(const std::vector<bool, std::allocator<bool> >&) must be introduced by template <>
      reedsolomon.cpp:54: error: template-id SetInput<> for bool ReedSolomon<Galois8>::SetInput(const std::vector<bool, std::allocator<bool> >&) does not match any template declaration
      reedsolomon.cpp:54: error: invalid function declaration
      reedsolomon.cpp:83: error: explicit specialization of bool ReedSolomon<Galois8>::SetInput(u32) must be introduced by template <>
      reedsolomon.cpp:83: error: template-id SetInput<> for bool ReedSolomon<Galois8>::SetInput(u32) does not match any template declaration
      reedsolomon.cpp:83: error: invalid function declaration
      reedsolomon.cpp:104: error: explicit specialization of bool ReedSolomon<Galois8>::Process(size_t, u32, const void*, u32, void*) must be introduced by template <>
      reedsolomon.cpp:104: error: template-id Process<> for bool ReedSolomon<Galois8>::Process(size_t, u32, const void*, u32, void*) does not match any template declaration
      reedsolomon.cpp:104: error: invalid function declaration
      reedsolomon.cpp:192: error: explicit specialization of bool ReedSolomon<Galois16>::SetInput(const std::vector<bool, std::allocator<bool> >&) must be introduced by template <>
      reedsolomon.cpp:192: error: template-id SetInput<> for bool ReedSolomon<Galois16>::SetInput(const std::vector<bool, std::allocator<bool> >&) does not match any template declaration
      reedsolomon.cpp:192: error: invalid function declaration
      reedsolomon.cpp:236: error: explicit specialization of bool ReedSolomon<Galois16>::SetInput(u32) must be introduced by template <>
      reedsolomon.cpp:236: error: template-id SetInput<> for bool ReedSolomon<Galois16>::SetInput(u32) does not match any template declaration
      reedsolomon.cpp:236: error: invalid function declaration
      reedsolomon.cpp:270: error: explicit specialization of bool ReedSolomon<Galois16>::Process(size_t, u32, const void*, u32, void*) must be introduced by template <>
      reedsolomon.cpp:270: error: template-id Process<> for bool ReedSolomon<Galois16>::Process(size_t, u32, const void*, u32, void*) does not match any template declaration
      reedsolomon.cpp:270: error: invalid function declaration
      make[1]: *** [reedsolomon.o] Error 1
      make[1]: Leaving directory `/home/jwolf/dev/par2cmdline-0.4'
      make: *** [all] Error 2

       
    • Paul Rupe

      Paul Rupe - 2005-08-12

      All you have to do is add 'template <>' before each of the functions it is complaining about.  Here is a patch:

      Index: reedsolomon.cpp

      RCS file: /cvsroot/parchive/par2-cmdline/reedsolomon.cpp,v
      retrieving revision 1.2
      diff -u -r1.2 reedsolomon.cpp
      --- reedsolomon.cpp    26 May 2003 21:42:16 -0000    1.2
      +++ reedsolomon.cpp    12 Aug 2005 01:30:08 -0000
      @@ -51,6 +51,7 @@
         }
      }

      +template <>
      bool ReedSolomon<Galois8>::SetInput(const vector<bool> &present)
      {
         inputcount = (u32)present.size();
      @@ -80,6 +81,7 @@
         return true;
      }

      +template <>
      bool ReedSolomon<Galois8>::SetInput(u32 count)
      {
         inputcount = count;
      @@ -101,6 +103,7 @@
         return true;
      }

      +template <>
      bool ReedSolomon<Galois8>::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer)
      {
         // Look up the appropriate element in the RS matrix
      @@ -189,6 +192,7 @@

      // Set which of the source files are present and which are missing
      // and compute the base values to use for the vandermonde matrix.
      +template <>
      bool ReedSolomon<Galois16>::SetInput(const vector<bool> &present)
      {
         inputcount = (u32)present.size();
      @@ -233,6 +237,7 @@

      // Record that the specified number of source files are all present
      // and compute the base values to use for the vandermonde matrix.
      +template <>
      bool ReedSolomon<Galois16>::SetInput(u32 count)
      {
         inputcount = count;
      @@ -267,6 +272,7 @@
         return true;
      }

      +template <>
      bool ReedSolomon<Galois16>::Process(size_t size, u32 inputindex, const void *inputbuffer, u32 outputindex, void *outputbuffer)
      {
         // Look up the appropriate element in the RS matrix

       
    • Nobody/Anonymous

      Cool. I was getting the exact same error....FC4.

      2.6.12-1.1447_FC4 #1 Fri Aug 26 20:29:51 EDT 2005 i686 athlon i386 GNU/Linux

      Thanks,
      Patrick

       
    • Nobody/Anonymous

      Hello,
      sorry i don,t understand the patch. Cann anyone upload the changed script so that i can download it?

      Thanks

       
    • jonwolf

      jonwolf - 2006-04-23

      Thanks for the patch, Paul! Compiles great in FC5 now too.

       
    • Nobody/Anonymous

      is this a dead project?  pathces in the message boards, but the source fiels for Dl havent changed in 3 years, despite being badly broken on some platforms (Soalris 10 x86 for example)

       

Log in to post a comment.