scons uses ld as linker where it should apparently use g++ Reproducible: Always Steps to Reproduce: 1.emerge yafray Actual Results: [..] ld -o src/yafraycore/libyafraycore.so -shared -no_archive src/yafraycore/bound.os src/yafraycore/buffer.os src/yafraycore/yafsystem.os src/yafraycore/tools.os src/yafraycore/camera.os src/yafraycore/color.os src/yafraycore/filter.os src/yafraycore/matrix4.os src/yafraycore/object3d.os src/yafraycore/triangletools.os src/yafraycore/mesh.os src/yafraycore/kdtree.os src/yafraycore/triclip.os src/yafraycore/reference.os src/yafraycore/renderblock.os src/yafraycore/scene.os src/yafraycore/forkedscene.os src/yafraycore/threadedscene.os src/yafraycore/ipc.os src/yafraycore/ccthreads.os src/yafraycore/noise.os src/yafraycore/background.os src/yafraycore/sphere.os src/yafraycore/texture.os src/yafraycore/metashader.os src/yafraycore/targaIO.os src/yafraycore/triangle.os src/yafraycore/vector3d.os src/yafraycore/photon.os src/yafraycore/params.os src/yafraycore/HDR_io.os src/yafraycore/spectrum.os src/yafraycore/EXR_io.os -L/usr/lib64 -lpthread -lIlmImf -lImath -lIex -lHalf ld: /usr/lib64/libpthread.a(pthread_create.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib64/libpthread.a: could not read symbols: Bad value scons: *** [src/yafraycore/libyafraycore.so] Error 1 scons: building terminated because of errors. Adding SHLINK = "g++", LINK = "g++" to scons' Environment helps. See attached yafray-0.0.9-scons.patch or http://myxman.org/dp/node/150
Created attachment 145902 [details, diff] patch to make scons use g++ as linker
Comment on attachment 145902 [details, diff] patch to make scons use g++ as linker This patch is wrong and will break cross-compile, you can't hardcode stuff like this.
I don't get why the presence of ifc causes scons to choose the wrong linker (see bug 166480 comment 13) but it boils down to "same problem, different error message". Sorry for wasting a bugreport on this. *** This bug has been marked as a duplicate of bug 166480 ***