I was experiencing more of the same sort of error messages but was able
to make most of them go away by adding -lgdi32 to the spot where it
appears xul.dll is being built. I am uncertain of whether the
remaining problem is the lack of a library being included, or if it is
the messages displayed before all of the "undefined reference to" lines
about duplicate definitions.
The build runs for about 4 hours on my laptop before it fails. I am
using make 3.80, working with the source tarball for xulrunner 1.8.4,
running "make -f client.mk distclean" followed by "make -f client.mk
build_all", and my .mozconfig file looks like this:
---
. $topsrcdir/xulrunner/config/mozconfig
CC=gcc
CXX=g++
CPP=cpp
AS=as
LD=ld
ac_add_options --enable-optimize --disable-debug
ac_add_options --disable-javaxpcom
ac_add_options --disable-accessibility
ac_add_options --disable-activex
ac_add_options --disable-tests
---
Here is the tail end of my build output where the errors are
encountered.
---
nsStaticXULComponents.cpp
Building deps for nsStaticXULComponents.cpp
/cygdrive/d/xulrunner/mozilla/build/cygwin-wrapper g++ -mno-cygwin -o
nsStaticXULComponents.o -c -DZLIB_DLL=1 -DNECKO2 -DICON_DECODER
-DMOZILLA_INTERNAL_API -DOSTYPE=\"WINNT5.1\" -DOSARCH=\"WINNT\"
-DBUILD_ID=0000000000 -D_IMPL_NS_COM -D_IMPL_NS_STRINGAPI
-DEXPORT_XPT_API -DEXPORT_XPTC_API -DEXPORT_XPTI_API
-D_IMPL_NS_COM_OBSOLETE -D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XULAPI
-I/cygdrive/d/xulrunner/mozilla/config -I../../dist/include/xpcom
-I../../dist/include/string -I../../dist/include/xpcom_obsolete
-I../../dist/include/zlib -I../../dist/include/xulapp
-I../../dist/include/libxul -I../../dist/include
-I../../dist/include/nspr -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
-mms-bitfields -pipe -DNDEBUG -DTRIMMED -O -DX_DISPLAY_MISSING=1
-DMOZILLA_VERSION=\"1.8.0.4\" -DMOZILLA_VERSION_U=1.8.0.4
-DHAVE_SNPRINTF=1 -D_WINDOWS=1 -D_WIN32=1 -DWIN32=1 -DXP_WIN=1
-DXP_WIN32=1 -DHW_THREADS=1 -DWINVER=0x400 -D_WIN32_WINNT=0x400
-DSTDC_HEADERS=1 -DWIN32_LEAN_AND_MEAN=1 -DNO_X11=1 -D_X86_=1
-DD_INO=d_ino -DSTDC_HEADERS=1 -Duid_t=int -Dgid_t=int
-DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1
-DHAVE_MALLOC_H=1 -DHAVE_LIBM=1 -DNO_X11=1 -DMMAP_MISSES_WRITES=1
-DHAVE_STRERROR=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1
-DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DMOZ_DEFAULT_TOOLKIT=\"windows\"
-DMOZ_XULRUNNER=1 -DMOZ_BUILD_APP=xulrunner -DMOZ_XUL_APP=1
-DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DOJI=1 -DIBMBIDI=1
-DMOZ_VIEW_SOURCE=1 -DMOZ_XPINSTALL=1 -DMOZ_JSLOADER=1 -DMOZ_XTF=1
-DMOZ_MATHML=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_LOGGING=1
-DHAVE___CXA_DEMANGLE=1 -DMOZ_USER_DIR=\"Mozilla\"
-DMOZ_ENABLE_LIBXUL=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1
-DMOZ_DLL_SUFFIX=\".dll\" -DJS_THREADSAFE=1 -DNS_PRINT_PREVIEW=1
-DNS_PRINTING=1 -DMOZILLA_LOCALE_VERSION=\"1.8\"
-DMOZILLA_REGION_VERSION=\"1.8\" -DMOZILLA_SKIN_VERSION=\"1.8\"
-D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT
/cygdrive/d/xulrunner/mozilla/toolkit/library/nsStaticXULComponents.cpp
rm -f xul.dll
/cygdrive/d/xulrunner/mozilla/build/cygwin-wrapper g++ -mno-cygwin
-shared -Wl,--out-implib -Wl,libxul.dll.a -Wl,--export-all-symbols -o
xul.dll nsStaticXULComponents.o ./module.res -Wl,--whole-archive
../../dist/lib/libxpcom_core.a ../../dist/lib/libxpcom_compat.a
../../dist/lib/libunicharutil_s.a ../../dist/lib/libucvutil_s.a
../../dist/lib/libgkgfx.a ../../dist/lib/libgfxshared_s.a
../../dist/lib/libxulapp_s.a ../../dist/lib/libjsj.a
../../dist/lib/components/libxpcom_compat_c.a
../../dist/lib/components/libxpconnect.a
../../dist/lib/components/libnecko.a
../../dist/lib/components/libuconv.a
../../dist/lib/components/libi18n.a
../../dist/lib/components/libjar50.a
../../dist/lib/components/libpref.a ../../dist/lib/components/libcaps.a
../../dist/lib/components/librdf.a
../../dist/lib/components/libhtmlpars.a
../../dist/lib/components/libimglib2.a
../../dist/lib/components/libgkplugin.a
../../dist/lib/components/libgklayout.a
../../dist/lib/components/libdocshell.a
../../dist/lib/components/libembedcomponents.a
../../dist/lib/components/libwebbrwsr.a
../../dist/lib/components/libeditor.a
../../dist/lib/components/libnsappshell.a
../../dist/lib/components/libtxmgr.a
../../dist/lib/components/libcomposer.a
../../dist/lib/components/libchrome.a
../../dist/lib/components/libmork.a
../../dist/lib/components/libmozfind.a
../../dist/lib/components/libappcomps.a
../../dist/lib/components/libcommandlines.a
../../dist/lib/components/libtoolkitcomps.a
../../dist/lib/components/libxpinstall.a
../../dist/lib/components/libjsd.a
../../dist/lib/components/libintlcmpt.a
../../dist/lib/components/libucvmath.a
../../dist/lib/components/libnecko2.a
../../dist/lib/components/libimgicon.a
../../dist/lib/components/libgkgfxwin.a
../../dist/lib/components/libgkwidget.a
../../dist/lib/components/liboji.a -Wl,--no-whole-archive
-L../../dist/bin -L../../dist/lib -L../../dist/lib -ljpeg3250
-L../../dist/lib -lpng -L../../dist/lib -ljs3250 -L../../dist/lib
-lmozz -L../../dist/lib -lnspr4 -lplc4 -lplds4 -lshell32 -lole32
-luuid -lversion -lwinspool -lComdlg32 -lgdi32 -lm
../../dist/lib/libxpcom_compat.a(nsSpecialSystemDirectory.o)(.bss+0x0):nsSpecialSystemDirectory.cpp:
multiple definition of `gGetSpecialPathProc'
../../dist/lib/libxpcom_core.a(SpecialSystemDirectory.o)(.bss+0x0):SpecialSystemDirectory.cpp:
first defined here
d:/xulrunner/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../libuuid.dll.a(uuid.o)(.rdata+0x6c0):uuid.c:
multiple definition of `IID_IPersistFile'
../../dist/lib/libxpcom_compat.a(nsFileSpec.o)(.rdata+0x4):nsFileSpec.cpp:
first defined here
Creating library file: libxul.dll.a
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x1bb):nsUnicharUtils.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x201):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZN18nsAString_internal17GetWritableBufferEPPw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x217):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZN18nsAString_internal17GetWritableBufferEPPw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x260):nsUnicharUtils.cpp:
undefined reference to `_imp___ZN11nsSubstring13EnsureMutableEv@4'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x2b2):nsUnicharUtils.cpp:
undefined reference to `_imp___ZN11nsSubstring13EnsureMutableEv@4'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x320):nsUnicharUtils.cpp:
undefined reference to `_imp___ZNK18nsAString_internal6LengthEv@4'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x32a):nsUnicharUtils.cpp:
undefined reference to `_imp___ZN18nsAString_internal9SetLengthEj@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x334):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZN18nsAString_internal17GetWritableBufferEPPw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x353):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZNK18nsAString_internal17GetReadableBufferEPPKw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x36a):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZNK18nsAString_internal17GetReadableBufferEPPKw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x3cf):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZN18nsAString_internal17GetWritableBufferEPPw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x3e5):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZN18nsAString_internal17GetWritableBufferEPPw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x42e):nsUnicharUtils.cpp:
undefined reference to `_imp___ZN11nsSubstring13EnsureMutableEv@4'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x480):nsUnicharUtils.cpp:
undefined reference to `_imp___ZN11nsSubstring13EnsureMutableEv@4'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x4ee):nsUnicharUtils.cpp:
undefined reference to `_imp___ZNK18nsAString_internal6LengthEv@4'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x4f8):nsUnicharUtils.cpp:
undefined reference to `_imp___ZN18nsAString_internal9SetLengthEj@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x502):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZN18nsAString_internal17GetWritableBufferEPPw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x521):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZNK18nsAString_internal17GetReadableBufferEPPKw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x538):nsUnicharUtils.cpp:
undefined reference to
`_imp___ZNK18nsAString_internal17GetReadableBufferEPPKw@8'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text+0x5ba):nsUnicharUtils.cpp:
undefined reference to `_imp___ZTV25nsDefaultStringComparator'
../../dist/lib/libunicharutil_s.a(nsUnicharUtils.o)(.text$_Z14CallGetServiceI17nsICaseConversionEjPKcPPT_[unsigned
int CallGetService<nsICaseConversion>(char const*,
nsICaseConversion**)]+0x1e):nsUnicharUtils.cpp: undefined reference to
`_imp___Z14CallGetServicePKcRK4nsIDPPv'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x18):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCharTraitsIcE12sEmptyBufferE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x1f):nsRDFResource.cpp:
undefined reference to
`_imp___ZN18nsObsoleteACString16sCanonicalVTableE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x5c):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCharTraitsIcE12sEmptyBufferE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x63):nsRDFResource.cpp:
undefined reference to
`_imp___ZN18nsObsoleteACString16sCanonicalVTableE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0xb1):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0xb9):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0xd9):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x121):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x155):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x15d):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x17d):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x1c5):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x1f9):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x201):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x221):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x269):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x460):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCSubstring6AssignEPKcj@12'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x4c9):nsRDFResource.cpp:
undefined reference to `_imp___Z12ToNewCStringRK19nsACString_internal'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x4f3):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internal6AssignERKS_@8'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x534):nsRDFResource.cpp:
undefined reference to `_imp___ZNK12nsCSubstring6EqualsEPKc@8'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x590):nsRDFResource.cpp:
undefined reference to `_imp___ZNK12nsCSubstring6EqualsEPKc@8'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x5a7):nsRDFResource.cpp:
undefined reference to
`_imp___ZN18nsObsoleteACString16sCanonicalVTableE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x5de):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCSubstring6AssignEPKcj@12'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x5fa):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCSubstring7ReplaceEjjPKcj@20'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x61d):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCSubstring7ReplaceEjjPKcj@20'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x63b):nsRDFResource.cpp:
undefined reference to `_imp___ZNK12nsCSubstring8FindCharEcj@12'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x647):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCharTraitsIcE12sEmptyBufferE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x64f):nsRDFResource.cpp:
undefined reference to
`_imp___ZN18nsObsoleteACString16sCanonicalVTableE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x684):nsRDFResource.cpp:
undefined reference to
`_imp___ZN21nsDependentCSubstring6RebindERK12nsCSubstringjj'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x6a5):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCSubstring7ReplaceEjjPKcj@20'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x6b0):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x6bb):nsRDFResource.cpp:
undefined reference to `_imp___ZTV28nsCreateInstanceByContractID'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x701):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x70a):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x75d):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x766):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x77f):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCharTraitsIcE12sEmptyBufferE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x787):nsRDFResource.cpp:
undefined reference to
`_imp___ZN18nsObsoleteACString16sCanonicalVTableE'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x7ce):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x7d7):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x7ee):nsRDFResource.cpp:
undefined reference to `_imp___ZN12nsCSubstring6AssignEPKcj@12'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x833):nsRDFResource.cpp:
undefined reference to
`_imp___ZN13nsCOMPtr_base25assign_from_qi_with_errorERK25nsQueryInterfaceWithErrorRK4nsID@12'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x848):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x850):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x87d):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x886):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x8ce):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x8d7):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x912):nsRDFResource.cpp:
undefined reference to `_imp___ZNK12nsCSubstring6EqualsEPKc@8'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x928):nsRDFResource.cpp:
undefined reference to `_imp___ZN13nsCOMPtr_baseD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text+0x930):nsRDFResource.cpp:
undefined reference to `_imp___ZN19nsACString_internalD2Ev@4'
../../dist/lib/components/librdf.a(nsRDFResource.o)(.text$_ZN8nsCOMPtrI21nsIRDFDelegateFactoryEC1ERK15nsCOMPtr_helper[nsCOMPtr<nsIRDFDelegateFactory>::nsCOMPtr(nsCOMPtr_helper
const&)]+0x24):nsRDFResource.cpp: undefined reference to
`_imp___ZN13nsCOMPtr_base18assign_from_helperERK15nsCOMPtr_helperRK4nsID@12'
collect2: ld returned 1 exit status
make[3]: *** [xul.dll] Error 1
make[3]: Leaving directory
`/cygdrive/d/xulrunner/mozilla/toolkit/library'
make[2]: *** [tier_50] Error 2
make[2]: Leaving directory `/cygdrive/d/xulrunner/mozilla'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/cygdrive/d/xulrunner/mozilla'
make: *** [build] Error 2
------
I appreciate any pointers on a possible fix. If any other information
would be helpful just let me know and I will provide it.