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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
+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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
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.
Any advice for those of us who no longer have the binaries, so they are forced to compile the program?
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
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
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
Hello,
sorry i don,t understand the patch. Cann anyone upload the changed script so that i can download it?
Thanks
Thanks for the patch, Paul! Compiles great in FC5 now too.
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)