Failed to compile bctoolbox (part of linphone)

0

As there are no more binaries distributed for the new version 4 of linphone I'm trying to compile the application myself. I'm using a docker container for the compilation process. Now when it comes to bctoolbox then I get this error:

/usr/bin/ld: /usr/local/lib/libmbedtls.a(ssl_tls.c.o): relocation R_X86_64_PC32 against symbol `mbedtls_ssl_sig_hash_set_const_hash' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
src/CMakeFiles/bctoolbox.dir/build.make:305: recipe for target 'src/libbctoolbox.so.1' failed
make[2]: *** [src/libbctoolbox.so.1] Error 1
make[1]: *** [src/CMakeFiles/bctoolbox.dir/all] Error 2
CMakeFiles/Makefile2:201: recipe for target 'src/CMakeFiles/bctoolbox.dir/all' failed
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
The command '/bin/sh -c cd bctoolbox-0.6.0     && cmake .     && make     && make install' returned a non-zero code: 2

The code is hosted here (too long to post here).

thomas.mc.work

Posted 2017-10-10T13:58:32.247

Reputation: 101

Unfortunately, Docker doesn't guarantee that the person who wrote the Dockerfile and you will have the same image because it may or may not cache the side effects of executing shell commands, and so whatever you've installed while creating the image may be of a version different from that the original author of Dockerfile intended. My guess is that the gcc used to build the original image was older than the one you've got, but I may be wrong. – wvxvw – 2017-10-10T15:12:56.287

That's a good idea. I've tried the same with Debian 8 with the same result. Building on Debian 7 fails with cmake being too old (2.8.11-1 from backports vs. 2.8.12 being required) :-( – thomas.mc.work – 2017-10-11T06:34:11.593

No answers