pr-downloader fails to build under Fedora 20. Help?

pr-downloader fails to build under Fedora 20. Help?

Discuss everything related to running Spring on your chosen distribution of Linux.

Moderator: Moderators

gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

Hello all,

I maintain spring under Fedora and trying to release spring 96.
I'm currently facing a weird issue, trying to get pr_download built.
I know Fedora DSO is a bitch to satisfy (I carry a number of DSO patches that I never bothered to push upstream as I doubt it'll interest other distros) - but in this case I'm lost: At least as far as I can see, DSO really doesn't like the use of archives instead of libraries and ignores them.
Any ideas?

- Gilboa

Build log (tail):

Code: Select all

cd /home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/pr-downloader.dir/link.txt --verbose=1
/usr/lib64/ccache/c++               -fuse-ld=gold  -std=gnu++11 -mtune=generic -msse -mfpmath=sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4 -mno-sse4a -mno-avx -mno-fma -mno-fma4 -mno-xop -mno-lwp -mno-avx2 -fsingle-precision-constant -frounding-math -mieee-fp -pipe -fno-strict-aliasing  -fvisibility=hidden  -fvisibility-inlines-hidden -pthread -Wall -O0 -g -fPIC                               -O2      -Wno-unknown-pragmas -DNDEBUG   -Wl,-z,relro       -Wl,--compress-debug-sections=zlib CMakeFiles/pr-downloader.dir/main.cpp.o  -o pr-downloader -rdynamic libpr-downloader_static.a libUtil.a Downloader/Rapid/libRapid.a Downloader/Http/libHttp.a -lcurl lib/xmlrpc++/libxmlrpc.a libCurlWrapper.so libVersion.a Downloader/Plasma/libPlasma.a lib/soap/libsoap.a FileSystem/libFileSystem.so -lz lib/md5/libpr-md5.a lib/sha1/libpr-sha1.a lib/bencode/libbencode.a lib/7z/libpr-7z.so -lminizip -ldl -Wl,-rpath,/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src:/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/FileSystem:/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/lib/7z: 
/usr/bin/ld.gold: warning: hidden symbol 'L_LOG' in libUtil.a(Logger.cpp.o) is referenced by DSO FileSystem/libFileSystem.so
/usr/bin/ld.gold: warning: hidden symbol 'parse_int32(unsigned char*)' in libUtil.a(Util.cpp.o) is referenced by DSO FileSystem/libFileSystem.so
/usr/bin/ld.gold: warning: hidden symbol 'LOG_PROGRESS' in libUtil.a(Logger.cpp.o) is referenced by DSO FileSystem/libFileSystem.so
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:19: error: undefined reference to 'CFileSystem::GetInstance()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:19: error: undefined reference to 'CFileSystem::extractEngine(std::string const&, std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:153: error: undefined reference to 'CFileSystem::GetInstance()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:153: error: undefined reference to 'CFileSystem::setWritePath(std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:166: error: undefined reference to 'CFileSystem::GetInstance()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:166: error: undefined reference to 'CFileSystem::getSpringDir()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:251: error: undefined reference to 'CFileSystem::GetInstance()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:251: error: undefined reference to 'CFileSystem::getSpringDir()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:254: error: undefined reference to 'CFileSystem::validatePool(std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:259: error: undefined reference to 'CFileSystem::dumpSDP(std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/pr-downloader.cpp:146: error: undefined reference to 'CFileSystem::Shutdown()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/RapidDownloader.cpp:153: error: undefined reference to 'CFileSystem::getSpringDir()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/RapidDownloader.cpp:154: error: undefined reference to 'CFileSystem::createSubdirs(std::string const&) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/RapidDownloader.cpp:157: error: undefined reference to 'CFileSystem::fileExists(std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/RapidDownloader.cpp:157: error: undefined reference to 'CFileSystem::isOlder(std::string const&, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Repo.cpp:30: error: undefined reference to 'CFileSystem::getSpringDir()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Repo.cpp:31: error: undefined reference to 'CFileSystem::createSubdirs(std::string const&) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Repo.cpp:33: error: undefined reference to 'CFileSystem::fileExists(std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Repo.cpp:35: error: undefined reference to 'CFileSystem::createSubdirs(std::string const&) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Repo.cpp:33: error: undefined reference to 'CFileSystem::isOlder(std::string const&, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:159: error: undefined reference to 'HashMD5::HashMD5()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:160: error: undefined reference to 'HashMD5::Set(unsigned char const*, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:161: error: undefined reference to 'IHash::toString(unsigned char const*, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:161: error: undefined reference to 'CFileSystem::getPoolFilename(std::string const&, std::string&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:162: error: undefined reference to 'AtomicFile::AtomicFile(std::string)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:217: error: undefined reference to 'CFileSystem::fileIsValid(FileData const*, std::string const&) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:51: error: undefined reference to 'CFileSystem::directoryExists(std::string const&) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:51: error: undefined reference to 'CFileSystem::createSubdirs(std::string const&) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:265: error: undefined reference to 'CurlWrapper::CurlInit()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:67: error: undefined reference to 'CFileSystem::directoryExists(std::string const&) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:76: error: undefined reference to 'CFileSystem::fileExists(std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:83: error: undefined reference to 'CFileSystem::parseSdp(std::string const&, std::list<FileData*, std::allocator<FileData*> >&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:88: error: undefined reference to 'HashMD5::HashMD5()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:89: error: undefined reference to 'FileData::FileData()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:93: error: undefined reference to 'HashMD5::Set(unsigned char const*, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:95: error: undefined reference to 'IHash::toString(unsigned char const*, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:95: error: undefined reference to 'CFileSystem::getPoolFilename(std::string const&, std::string&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:96: error: undefined reference to 'CFileSystem::fileExists(std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:80: error: undefined reference to 'CFileSystem::parseSdp(std::string const&, std::list<FileData*, std::allocator<FileData*> >&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:125: error: undefined reference to 'FileData::~FileData()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:89: error: undefined reference to 'FileData::~FileData()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/FileSystem/IHash.h:19: error: undefined reference to 'vtable for IHash'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:127: error: undefined reference to 'CFileSystem::Rename(std::string const&, std::string const&)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Rapid/Sdp.cpp:89: error: undefined reference to 'FileData::~FileData()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/FileSystem/IHash.h:19: error: undefined reference to 'vtable for IHash'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:162: error: undefined reference to 'CFile::Write(char const*, int, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:158: error: undefined reference to 'CFile::Write(char const*, int, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:176: error: undefined reference to 'CFile::GetPiecesSize(std::vector<unsigned int, std::allocator<unsigned int> >) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:220: error: undefined reference to 'HashSHA1::HashSHA1()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:231: error: undefined reference to 'CFile::IsNewFile()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:232: error: undefined reference to 'CFile::Hash(IHash&, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:234: error: undefined reference to 'IHash::compare(IHash const*)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:208: error: undefined reference to 'HashMD5::HashMD5()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:209: error: undefined reference to 'CFile::Hash(IHash&, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:210: error: undefined reference to 'IHash::compare(IHash const*)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:211: error: undefined reference to 'IHash::toString(unsigned char const*, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:216: error: undefined reference to 'IHash::toString(unsigned char const*, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/FileSystem/IHash.h:19: error: undefined reference to 'vtable for IHash'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:264: error: undefined reference to 'CFile::GetPieceSize(int) const'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:274: error: undefined reference to 'CurlWrapper::CurlInit()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:309: error: undefined reference to 'CFile::GetTimestamp()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:330: error: undefined reference to 'HashSHA1::HashSHA1()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:361: error: undefined reference to 'CFile::Hash(IHash&, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:363: error: undefined reference to 'IHash::compare(IHash const*)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:427: error: undefined reference to 'CFile::CFile()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:428: error: undefined reference to 'CFile::Open(std::string const&, long, int)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:514: error: undefined reference to 'CFile::SetTimestamp(long)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:38: error: undefined reference to 'CurlWrapper::CurlInit()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:125: error: undefined reference to 'HashMD5::HashMD5()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/HttpDownloader.cpp:118: error: undefined reference to 'CFileSystem::parseTorrent(char const*, int, IDownload*)'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Http/DownloadData.cpp:13: error: undefined reference to 'CurlWrapper::CurlInit()'
/home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src/Downloader/Plasma/PlasmaDownloader.cpp:64: error: undefined reference to 'CFileSystem::parseTorrent(char const*, int, IDownload*)'
collect2: error: ld returned 1 exit status
make[2]: *** [tools/pr-downloader/src/pr-downloader] Error 1
make[2]: Leaving directory `/mnt/WorkBuild/redhat/BUILD/spring_96.0'
make[1]: *** [tools/pr-downloader/src/CMakeFiles/pr-downloader.dir/all] Error 2
make[1]: Leaving directory `/mnt/WorkBuild/redhat/BUILD/spring_96.0'
make: *** [all] Error 2
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

easiest workaround atm: disable compile/build of pr-downloader.

(but current springlobby will fail because of that, too i guess)
cleanrock
Former Engine Dev
Posts: 115
Joined: 21 Feb 2009, 07:42

Re: pr-downloader fails to build under Fedora 20. Help?

Post by cleanrock »

pr-downloader has some circular deps between its own libs, perhaps --start-group/--end-group will help you, see
https://github.com/spring/pr-downloader/issues/66
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

@gilboa:

i've fixed this bug in pr-downloader, for 97.0 this should be fixed. if somehow easily possible you can update pr-downloader to build spring, else i suggest to disable to compile pr-downloader for 96.0.
gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

Re: pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

abma wrote:@gilboa:

i've fixed this bug in pr-downloader, for 97.0 this should be fixed. if somehow easily possible you can update pr-downloader to build spring, else i suggest to disable to compile pr-downloader for 96.0.
I've disabled pr-downloader in 95 but I require it in-order to update springlobby.
I'll try and apply cleanrock's patch and see if it helps.

Thanks all for the prompt reply.

- Gilboa
gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

Re: pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

gilboa wrote:
abma wrote:@gilboa:

i've fixed this bug in pr-downloader, for 97.0 this should be fixed. if somehow easily possible you can update pr-downloader to build spring, else i suggest to disable to compile pr-downloader for 96.0.
I've disabled pr-downloader in 95 but I require it in-order to update springlobby.
I'll try and apply cleanrock's patch and see if it helps.

Thanks all for the prompt reply.

- Gilboa
I finally gotten to try and get the build working (after a vacation + rather long pneumonia).
I turned the commit in #66 into a patch and did get everything built.
However, no both spring and springlobby complain about missing libpr-7z.so.
As far as I can see it gets built but not installed.

P.S. Per-Fedora policy the archive version libpr is deleted and only the dynamic library is kept.

Two questions:
1. How can I get libpr-7z.so installed? AFAICS its only being installed in the archive version.
2. Can I somehow disable the archive build (for now, I simply delete it once the build is complete).

- Gilboa
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

Re: pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

abma wrote:missing "STATIC" keyword in https://github.com/spring/pr-downloader ... eLists.txt


thanks for reporting, i've fixed it: https://github.com/spring/pr-downloader ... aee810e843
Springlobby requires a dynamic library version of libpr-7z.
Should I replace STATIC with, err, DYNAMIC? :)

- Gilboa
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

no, springlobby doesn't require this lib to be shared. if it does its a different bug, too.

other "libs" are static as well. for example https://github.com/spring/pr-downloader ... eLists.txt

(also cmakes keyword would be SHARED, DYNAMIC doesn't exist. afaik SHARED is default in most cases)
gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

Re: pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

abma wrote:no, springlobby doesn't require this lib to be shared. if it does its a different bug, too.

other "libs" are static as well. for example https://github.com/spring/pr-downloader ... eLists.txt

(also cmakes keyword would be SHARED, DYNAMIC doesn't exist. afaik SHARED is default in most cases)
When I build springlobby I get:
libpr-7z.so()(64bit) is needed by springlobby-0.180-1.fc20.x86_64

Looking at spring build output itself:

Code: Select all

...
cd /home/gilboa/work/redhat/BUILD/spring_96.0/tools/pr-downloader/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/pr-downloader.dir/link.txt --verbose=1
/usr/lib64/ccache/c++               -fuse-ld=gold  -std=gnu++11 -mtune=generic -msse -mfpmath=sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4 -mno-sse4a -mno-avx -mno-fma -mno-fma4 -mno-xop -mno-lwp -mno-avx2 -fsingle-precision-constant -frounding-math -mieee-fp -pipe -fno-strict-aliasing  -fvisibility=hidden  -fvisibility-inlines-hidden -pthread -Wall -O0 -g -fPIC                               -O2      -Wno-unknown-pragmas -DNDEBUG   -Wl,-z,relro       -Wl,--compress-debug-sections=zlib CMakeFiles/pr-downloader.dir/main.cpp.o  -o pr-downloader -rdynamic libpr-downloader_static.a libDownloader.a -lcurl lib/xmlrpc++/libxmlrpc.a lib/soap/libsoap.a -lz lib/md5/libpr-md5.a lib/sha1/libpr-sha1.a lib/bencode/libbencode.a [b]lib/7z/libpr-7z.a[/b] libVersion.a -lminizip -ldl 
...
Its looks, at least as far as I can see, that libpr-downloader_shared.so links against libpr-7z.so, and once springlobby links against it, I get a missing symbol error.

- Gilboa
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

i don't see libpr-7z.so in this output.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

note: if you get an error please post full output, else its hard/impossible to help.
gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

Re: pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

abma wrote:i don't see libpr-7z.so in this output.
Actually, re-reading the output I posted, I see that you link against libpr-7z.a and not .so - so the symbols should be there.
Guess it some weird issue in the springlobby build.

If I didn't mention it before, thanks for taking the time to answer my questions :)

- Gilboa
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

just for the curious, does it compile/work now?
gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

Re: pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

abma wrote:just for the curious, does it compile/work now?
Hello,

Managed to get everything building and playing together (a couple of hours ago).
Springlobby does manage to download maps, but fails to download games:
The console error is:

Code: Select all

[Error] /builddir/build/BUILD/springlobby-0.188/src/downloader/lib/src/Downloader/Rapid/Sdp.cpp:52:createPoolDirs(): Couldn't create /home/gilboa/.spring/pool/00/
[Error] /builddir/build/BUILD/springlobby-0.188/src/downloader/lib/src/Downloader/Rapid/Sdp.cpp:113:download(): Creating pool directories failed
As far as I can see, the .spring/pool/X directory does get created, so if you can point me at the right direction I'll be able to debug this issue.

FWIW: I ran strace and I can't seem to find a call to stat / open or mkdir that fails before this error code.

- Gilboa
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

does current master branch work for you?

this should fix it:
https://github.com/springlobby/springlo ... 8425a1e16e
gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

Re: pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

abma wrote:does current master branch work for you?
As I'm packaging spring for Fedora I rather, as much as possible, keep to 96 + patches. (Unless 97 is immanent)
God I hate github.
I can only see it as diff between two commits, adding .patch trick doesn't work. (Did I mention how much I hate github?).
Can you point me at the approximate lines at master so I can diff them against my working copy?

- Gilboa
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

you should not hate github, its very useful. you can compare commits like this:

https://github.com/spring/pr-downloader ... f3e1f41d11

hmm, but i'm not sure if this will fix your problem, have to test a bit myself.
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: pr-downloader fails to build under Fedora 20. Help?

Post by abma »

gilboa
Posts: 41
Joined: 29 Apr 2010, 01:20

Re: pr-downloader fails to build under Fedora 20. Help?

Post by gilboa »

abma wrote:this should fix this problem:

https://github.com/spring/pr-downloader ... b1db8171b2
Gaah.
head seemed to differ greatly from _96.

@96 the relevant FileSystem.cpp code looks like this:

Code: Select all

    for (unsigned int i=2; i<tmp.size(); i++) {
        char c=tmp.at(i);
#ifdef WIN32
        if ((i==2) && (c == '\\'))
            continue;
#endif
        if (c==PATH_DELIMITER) {
            const std::string tocreate=tmp.substr(0,i);
            if (!fileSystem->directoryExists(tocreate)) {
                if (MKDIR(tmp.substr(0,i).c_str())!=0)
                    return false;
            }
        }
    }

    if ((!directoryExists(tmp)) && (MKDIR(tmp.c_str()))!=0)
        return false;
Now, _mkdir in both Win32 and POSIX should return 0 if create was successful.
Problem is, I don't see calls for mkdir in strace.

As the upstream developer/maintainer, do you want me to replace pr-downloader@96 w/ pr-downloader@trunk and stop cherry picking fixes or continue trying to get pr-downloader@96 working?

- Gilboa
Post Reply

Return to “Linux”