Last Comment Bug 395871 - debug build of 1_8_BRANCH fails with gcc-4.2.0 on x86_64
: debug build of 1_8_BRANCH fails with gcc-4.2.0 on x86_64
Status: RESOLVED WONTFIX
:
Product: Core
Classification: Components
Component: Build Config (show other bugs)
: 1.8 Branch
: x86 Linux
: -- normal (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
:
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-09-12 02:22 PDT by Walter Meinl
Modified: 2008-12-22 00:00 PST (History)
0 users
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description Walter Meinl 2007-09-12 02:22:54 PDT
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?
Comment 1 Walter Meinl 2007-09-18 14:21:07 PDT
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?
Comment 2 Walter Meinl 2007-10-08 12:49:14 PDT
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
Comment 3 Walter Meinl 2008-12-22 00:00:57 PST
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.

Note You need to log in before you can comment on or make changes to this bug.