Re: Build failure on os x non-virtual thunk

Frederick Grim <[email protected]>
Newsgroups gmane.comp.mozilla.devel.macosx
Organization Road Runner - NYC
Message-ID <BD29D1FC.15F9%[email protected]>
On 7/25/04 7:02 PM, in article BD29B448.1017%[email protected],
"Frederick Grim" <[email protected]> wrote:

> Howdy all,
>   So I am trying, so far unsuccessfully, to build mozilla 1.7.1 on os x
> 10.3.  The build always fails with the error:

So I am putting the answer out there for those you may search this mewsgroup
in google or something for non-spam posts (of which there seem to be
precious few).  The issue is not with mozilla per say but with the compiler
optimizations.  See http://bugzilla.mozilla.org/show_bug.cgi?id=220856
Don't use -O3 -funroll-loops and bitch to apple so they will fix
their patched till it broke version of gcc
    HTH,
    Fred

> rm -f libgfx_mac.dylib
> /usr/bin/g++  -frtti -fexceptions -Wall -Wconversion -Wpointer-arith
> -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy
> -Wno-non-virtual-dtor -Wno-long-long -O3 -pipe -fomit-frame-pointer
> -faltivec -mcpu=970 -mtune=970 -mmultiple -mpowerpc-gpopt -fpascal-strings
> -no-cpp-precomp -fno-common -fshort-wchar -I/Developer/Headers/FlatCarbon
> -pipe  -DNDEBUG -DTRIMMED -O3 -I/Developer/Headers/FlatCarbon -fPIC -arch
> ppc -o libgfx_mac.dylib  nsATSUIUtils.o nsDeviceContextMac.o
> nsDeviceContextSpecFactoryM.o nsDeviceContextSpecX.o nsDrawingSurfaceMac.o
> nsFontMetricsMac.o nsGfxFactoryMac.o nsGraphicState.o nsImageMac.o
> nsRegionMac.o nsRenderingContextMac.o nsMacUnicodeFontInfo.o
> nsUnicodeFontMappingMac.o nsUnicodeMappingUtil.o nsUnicodeRenderingToolkit.o
> nsScreenMac.o nsScreenManagerMac.o nsPrintOptionsX.o nsPrintSettingsX.o
> nsPrintSessionX.o nsFontUtils.o nsNativeThemeMac.o  nsRenderingContextImpl.o
> gfxImageFrame.o nsNativeTheme.o     -L../../../dist/bin -L../../../dist/lib
> -lmozutil_s -lgkgfx -framework Carbon -L../../../dist/bin -lxpcom
> -L../../../dist/bin -L/Users/hal9000/Desktop/mozilla/dist/lib -lplds4 -lplc4
> -lnspr4 -lpthread  ../../../dist/lib/libunicharutil_s.a
> -Wl,-exported_symbols_list
> -Wl,../../../build/unix/gnu-ld-scripts/components-export-list -bundle -lm
> ld: warning multiple definitions of symbol _PR_CeilingLog2
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of
> _PR_CeilingLog2
> ../../../dist/bin/libnspr4.dylib(prlog2.o) definition of _PR_CeilingLog2
> ld: warning multiple definitions of symbol _PR_Calloc
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_Calloc
> ../../../dist/bin/libnspr4.dylib(prmem.o) definition of _PR_Calloc
> ld: warning multiple definitions of symbol _PR_Malloc
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_Malloc
> ../../../dist/bin/libnspr4.dylib(prmem.o) definition of _PR_Malloc
> ld: warning multiple definitions of symbol _PR_Free
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_Free
> ../../../dist/bin/libnspr4.dylib(prmem.o) definition of _PR_Free
> ld: warning multiple definitions of symbol _PR_Realloc
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_Realloc
> ../../../dist/bin/libnspr4.dylib(prmem.o) definition of _PR_Realloc
> ld: warning multiple definitions of symbol _PR_Unlock
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_Unlock
> ../../../dist/bin/libnspr4.dylib(ptsynch.o) definition of _PR_Unlock
> ld: warning multiple definitions of symbol _PR_NewLock
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_NewLock
> ../../../dist/bin/libnspr4.dylib(ptsynch.o) definition of _PR_NewLock
> ld: warning multiple definitions of symbol _PR_Lock
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_Lock
> ../../../dist/bin/libnspr4.dylib(ptsynch.o) definition of _PR_Lock
> ld: warning multiple definitions of symbol _PR_DestroyLock
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of
> _PR_DestroyLock
> ../../../dist/bin/libnspr4.dylib(ptsynch.o) definition of _PR_DestroyLock
> ld: warning multiple definitions of symbol _PR_GetOSError
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of
> _PR_GetOSError
> ../../../dist/bin/libnspr4.dylib(prerror.o) definition of _PR_GetOSError
> ld: warning multiple definitions of symbol _PR_GetError
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_GetError
> ../../../dist/bin/libnspr4.dylib(prerror.o) definition of _PR_GetError
> ld: warning multiple definitions of symbol _PR_SetError
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(nsprPortX.o) definition of _PR_SetError
> ../../../dist/bin/libnspr4.dylib(prerror.o) definition of _PR_SetError
> ld: warning multiple definitions of symbol _PL_ArenaAllocate
> ../../../dist/bin/libplds4.dylib(plarena.o) definition of _PL_ArenaAllocate
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(plarena.o) definition of
> _PL_ArenaAllocate
> ld: warning multiple definitions of symbol _PL_InitArenaPool
> ../../../dist/bin/libplds4.dylib(plarena.o) definition of _PL_InitArenaPool
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(plarena.o) definition of
> _PL_InitArenaPool
> ld: warning multiple definitions of symbol _PL_FreeArenaPool
> ../../../dist/bin/libplds4.dylib(plarena.o) definition of _PL_FreeArenaPool
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(plarena.o) definition of
> _PL_FreeArenaPool
> ld: warning multiple definitions of symbol _PL_FinishArenaPool
> ../../../dist/bin/libplds4.dylib(plarena.o) definition of
> _PL_FinishArenaPool
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(plarena.o) definition of
> _PL_FinishArenaPool
> ld: warning multiple definitions of symbol _PL_ArenaRelease
> ../../../dist/bin/libplds4.dylib(plarena.o) definition of _PL_ArenaRelease
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(plarena.o) definition of
> _PL_ArenaRelease
> ld: warning multiple definitions of symbol _PL_ArenaGrow
> ../../../dist/bin/libplds4.dylib(plarena.o) definition of _PL_ArenaGrow
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(plarena.o) definition of _PL_ArenaGrow
> ld: warning multiple definitions of symbol _PL_ArenaFinish
> ../../../dist/bin/libplds4.dylib(plarena.o) definition of _PL_ArenaFinish
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(plarena.o) definition of
> _PL_ArenaFinish
> ld: warning multiple definitions of symbol _PL_CompactArenaPool
> ../../../dist/bin/libplds4.dylib(plarena.o) definition of
> _PL_CompactArenaPool
> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNe
> twork.framework/Versions/A/CFNetwork(plarena.o) definition of
> _PL_CompactArenaPool
> ld: Undefined symbols:
> non-virtual thunk [nv:-20] to DeviceContextImpl::QueryInterface(nsID const&,
> void**)
> non-virtual thunk [nv:-20] to DeviceContextImpl::AddRef()
> non-virtual thunk [nv:-20] to DeviceContextImpl::Observe(nsISupports*, char
> const*, unsigned short const*)
> non-virtual thunk [nv:-20] to DeviceContextImpl::Release()
> non-virtual thunk [nv:-24] to DeviceContextImpl::QueryInterface(nsID const&,
> void**)
> non-virtual thunk [nv:-24] to DeviceContextImpl::AddRef()
> non-virtual thunk [nv:-24] to DeviceContextImpl::Release()
> non-virtual thunk [nv:-4] to nsPrintOptions::QueryInterface(nsID const&,
> void**)
> non-virtual thunk [nv:-4] to
> nsPrintOptions::GetNewPrintSettings(nsIPrintSettings**)
> non-virtual thunk [nv:-4] to nsPrintOptions::GetDefaultPrinterName(unsigned
> short**)
> non-virtual thunk [nv:-4] to
> nsPrintOptions::GetGlobalPrintSettings(nsIPrintSettings**)
> non-virtual thunk [nv:-4] to
> nsPrintOptions::SavePrintSettingsToPrefs(nsIPrintSettings*, int, unsigned)
> non-virtual thunk [nv:-4] to
> nsPrintOptions::InitPrintSettingsFromPrefs(nsIPrintSettings*, int, unsigned)
> non-virtual thunk [nv:-4] to
> nsPrintOptions::InitPrintSettingsFromPrinter(unsigned short const*,
> nsIPrintSettings*)
> non-virtual thunk [nv:-4] to nsPrintOptions::AddRef()
> non-virtual thunk [nv:-4] to nsPrintOptions::Release()
> make[5]: *** [libgfx_mac.dylib] Error 1
> make[4]: *** [libs] Error 2
> make[3]: *** [libs] Error 2
> make[2]: *** [tier_9] Error 2
> make[1]: *** [default] Error 2
> make: *** [build] Error 2
> 
> My .mozconfig looks like
> MOZILLA_OFFICIAL=1
> mk_add_options MOZILLA_OFFICIAL=1
> BUILD_OFFICIAL=1
> mk_add_options BUILD_OFFICIAL=1
> 
> # make it faster on two processors
> #mk_add_options MOZ_MAKE_FLAGS=-j3
> 
> ac_add_options --disable-installer
> ac_add_options --enable-pthreads
> ac_add_options --disable-tests
> ac_add_options --disable-debug
> ac_add_options --disable-dtd-debug
> ac_add_options --enable-optimize=-O3
> ac_add_options --enable-macos-target=10.3
> ac_add_options --enable-default-toolkit=cocoa
> ac_add_options --enable-cpp-rtti
> ac_add_options --with-system-zlib
> ac_add_options --enable-cpp-exceptions
> ac_add_options --disable-accessibility
> ac_add_options --enable-crypto
> ac_add_options --enable-extensions=all
> ac_add_options --enable-strip
> ac_add_options --enable-strip-libs
> 
> The machine is a g5 and I am using the xcodetools / gcc compilier
> 
>   Thank you newsgroup, thank you for always being there for me in my hour
> of need.
>   Fred     
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.