Closed Bug 432899 Opened 16 years ago Closed 7 years ago

Branch won't compile: undefined reference to `NSGlue_Warning'

Categories

(Firefox Build System :: General, defect)

1.8 Branch
x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: dholbert, Unassigned)

Details

Attachments

(1 file)

Attached patch patchSplinter Review
When I try to build branch on Ubuntu 8.04, I'm getting a bunch of "undefined reference to `NSGlue_Warning'" errors in the embedding directory:

rm -f libgtkembedmoz.so
c++  -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe  -DDEBUG -D_DEBUG -DDEBUG_dholbert -DTRACING -g -fno-inline  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1   -fPIC -shared -Wl,-z,defs -Wl,-h,libgtkembedmoz.so -o libgtkembedmoz.so  gtkmozembedmarshal.o gtkmozembed2.o EmbedPrivate.o EmbedWindow.o EmbedProgress.o EmbedContentListener.o EmbedEventListener.o EmbedWindowCreator.o EmbedPrompter.o GtkPromptService.o             -Wl,--whole-archive ../../../../dist/lib/libembed_base_s.a ../../../../dist/lib/libprofdirserviceprovider_s.a  -Wl,--no-whole-archive -L../../../../dist/bin -lxpcom -lxpcom_core  -L../../../../dist/bin -L../../../../dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -ldl -lm
EmbedPrivate.o: In function `EmbedPrivate::DetachListeners()':
/scratch/work/builds/branch/branch.08-05-08.12-38/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:892: undefined reference to `NSGlue_Warning'
/scratch/work/builds/branch/branch.08-05-08.12-38/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:900: undefined reference to `NSGlue_Warning'
/scratch/work/builds/branch/branch.08-05-08.12-38/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:907: undefined reference to `NSGlue_Warning'
EmbedPrivate.o: In function `EmbedPrivate::AttachListeners()':
/scratch/work/builds/branch/branch.08-05-08.12-38/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:856: undefined reference to `NSGlue_Warning'
/scratch/work/builds/branch/branch.08-05-08.12-38/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:863: undefined reference to `NSGlue_Warning'
EmbedPrivate.o:/scratch/work/builds/branch/branch.08-05-08.12-38/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:870: more undefined references to `NSGlue_Warning' follow
/usr/bin/ld: libgtkembedmoz.so: hidden symbol `NSGlue_Warning' isn't defined

This is my .mozconfig:
  mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
  mk_add_options MOZ_CO_PROJECT=browser
  ac_add_options --enable-application=browser
  ac_add_options --enable-debug --disable-optimize

# Workarounds for other issues
ac_add_options --disable-canvas
ac_add_options --disable-tests

 Notes:
   --disable-canvas is a workaround for bug 387239
   --disable-tests is an old workaround I had for some other NSGlue_Warning errors (though I'm not sure if it's still effective)

The attached patch fixes the problem for me, though I'm sure there's a cleaner way to fix it.
(In reply to comment #0)
> This is my .mozconfig:
>   mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
>   mk_add_options MOZ_CO_PROJECT=browser
>   ac_add_options --enable-application=browser
>   ac_add_options --enable-debug --disable-optimize
> 
> # Workarounds for other issues
> ac_add_options --disable-canvas
> ac_add_options --disable-tests

Sorry, I meant to indent those last two workaround ac_add_options lines for clarity, but forgot. Anyway, the quoted chunk above is the entirety of the .mozconfig I'm using.
Attachment #320072 - Attachment description: hacky patch that fixes issue → patch
FWIW: I now need one more fix (in addition to this bug's patch and quoted mozconfig) in order to get a successful Firefox 2 build on Ubuntu 8.10.  That new fix is documented in bug 465445.
I tried to build from thunderbird-2.0.0.19-source.tar.bz2
and got the same error:
rm -f libgtkembedmoz.so
c++  -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-n
on-virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe  -DDEBUG -D_DEBUG -DDEBUG_walter -DTRACING -g -fno-inline -O  -I/us
r/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0
 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -fPIC -shared -Wl,-z,defs -Wl,-h,
libgtkembedmoz.so -o libgtkembedmoz.so  gtkmozembedmarshal.o gtkmozembed2.o EmbedPrivate.o EmbedWindow.o EmbedProgress.o EmbedContentList
ener.o EmbedEventListener.o EmbedWindowCreator.o EmbedPrompter.o GtkPromptService.o              -Wl,--whole-archive ../../../../dist/lib
/libembed_base_s.a ../../../../dist/lib/libprofdirserviceprovider_s.a  -Wl,--no-whole-archive -L../../../../dist/bin -lxpcom -lxpcom_core
  -L../../../../dist/bin -L../../../../dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -
lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lz -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   
-ldl -lm    
EmbedPrivate.o: In function `EmbedPrivate::DetachListeners()':
/home/scratch/mnt/thunderbird/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:892: undefined reference to `NSGlue_Warning'
/home/scratch/mnt/thunderbird/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:900: undefined reference to `NSGlue_Warning'
/home/scratch/mnt/thunderbird/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:907: undefined reference to `NSGlue_Warning'
EmbedPrivate.o: In function `EmbedPrivate::AttachListeners()':
/home/scratch/mnt/thunderbird/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:856: undefined reference to `NSGlue_Warning'
/home/scratch/mnt/thunderbird/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:863: undefined reference to `NSGlue_Warning'
EmbedPrivate.o:/home/scratch/mnt/thunderbird/mozilla/embedding/browser/gtk/src/EmbedPrivate.cpp:870: more undefined references to `NSGlue
_Warning' follow
/usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: libgtkembedmoz.so: hidden symbol `NSGlue_Warning' isn't defined
/usr/lib/gcc/i586-suse-linux/4.3/../../../../i586-suse-linux/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
gmake[2]: *** [libgtkembedmoz.so] Error 1
gmake[2]: Leaving directory `/home/scratch/mnt/thunderbird/mozilla/embedding/browser/gtk/src'
gmake[1]: *** [install] Error 2
gmake[1]: Leaving directory `/home/scratch/mnt/thunderbird/mozilla/embedding/browser/gtk'
make: *** [install] Error 2


I was using the following configure line:
./configure  --enable-debug --enable-application=mail
Compiler error on now-unsupported platform. Closing bug.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: