Dolphin, the GameCube and Wii emulator - Forums
Error compiling Dolphin source in Ubuntu 16.10 - Printable Version

+- Dolphin, the GameCube and Wii emulator - Forums (https://forums.dolphin-emu.org)
+-- Forum: Dolphin Emulator Discussion and Support (https://forums.dolphin-emu.org/Forum-dolphin-emulator-discussion-and-support)
+--- Forum: Support (https://forums.dolphin-emu.org/Forum-support)
+--- Thread: Error compiling Dolphin source in Ubuntu 16.10 (/Thread-error-compiling-dolphin-source-in-ubuntu-16-10)



Error compiling Dolphin source in Ubuntu 16.10 - r2rX - 10-30-2016

Hey all,

I've recently upgraded from Ubuntu 16.04 to 16.10. When attempting to compile the latest source of Dolphin, I encounter the following error:


Code:
[ 95%] Linking CXX executable ../../../Binaries/dolphin-emu

/usr/bin/ld: /usr/local/lib/libmbedtls.a(ssl_tls.c.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedtls.a(debug.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedtls.a(ssl_ciphersuites.c.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedtls.a(ssl_cli.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedtls.a(ssl_srv.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedx509.a(x509_crt.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedx509.a(x509.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(aes.c.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(bignum.c.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(cipher.c.o): relocation R_X86_64_32 against undefined symbol `mbedtls_cipher_supported' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(ctr_drbg.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(des.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(dhm.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(ecp.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(ecp_curves.c.o): relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(entropy.c.o): relocation R_X86_64_32S against symbol `mbedtls_platform_entropy_poll' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(entropy_poll.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(error.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(gcm.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(md.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(md5.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(oid.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(pem.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(pk.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(pk_wrap.c.o): relocation R_X86_64_32S against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(pkparse.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(ripemd160.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(rsa.c.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(sha1.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(sha256.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(sha512.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(timing.c.o): relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(arc4.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(base64.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(blowfish.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(camellia.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(ccm.c.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(ecdsa.c.o): relocation R_X86_64_32S against symbol `mbedtls_hmac_drbg_random' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(hmac_drbg.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedcrypto.a(pkcs5.c.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /usr/local/lib/libmbedtls.a(net.c.o): relocation R_X86_64_PC32 against symbol `fcntl@@GLIBC_2.2.5' 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
Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/build.make:1835: recipe for target 'Binaries/dolphin-emu' failed
make[2]: *** [Binaries/dolphin-emu] Error 1
CMakeFiles/Makefile2:891: recipe for target 'Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all' failed
make[1]: *** [Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

I'm uncertain how to interpret this issue exactly. Any advise? Cheers!


RE: Error compiling Dolphin source in Ubuntu 16.10 - Jack Frost - 10-30-2016

You might want to try PR #4365 which attempts to address this issue. 16.10 made some changes in how the compiler infrastructure handles things, so we have to explicitly turn it off now.


RE: Error compiling Dolphin source in Ubuntu 16.10 - r2rX - 10-31-2016

(10-30-2016, 09:15 PM)JackĀ Frost Wrote: You might want to try PR #4365 which attempts to address this issue. 16.10 made some changes in how the compiler infrastructure handles things, so we have to explicitly turn it off now.

That fixed it. Smile Thanks for the pointer.