net-libs/gsoap-2.8.9 with USE="examples" fails in "/var/tmp/portage/net-libs/gsoap-2.8.9/work/gsoap-2.8/gsoap/samples/chaining" with: 86_64-pc-linux-gnu-gcc -DLINUX -march=native -O2 -pipe -fomit-frame-pointer -Wl,-O1 -Wl,--as-needed -o chaining chaining.o qServerLib.o cServerLib.o envC.o ../../../gsoap/libgsoap.a chaining.o: In function `ns__pow': chaining.c:(.text+0x55): undefined reference to `pow' collect2: ld returned 1 exit status make[6]: *** [chaining] Error 1 Building with USE="-examples" works. Reproducible: Always
Created attachment 318442 [details] build.log
Created attachment 318444 [details] emerge --info (after gsoap-2.8.9 has been installed with USE="-examples"
Created attachment 318460 [details, diff] Proposed fix This patch seems to work for me. The problem is that pow() requires '#include <math.h>' added to the source and '-lm' passed to the linker.
Same problem for me solved with gokturk's patch. Follow updated ebuild and patch files
Created attachment 320378 [details] updated ebuild
Created attachment 320380 [details, diff] patch files
It seems ok but at the end it fails with: x86_64-pc-linux-gnu-gcc -DWITH_OPENSSL -DWITH_GZIP -march=core2 -O2 -pipe -Wl,-O1 -Wl,--as-needed -o sslclient sslclient-sslclient.o sslclient-soapClient.o sslclient-soapC.o ../../../gsoap/libgsoapssl.a -lgnutls -lgcrypt -lgpg-error -lz -lpthread sslclient-sslclient.o: In function `CRYPTO_thread_setup': sslclient.c:(.text+0xbb): undefined reference to `CRYPTO_num_locks' sslclient.c:(.text+0x101): undefined reference to `CRYPTO_num_locks' sslclient.c:(.text+0x10f): undefined reference to `CRYPTO_set_id_callback' sslclient.c:(.text+0x119): undefined reference to `CRYPTO_set_locking_callback' sslclient.c:(.text+0x123): undefined reference to `CRYPTO_set_dynlock_create_callback' sslclient.c:(.text+0x12d): undefined reference to `CRYPTO_set_dynlock_lock_callback' sslclient.c:(.text+0x137): undefined reference to `CRYPTO_set_dynlock_destroy_callback' sslclient-sslclient.o: In function `CRYPTO_thread_cleanup': sslclient.c:(.text+0x167): undefined reference to `CRYPTO_set_id_callback' sslclient.c:(.text+0x16e): undefined reference to `CRYPTO_set_locking_callback' sslclient.c:(.text+0x175): undefined reference to `CRYPTO_set_dynlock_create_callback' sslclient.c:(.text+0x17c): undefined reference to `CRYPTO_set_dynlock_lock_callback' sslclient.c:(.text+0x183): undefined reference to `CRYPTO_set_dynlock_destroy_callback' sslclient.c:(.text+0x1a7): undefined reference to `CRYPTO_num_locks' collect2: ld returned 1 exit status Something else is missing!
(In reply to comment #7) > It seems ok but at the end it fails with: > x86_64-pc-linux-gnu-gcc -DWITH_OPENSSL -DWITH_GZIP -march=core2 -O2 -pipe It declares WITH_OPENSSL here, > -Wl,-O1 -Wl,--as-needed -o sslclient sslclient-sslclient.o > sslclient-soapClient.o sslclient-soapC.o ../../../gsoap/libgsoapssl.a > -lgnutls -lgcrypt -lgpg-error -lz -lpthread but then links against libgcrypt. Don't you need -lssl there?
Problem still present in gsoap-2.8.11
same here for gsoap-2.8.12
Patch submitted to upstream: https://sourceforge.net/p/gsoap2/patches/155/
(In reply to Alessandro Surace from comment #7) > It seems ok but at the end it fails with: > x86_64-pc-linux-gnu-gcc -DWITH_OPENSSL -DWITH_GZIP -march=core2 -O2 -pipe > -Wl,-O1 -Wl,--as-needed -o sslclient sslclient-sslclient.o > sslclient-soapClient.o sslclient-soapC.o ../../../gsoap/libgsoapssl.a > -lgnutls -lgcrypt -lgpg-error -lz -lpthread > sslclient-sslclient.o: In function `CRYPTO_thread_setup': > sslclient.c:(.text+0xbb): undefined reference to `CRYPTO_num_locks' > sslclient.c:(.text+0x101): undefined reference to `CRYPTO_num_locks' > sslclient.c:(.text+0x10f): undefined reference to `CRYPTO_set_id_callback' > sslclient.c:(.text+0x119): undefined reference to > `CRYPTO_set_locking_callback' > sslclient.c:(.text+0x123): undefined reference to > `CRYPTO_set_dynlock_create_callback' > sslclient.c:(.text+0x12d): undefined reference to > `CRYPTO_set_dynlock_lock_callback' > sslclient.c:(.text+0x137): undefined reference to > `CRYPTO_set_dynlock_destroy_callback' > sslclient-sslclient.o: In function `CRYPTO_thread_cleanup': > sslclient.c:(.text+0x167): undefined reference to `CRYPTO_set_id_callback' > sslclient.c:(.text+0x16e): undefined reference to > `CRYPTO_set_locking_callback' > sslclient.c:(.text+0x175): undefined reference to > `CRYPTO_set_dynlock_create_callback' > sslclient.c:(.text+0x17c): undefined reference to > `CRYPTO_set_dynlock_lock_callback' > sslclient.c:(.text+0x183): undefined reference to > `CRYPTO_set_dynlock_destroy_callback' > sslclient.c:(.text+0x1a7): undefined reference to `CRYPTO_num_locks' > collect2: ld returned 1 exit status > > Something else is missing! See bug 353319 for this issue.
Nice work gokturk let's hope there's a fix from the bug you filed.
Is the proxied maintainer for this package still active? I have no personal interest in maintaining this but I think we should add it to maintainer-needed if devs are not interested in maintaining it. At least it opens up the possibility for another proxied maintainer.
(In reply to Gokturk Yuksek from comment #11) > Patch submitted to upstream: > https://sourceforge.net/p/gsoap2/patches/155/ --- gsoap-2.8-12/configure.in +++ gsoap-2.8-23/configure.ac -SAMPLE_EXTRA_LIBS= +SAMPLE_EXTRA_LIBS="-lm" This is already fixed in 2.8.23 which is also marked as stable. I suggest that we get rid of 2.8.12.
PR submitted: https://github.com/gentoo/gentoo/pull/535
commit 7897074 (HEAD, origin/master, origin/HEAD, master) Merge: 6b1b51d 67a035a Author: Patrice Clement <monsieurp@gentoo.org> Date: Mon Dec 28 09:59:03 2015 +0000 Merge remote-tracking branch 'github/pr/535'. Thank you!