Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 426990 - net-libs/gsoap-2.8.9 USE=examples - chaining.o: In function `ns__pow': chaining.c:(.text+0x55): undefined reference to `pow'
Summary: net-libs/gsoap-2.8.9 USE=examples - chaining.o: In function `ns__pow': chaini...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Alessio Cassibba (X-Drum)
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2012-07-17 12:10 UTC by jannis
Modified: 2015-12-28 10:01 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,136.89 KB, text/plain)
2012-07-17 12:11 UTC, jannis
Details
emerge --info (after gsoap-2.8.9 has been installed with USE="-examples" (einfo,21.20 KB, text/plain)
2012-07-17 12:12 UTC, jannis
Details
Proposed fix (gsoap-2.8.9-pow-fix.patch,684 bytes, patch)
2012-07-17 14:21 UTC, Göktürk Yüksek
Details | Diff
updated ebuild (gsoap-2.8.9.ebuild,1.60 KB, text/plain)
2012-08-04 21:00 UTC, Alessandro Surace
Details
patch files (gsoap-2.8.9-pow_patch_bug_318460,684 bytes, patch)
2012-08-04 21:00 UTC, Alessandro Surace
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description jannis 2012-07-17 12:10:46 UTC
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
Comment 1 jannis 2012-07-17 12:11:27 UTC
Created attachment 318442 [details]
build.log
Comment 2 jannis 2012-07-17 12:12:06 UTC
Created attachment 318444 [details]
emerge --info (after gsoap-2.8.9 has been installed with USE="-examples"
Comment 3 Göktürk Yüksek archtester gentoo-dev 2012-07-17 14:21:59 UTC
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.
Comment 4 Alessandro Surace 2012-08-04 20:59:18 UTC
Same problem for me solved with gokturk's patch. Follow updated ebuild and patch files
Comment 5 Alessandro Surace 2012-08-04 21:00:00 UTC
Created attachment 320378 [details]
updated ebuild
Comment 6 Alessandro Surace 2012-08-04 21:00:23 UTC
Created attachment 320380 [details, diff]
patch files
Comment 7 Alessandro Surace 2012-08-04 21:02:49 UTC
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!
Comment 8 Göktürk Yüksek archtester gentoo-dev 2012-09-23 23:11:17 UTC
(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?
Comment 9 Kobboi 2012-10-31 11:07:41 UTC
Problem still present in gsoap-2.8.11
Comment 10 jannis 2013-01-12 16:57:59 UTC
same here for gsoap-2.8.12
Comment 11 Göktürk Yüksek archtester gentoo-dev 2015-12-15 06:47:49 UTC
Patch submitted to upstream:
https://sourceforge.net/p/gsoap2/patches/155/
Comment 12 Göktürk Yüksek archtester gentoo-dev 2015-12-15 06:50:25 UTC
(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.
Comment 13 Ian Delaney (RETIRED) gentoo-dev 2015-12-20 08:38:32 UTC
Nice work gokturk let's hope there's a fix from the bug you filed.
Comment 14 Göktürk Yüksek archtester gentoo-dev 2015-12-26 03:34:24 UTC
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.
Comment 15 Göktürk Yüksek archtester gentoo-dev 2015-12-26 22:48:11 UTC
(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.
Comment 16 Göktürk Yüksek archtester gentoo-dev 2015-12-27 06:09:55 UTC
PR submitted: https://github.com/gentoo/gentoo/pull/535
Comment 17 Patrice Clement gentoo-dev 2015-12-28 10:01:31 UTC
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!