User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a8pre) Gecko/2007091104 Minefield/3.0a8pre Build Identifier: see http://bugs.gentoo.org/show_bug.cgi?id=188636 The build fails close before the final links /usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../../../../dist/lib/libembed_base_s.a(nsEmbedAPI.o): relocation R_X86_64_PC32 against `NSGlue_Warning' can not be used when making a shared object; recompile with -fPIC Reproducible: Always Steps to Reproduce: 1. 2. 3. No problems with trunk builds as the whole gtkembedding was overhauled and xpcom/glue/nsDebug.cpp was removed anyway. non-debug builds properly and also gcc-4.1.2. Probably pragma related?
Benjamin, there's still a lot of DEFINES += -DMOZILLA_STRICT_API in embedding subdirs. When I substitute "DEFINES += -DMOZILLA_STRICT_API" against "MOZILLA_INTERNAL_API = 1" or comment out: #ifdef MINIMO # For minimo, we would really like to treat this as a LIBXUL # library so that we can get the correct export defines. LIBXUL_LIBRARY = 1 #endif in embedding/base/Makefile.in the debug build compiles successfully. However, neither solution seems to be correct, or?
Another try was to substitute "Defines += -DMOZILLA_STRICT_API" with "DEFINES += -DXPCOM_GLUE". This changes the error message from libembed_base_s.a(nsEmbedAPI.o): relocation R_X86_64_PC32 against `NSGlue_Warning' libembed_base_s.a(nsEmbedAPI.o): relocation R_X86_64_PC32 against `NS_ShutdownXPCOM' Does it need to link against both xpcom and xpcomglue? Either way the other seems to be unreachable with the present code in nsDebug.cpp. Help of a build expert would be very appreciated
Apparently the 1_8_1 Branch is more or less not further developed. The last comment was more than a year ago, Gentoo uses the former visibility check and that works also with debug. So close this as WONT for the 1_8_1 Branch.