Created attachment 404432 [details] Poko-1.6.0.ebuild (cmake version) Bump version of poco library to 1.6.0 This ebuild: 1) Switched to use cmake to configure and build poko library 2) Use github for URI (more stable fetch) 3) Add support all available build options via USE flags (and setup required packages) 4) Switch poco library to use system provided libraries either internal version of libraries What should be done: 1) Extend USE flags description via metadata.xml 2) Fix bug with building documentation (It use internal poco BuildDoc, but some strange problem with compiling BuildDoc)
Update: Found, that for Apache and for Doc submodule Poco 1.6.0 have bugged dependencies (for example, for apache it haven't dependency from POCO util submodule). I will provide patchset + patching from ebuild till tomorrow
Created attachment 404716 [details] poco-1.6.0.ebuild (cmake version, final)
Created attachment 404718 [details, diff] Add required depends for apache submodule
Bump version of poco library to 1.6.0 This ebuild: 1) Switched to use cmake to configure and build poko library 2) Use github for URI (more stable fetch) 3) Add support all available build options via USE flags (and setup required packages) 4) Switch poco library to use system provided libraries either internal version of libraries 5) Fixed depends from other packages 6) Added IUSE requirements (+ fix for doc problem) This is final version of ebuild and ready to push into master.
Any updates?
Created attachment 415536 [details] New poco-1.6.1 ebuild, fixed dependencies, use flags
Created attachment 415538 [details] poco-1.6.1.ebuild - final, for release
Latest poco-1.6.1 changes: 1) More accurate tracking of dependencies 2) More accurate tracking of USE flags deps 3) Patches for apache submodule and dependencies 4) Fixed indention Testing performed: 1) Tested compilation and running on x64 2) Tested compilation and running on x32 (chrooted) 3) Tested compilation and running on fresh installation x32 (chrooted) Use flag was tested one by one to be sure that ebuild have correct IUSE depends. Final testing was made within all enabled use flags on x64 Still existing problems: 1) on x86 unable to compile with enabled 7z use flag. Some problem inside project __asm__ __volatile__
Any update?
Can someone process this ticket?
1.7.0 has been released, current Portage version is many years old, any update?
ok, I have a preliminary version in my overlay: https://gitweb.gentoo.org/dev/dev-zero.git/commit/?id=5e73e0ed7381f90bd98366cbfd4a1e3e29470542 ... it is similar to Maksym's version here, but with proper default useflags, test and some fixes. One test is failing though, which is why I haven't committed it yet.
@Julien Papasian Will see, if I can bump version of poco with my ebuilds. @Tiziano Müller Heh, good job :-) Will see, what use flags you used :-)
upstream bug report here: https://github.com/pocoproject/poco/issues/1209 version 1.7.2 is now also in my overlay: https://gitweb.gentoo.org/dev/dev-zero.git/tree/dev-libs/poco
Great work! But, my emerge whines that src_prepare() is missing eapply_user or default. And even with that fixed compilation fails due to ld not finding -lXML. Some dependency must be missing.
(In reply to Tamas Jantvik from comment #15) > Great work! But, my emerge whines that src_prepare() is missing eapply_user > or default. I have no idea where that should be coming from. Can you please post the complete build log? > And even with that fixed compilation fails due to ld not finding > -lXML. Some dependency must be missing. If you try to link to the Poco-XML library, the linker line should be: -lPocoXML
* Package: dev-libs/poco-1.7.2 * Repository: dev-zero * Maintainer: tommy@gentoo.org cpp@gentoo.org * USE: 7z abi_x86_64 amd64 cppparser crypto data elibc_glibc examples file2pagecompiler iodbc json kernel_linux mongodb mysql net odbc pagecompiler pdf sqlite ssl userland_GNU util xml zip * FEATURES: preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking poco-1.7.2.tar.gz to /tmp/portage/dev-libs/poco-1.7.2/work >>> Source unpacked in /tmp/portage/dev-libs/poco-1.7.2/work >>> Preparing source in /tmp/portage/dev-libs/poco-1.7.2/work/poco-poco-1.7.2-release ... * ERROR: dev-libs/poco-1.7.2::dev-zero failed (prepare phase): * eapply_user (or default) must be called in src_prepare()! * * Call stack: * ebuild.sh, line 805: Called __ebuild_main 'prepare' * phase-functions.sh, line 974: Called __dyn_prepare * phase-functions.sh, line 380: Called die * The specific snippet of code: * die "eapply_user (or default) must be called in src_prepare()!" * * If you need support, post the output of `emerge --info '=dev-libs/poco-1.7.2::dev-zero'`, * the complete build log and the output of `emerge -pqv '=dev-libs/poco-1.7.2::dev-zero'`. * The complete build log is located at '/var/log/portage/dev-libs:poco-1.7.2:20160405-051054.log'. * For convenience, a symlink to the build log is located at '/tmp/portage/dev-libs/poco-1.7.2/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/dev-libs/poco-1.7.2/temp/environment'. * Working directory: '/tmp/portage/dev-libs/poco-1.7.2/work/poco-poco-1.7.2-release' * S: '/tmp/portage/dev-libs/poco-1.7.2/work/poco-poco-1.7.2-release'
Then, perhaps it picks up some other XML lib on my system and misinterprets something. I'll post that log as well...
Created attachment 429664 [details] /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lXML /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native -mtune=native -pipe -O2 -fomit-frame-pointer -Wl,-O1 -Wl,--as-needed -shared -Wl,-soname,libPocoSevenZip.so.42 -o ../lib/libPocoSevenZip.so.42 CMakeFiles/SevenZip.dir/src/ArchiveEntry.cpp.o CMakeFiles/SevenZip.dir/src/Archive.cpp.o CMakeFiles/SevenZip.dir/src/7zAlloc.c.o CMakeFiles/SevenZip.dir/src/7zBuf2.c.o CMakeFiles/SevenZip.dir/src/7zBuf.c.o CMakeFiles/SevenZip.dir/src/7zCrc.c.o CMakeFiles/SevenZip.dir/src/7zCrcOpt.c.o CMakeFiles/SevenZip.dir/src/7zDec.c.o CMakeFiles/SevenZip.dir/src/7zFile.c.o CMakeFiles/SevenZip.dir/src/7zIn.c.o CMakeFiles/SevenZip.dir/src/7zStream.c.o CMakeFiles/SevenZip.dir/src/Alloc.c.o CMakeFiles/SevenZip.dir/src/Bcj2.c.o CMakeFiles/SevenZip.dir/src/Bra86.c.o CMakeFiles/SevenZip.dir/src/Bra.c.o CMakeFiles/SevenZip.dir/src/CpuArch.c.o CMakeFiles/SevenZip.dir/src/Lzma2Dec.c.o CMakeFiles/SevenZip.dir/src/Lzma86Dec.c.o CMakeFiles/SevenZip.dir/src/LzmaDec.c.o CMakeFiles/SevenZip.dir/src/Ppmd7.c.o CMakeFiles/SevenZip.dir/src/Ppmd7Dec.c.o ../lib/libPocoUtil.so.42 -lXML ../lib/libPocoJSON.so.42 ../lib/libPocoFoundation.so.42 -lpthread -ldl -lrt -lpcre -lz -Wl,-rpath,/tmp/portage/dev-libs/poco-1.7.2/work/poco-1.7.2_build/lib: /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lXML collect2: error: ld returned 1 exit status
(In reply to Tamas Jantvik from comment #17) > * Package: dev-libs/poco-1.7.2 > * Repository: dev-zero > * Maintainer: tommy@gentoo.org cpp@gentoo.org > * USE: 7z abi_x86_64 amd64 cppparser crypto data elibc_glibc > examples file2pagecompiler iodbc json kernel_linux mongodb mysql net odbc > pagecompiler pdf sqlite ssl userland_GNU util xml zip > * FEATURES: preserve-libs sandbox userpriv usersandbox > >>> Unpacking source... > >>> Unpacking poco-1.7.2.tar.gz to /tmp/portage/dev-libs/poco-1.7.2/work > >>> Source unpacked in /tmp/portage/dev-libs/poco-1.7.2/work > >>> Preparing source in /tmp/portage/dev-libs/poco-1.7.2/work/poco-poco-1.7.2-release ... > * ERROR: dev-libs/poco-1.7.2::dev-zero failed (prepare phase): > * eapply_user (or default) must be called in src_prepare()! > * > * Call stack: > * ebuild.sh, line 805: Called __ebuild_main 'prepare' > * phase-functions.sh, line 974: Called __dyn_prepare > * phase-functions.sh, line 380: Called die > * The specific snippet of code: > * die "eapply_user (or default) must be called in > src_prepare()!" > * > * If you need support, post the output of `emerge --info > '=dev-libs/poco-1.7.2::dev-zero'`, > * the complete build log and the output of `emerge -pqv > '=dev-libs/poco-1.7.2::dev-zero'`. > * The complete build log is located at > '/var/log/portage/dev-libs:poco-1.7.2:20160405-051054.log'. > * For convenience, a symlink to the build log is located at > '/tmp/portage/dev-libs/poco-1.7.2/temp/build.log'. > * The ebuild environment file is located at > '/tmp/portage/dev-libs/poco-1.7.2/temp/environment'. > * Working directory: > '/tmp/portage/dev-libs/poco-1.7.2/work/poco-poco-1.7.2-release' > * S: '/tmp/portage/dev-libs/poco-1.7.2/work/poco-poco-1.7.2-release' ah, ok, right. Should be fixed now.
(In reply to Tamas Jantvik from comment #19) > Created attachment 429664 [details] > /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ > ld: cannot find -lXML > > /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native -mtune=native -pipe > -O2 -fomit-frame-pointer -Wl,-O1 -Wl,--as-needed -shared > -Wl,-soname,libPocoSevenZip.so.42 -o ../lib/libPocoSevenZip.so.42 > CMakeFiles/SevenZip.dir/src/ArchiveEntry.cpp.o > CMakeFiles/SevenZip.dir/src/Archive.cpp.o > CMakeFiles/SevenZip.dir/src/7zAlloc.c.o > CMakeFiles/SevenZip.dir/src/7zBuf2.c.o CMakeFiles/SevenZip.dir/src/7zBuf.c.o > CMakeFiles/SevenZip.dir/src/7zCrc.c.o > CMakeFiles/SevenZip.dir/src/7zCrcOpt.c.o > CMakeFiles/SevenZip.dir/src/7zDec.c.o CMakeFiles/SevenZip.dir/src/7zFile.c.o > CMakeFiles/SevenZip.dir/src/7zIn.c.o > CMakeFiles/SevenZip.dir/src/7zStream.c.o > CMakeFiles/SevenZip.dir/src/Alloc.c.o CMakeFiles/SevenZip.dir/src/Bcj2.c.o > CMakeFiles/SevenZip.dir/src/Bra86.c.o CMakeFiles/SevenZip.dir/src/Bra.c.o > CMakeFiles/SevenZip.dir/src/CpuArch.c.o > CMakeFiles/SevenZip.dir/src/Lzma2Dec.c.o > CMakeFiles/SevenZip.dir/src/Lzma86Dec.c.o > CMakeFiles/SevenZip.dir/src/LzmaDec.c.o > CMakeFiles/SevenZip.dir/src/Ppmd7.c.o > CMakeFiles/SevenZip.dir/src/Ppmd7Dec.c.o ../lib/libPocoUtil.so.42 -lXML > ../lib/libPocoJSON.so.42 ../lib/libPocoFoundation.so.42 -lpthread -ldl -lrt > -lpcre -lz > -Wl,-rpath,/tmp/portage/dev-libs/poco-1.7.2/work/poco-1.7.2_build/lib: > /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ > ld: cannot find -lXML > collect2: error: ld returned 1 exit status Can you try without the 7z USE flag? That feature seems to be rather experimental.
(In reply to Tiziano Müller from comment #21) > (In reply to Tamas Jantvik from comment #19) > > Created attachment 429664 [details] > > /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ > > ld: cannot find -lXML > > > > /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native -mtune=native -pipe > > -O2 -fomit-frame-pointer -Wl,-O1 -Wl,--as-needed -shared > > -Wl,-soname,libPocoSevenZip.so.42 -o ../lib/libPocoSevenZip.so.42 > > CMakeFiles/SevenZip.dir/src/ArchiveEntry.cpp.o > > CMakeFiles/SevenZip.dir/src/Archive.cpp.o > > CMakeFiles/SevenZip.dir/src/7zAlloc.c.o > > CMakeFiles/SevenZip.dir/src/7zBuf2.c.o CMakeFiles/SevenZip.dir/src/7zBuf.c.o > > CMakeFiles/SevenZip.dir/src/7zCrc.c.o > > CMakeFiles/SevenZip.dir/src/7zCrcOpt.c.o > > CMakeFiles/SevenZip.dir/src/7zDec.c.o CMakeFiles/SevenZip.dir/src/7zFile.c.o > > CMakeFiles/SevenZip.dir/src/7zIn.c.o > > CMakeFiles/SevenZip.dir/src/7zStream.c.o > > CMakeFiles/SevenZip.dir/src/Alloc.c.o CMakeFiles/SevenZip.dir/src/Bcj2.c.o > > CMakeFiles/SevenZip.dir/src/Bra86.c.o CMakeFiles/SevenZip.dir/src/Bra.c.o > > CMakeFiles/SevenZip.dir/src/CpuArch.c.o > > CMakeFiles/SevenZip.dir/src/Lzma2Dec.c.o > > CMakeFiles/SevenZip.dir/src/Lzma86Dec.c.o > > CMakeFiles/SevenZip.dir/src/LzmaDec.c.o > > CMakeFiles/SevenZip.dir/src/Ppmd7.c.o > > CMakeFiles/SevenZip.dir/src/Ppmd7Dec.c.o ../lib/libPocoUtil.so.42 -lXML > > ../lib/libPocoJSON.so.42 ../lib/libPocoFoundation.so.42 -lpthread -ldl -lrt > > -lpcre -lz > > -Wl,-rpath,/tmp/portage/dev-libs/poco-1.7.2/work/poco-1.7.2_build/lib: > > /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ > > ld: cannot find -lXML > > collect2: error: ld returned 1 exit status > > Can you try without the 7z USE flag? > That feature seems to be rather experimental. ... or did you try with 7z but without xml?
Yes, I have tried without the 7z use flag. Then it chokes on linking stuff related to zip instead. Indeed, I have not tried disabling xml, since some other flags depend on that. But I can do it anyway...
Disabling the xml use flag makes no different. For some reason -lXML goes into the link.txt files of a few components. Like: /tmp/portage/dev-libs/poco-1.7.2/work/poco-1.7.2_build/Zip/CMakeFiles/Zip.dir/link.txt:1:/usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=native -mtune=native -pipe -O2 -fomit-frame-pointer -Wl,-O1 -Wl,--as- needed -shared -Wl,-soname,libPocoZip.so.42 -o ../lib/libPocoZip.so.42 CMakeFiles/Zip.dir/src/ZipUtil.cpp.o CMakeFiles/Zip.dir/src/ZipStream.cpp.o CMakeFiles/Zip.dir/src/ZipOperation.cpp.o CMakeFiles/Zip.dir /src/ZipManipulator.cpp.o CMakeFiles/Zip.dir/src/ZipLocalFileHeader.cpp.o CMakeFiles/Zip.dir/src/ZipFileInfo.cpp.o CMakeFiles/Zip.dir/src/ZipException.cpp.o CMakeFiles/Zip.dir/src/ZipDataInfo.cpp.o CMakeFile s/Zip.dir/src/ZipCommon.cpp.o CMakeFiles/Zip.dir/src/ZipArchiveInfo.cpp.o CMakeFiles/Zip.dir/src/ZipArchive.cpp.o CMakeFiles/Zip.dir/src/SkipCallback.cpp.o CMakeFiles/Zip.dir/src/Replace.cpp.o CMakeFiles/Zip .dir/src/Rename.cpp.o CMakeFiles/Zip.dir/src/PartialStream.cpp.o CMakeFiles/Zip.dir/src/ParseCallback.cpp.o CMakeFiles/Zip.dir/src/Keep.cpp.o CMakeFiles/Zip.dir/src/Delete.cpp.o CMakeFiles/Zip.dir/src/Decomp ress.cpp.o CMakeFiles/Zip.dir/src/Compress.cpp.o CMakeFiles/Zip.dir/src/AutoDetectStream.cpp.o CMakeFiles/Zip.dir/src/Add.cpp.o ../lib/libPocoUtil.so.42 -lXML ../lib/libPocoJSON.so.42 ../lib/libPocoFoundatio n.so.42 -lpthread -ldl -lrt -lpcre -lz -Wl,-rpath,/tmp/portage/dev-libs/poco-1.7.2/work/poco-1.7.2_build/lib: To successfully compile it I had to go with: USE="-7z -file2pagecompiler -pagecompiler -zip" ebuild poco-1.7.2.ebuild install
ok, can you possibly post a complete build log for the case when it fails? Possibly the one generated by portage when doing `emerge ...` (you can use --buildpkgonly to build the package but not install it)
(In reply to Tiziano Müller from comment #25) > ok, can you possibly post a complete build log for the case when it fails? > Possibly the one generated by portage when doing `emerge ...` (you can use > --buildpkgonly to build the package but not install it) Ok, I finally found the culprit. Fixed in my overlay.
*** Bug 592650 has been marked as a duplicate of this bug. ***
(In reply to Tiziano Müller from comment #26) > Ok, I finally found the culprit. Fixed in my overlay. Can you please push your version into portage? The latest Version there is still 1.4.6_p4-r1. Thanks in advance :)
I am still struggling with the following error: https://github.com/pocoproject/poco/issues/1209 Maybe someone with libressl could try to reproduce?
since upstream doesn't seem to care I went ahead simply disabled that specific test