Closed
Bug 392857
Opened 18 years ago
Closed 18 years ago
Can't build Fx 3.0a8pre with gcc 4.2.1
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: heinrich_witt, Assigned: kinetik)
Details
Attachments
(1 file)
317 bytes,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a8pre) Gecko/2007082012 Firefox/3.0a8pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a8pre) Gecko/2007082012 Firefox/3.0a8pre
I got this errors:
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:68: undefined reference to `curl_easy_init'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:72: undefined reference to `curl_easy_setopt'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:73: undefined reference to `curl_easy_setopt'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:88: undefined reference to `curl_formadd'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:94: undefined reference to `curl_formadd'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:96: undefined reference to `curl_easy_setopt'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:101: undefined reference to `curl_slist_append'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:102: undefined reference to `curl_easy_setopt'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:105: undefined reference to `curl_easy_setopt'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:107: undefined reference to `curl_easy_setopt'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:110: undefined reference to `curl_easy_perform'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:119: undefined reference to `curl_easy_cleanup'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:121: undefined reference to `curl_formfree'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:123: undefined reference to `curl_slist_free_all'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:78: undefined reference to `curl_easy_setopt'
/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client/http_upload.cc:76: undefined reference to `curl_easy_setopt'
/usr/bin/ld: crashreporter: hidden symbol `curl_easy_perform' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[6]: *** [crashreporter] Fehler 1
make[6]: Leaving directory `/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter/client'
make[5]: *** [libs] Fehler 2
make[5]: Leaving directory `/home/heinz/fx_source_trunk/mozilla/toolkit/crashreporter'
make[4]: *** [libs] Fehler 2
make[4]: Leaving directory `/home/heinz/fx_source_trunk/mozilla/toolkit'
make[3]: *** [libs_tier_toolkit] Fehler 2
make[3]: Leaving directory `/home/heinz/fx_source_trunk/mozilla'
make[2]: *** [tier_toolkit] Fehler 2
make[2]: Leaving directory `/home/heinz/fx_source_trunk/mozilla'
make[1]: *** [default] Fehler 2
make[1]: Leaving directory `/home/heinz/fx_source_trunk/mozilla'
make: *** [build] Fehler 2
If I disable the crashreporter, then the Fx3 is built perfectly.
Reproducible: Always
Steps to Reproduce:
1.build with GCC 4.2.1 on Sidux 32bit
2.
3.
Actual Results:
build fails
Expected Results:
build fine ;-)
Reporter | ||
Updated•18 years ago
|
Version: unspecified → Trunk
Comment 1•18 years ago
|
||
It looks like you don't have libcurl installed. configure tests for it, did you check the output ? Is it really gcc 4.2.1 specific ?
Severity: critical → normal
Reporter | ||
Comment 2•18 years ago
|
||
Libcurl is installed.
With gcc 4.1.2 all builds fine.
Comment 3•18 years ago
|
||
As Breakpad is used by a bunch of apps, over to Core::Build Config
Component: General → Build Config
Product: Firefox → Core
QA Contact: general → build-config
Comment 4•18 years ago
|
||
Huh, sounds like something weird with your configuration. The configure test for libcurl is pretty straightforward:
http://mxr.mozilla.org/mozilla/source/configure.in#5334
Reporter | ||
Comment 5•18 years ago
|
||
At my configuration? It functions with GCC 4.1.2 perfectly. And I changed nothing.
Comment 6•18 years ago
|
||
Yes, I mean your gcc 4.2.1 configuration. Was it configured differently? Also, are you running configure again when using the different compiler?
Reporter | ||
Comment 7•18 years ago
|
||
I build the Fx with GCC 4.2.1 in a completely different directory. Configure goes through thus in each case completely again.
Comment 8•18 years ago
|
||
Could you look in config.log and find the relevant output from the test (searching for curl should be sufficient) and paste it here?
Reporter | ||
Comment 9•18 years ago
|
||
GCC 4.1.2:
configure:15091: checking for libcurl
configure:15103: gcc -o conftest -pthread -lpthread -lcurl conftest.c -ldl -lm 1>&5
GCC 4.2.1:
configure:15091: checking for libcurl
configure:15103: /usr/bin/gcc-4.2 -o conftest -pthread -lpthread -lcurl conftest.c -ldl -lm 1>&5
But gcc 4.1.2 build. 4.2.1 not!
Why?
Reporter | ||
Comment 10•18 years ago
|
||
Now the next error with GCC 4.2.1
In Sidux 2007-3.1 now GCC 4.2.1 is standard.
Und i got this error:
rm -f libxul.so
c++ -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -
Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-lo
ng-long -pedantic -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O3 -march=at
hlon64 -msse3 -freorder-blocks -fno-reorder-functions -gstabs+ -D_FORTIFY_SOURCE
=2 -fPIC -shared -Wl,-z,defs -Wl,-h,libxul.so -o libxul.so nsStaticXULComponent
s.o nsUnicharUtils.o nsCompressedCharMap.o nsBidiUtils.o nsRDFResource.o -lpt
hread -Wl,--whole-archive ../../embedding/browser/gtk/src/libgtkembedmoz.a ..
/../toolkit/xre/libxulapp_s.a ../../staticlib/components/libxpconnect.a ../../s
taticlib/components/libnecko.a ../../staticlib/components/libuconv.a ../../stati
clib/components/libi18n.a ../../staticlib/components/libchardet.a ../../staticli
b/components/libjar50.a ../../staticlib/components/libpref.a ../../staticlib/com
ponents/libcaps.a ../../staticlib/components/libhtmlpars.a ../../staticlib/compo
nents/libimglib2.a ../../staticlib/components/libgklayout.a ../../staticlib/comp
onents/libdocshell.a ../../staticlib/components/libembedcomponents.a ../../stati
clib/components/libwebbrwsr.a ../../staticlib/components/libnsappshell.a ../../s
taticlib/components/libtxmgr.a ../../staticlib/components/libchrome.a ../../stat
iclib/components/libcommandlines.a ../../staticlib/components/libtoolkitcomps.a
../../staticlib/components/libpipboot.a ../../staticlib/components/libpipnss.a .
./../staticlib/components/libxmlextras.a ../../staticlib/components/libgkplugin.
a ../../staticlib/components/libmozfind.a ../../staticlib/components/libappcomps
.a ../../staticlib/components/libxpinstall.a ../../staticlib/components/libjsd.a
../../staticlib/components/libautoconfig.a ../../staticlib/components/libauth.a
../../staticlib/components/libcookie.a ../../staticlib/components/libpermission
s.a ../../staticlib/components/libuniversalchardet.a ../../staticlib/components/
libcomposer.a ../../staticlib/components/librdf.a ../../staticlib/components/lib
windowds.a ../../staticlib/components/libintlapp.a ../../staticlib/components/li
bfileview.a ../../staticlib/components/libstoragecomps.a ../../staticlib/compone
nts/libplaces.a ../../staticlib/components/libtkautocomplete.a ../../staticlib/c
omponents/libsatchel.a ../../staticlib/components/libpippki.a ../../staticlib/co
mponents/libucvmath.a ../../staticlib/components/libwidget_gtk2.a ../../staticli
b/components/libsystem-pref.a ../../staticlib/components/libgkgfxthebes.a ../../
staticlib/components/liboji.a ../../staticlib/components/libaccessibility.a ../.
./staticlib/components/libremoteservice.a ../../staticlib/components/libspellche
cker.a ../../staticlib/libxpcom_core.a ../../staticlib/libucvutil_s.a ../../stat
iclib/libgkgfx.a ../../staticlib/libgfxshared_s.a ../../staticlib/libmozreg_s.a
../../staticlib/libmorkreader_s.a ../../staticlib/libgtkxtbin.a ../../staticlib/
libgfxpsshar.a ../../staticlib/libthebes.a ../../staticlib/libjsj.a -Wl,--no-wh
ole-archive -L../../dist/bin -L../../dist/lib -lsqlite3 -Wl,-rpath-link,../../d
ist/bin -L../../dist/bin -L../../dist/lib -L../../jpeg -lmozjpeg -L../../modules
/libimg/png -lmozpng -L../../dist/bin -lmozlcms -L../../dist/bin -lmozjs -L../..
/dist/bin -L../../dist/lib -lcrmf -lsmime3 -lssl3 -lnss3 -lsoftokn3 -L../../mod
ules/zlib/src -lmozz -lpangoxft-1.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lg
module-2.0 -ldl -lglib-2.0 -L../../gfx/cairo/cairo/src -lmozcairo -L../../gfx/
cairo/libpixman/src -lmozlibpixman -lXrender -lfreetype -lfontconfig -L../../d
ist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lX11 -lXft -lfontconfig -lgtk
-x11-2.0 -latk-1.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontcon
fig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lc
airo -lgmodule-2.0 -ldl -lX11 -lgobject-2.0 -lglib-2.0 -lXt -lgthread-2.0 -lfr
eetype -lz -ldl -lm
../../staticlib/components/libpipnss.a(nsNSSIOLayer.o): In function `nsNSS_SSLGe
tClientAuthData(void*, PRFileDesc*, CERTDistNamesStr*, CERTCertificateStr**, SEC
KEYPrivateKeyStr**)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp:20
82: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp:23
83: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsKeygenHandler.o): In function `decode_p
qg_params(char*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsKeygenHandler.cpp
:131: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsKeygenHandler.cpp
:152: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsKeygenHandler.cpp
:152: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsKeygenHandler.o): In function `nsKeygen
FormProcessor::GetPublicKey(nsAString_internal&, nsAString_internal&, nsString&,
nsAString_internal&, nsAString_internal&)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsKeygenHandler.cpp
:798: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsKeygenHandler.cpp
:559: undefined reference to `PORT_NewArena'
../../staticlib/components/libpipnss.a(nsCrypto.o): In function `nsCrypto::Impor
tUserCertificates(nsAString_internal const&, nsAString_internal const&, int, nsA
String_internal&)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsCrypto.cpp:2314:
undefined reference to `PORT_NewArena'
../../staticlib/components/libpipnss.a(nsCMSSecureMessage.o): In function `nsCMS
SecureMessage::SendMessage(char const*, char const*, char**)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsCMSSecureMessage.
cpp:178: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsCMSSecureMessage.
cpp:286: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsCMS.o): In function `nsCMSMessage::Crea
teEncrypted(nsIArray*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsCMS.cpp:443: unde
fined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsCMS.cpp:457: unde
fined reference to `PORT_NewArena'
../../staticlib/components/libpipnss.a(nsCMS.o): In function `nsZeroTerminatedCe
rtArray::~nsZeroTerminatedCertArray()':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSShutDown.hSad.t
ext._ZN25nsZeroTerminatedCertArray26virtualDestroyNSSReferenceEv[nsZeroTerminate
dCertArray::virtualDestroyNSSReference()]+0x5b): undefined reference to `PORT_Fr
eeArena'
../../staticlib/components/libpipnss.a(nsCMS.o): In function `nsCMSMessage::nsCM
SMessage()':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/../../../../dist/in
clude/pipnss/nsICMSMessage.h:34: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/../../../../dist/in
clude/pipnss/nsICMSMessage.h:34: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertHelper.o): In function `ProcessS
ubjectKeyId(SECItemStr*, nsAString_internal&, nsINSSComponent*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1156: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1160: undefined reference to `SEC_QuickDERDecodeItem'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1173: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertHelper.o): In function `ProcessA
uthKeyId(SECItemStr*, nsAString_internal&, nsINSSComponent*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1187: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1218: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertHelper.o): In function `ProcessA
uthInfoAccess(SECItemStr*, nsAString_internal&, nsINSSComponent*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1505: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1535: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertHelper.o): In function `ProcessC
rlDistPoints(SECItemStr*, nsAString_internal&, nsINSSComponent*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1413: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1491: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertHelper.o): In function `ProcessC
ertificatePolicies(SECItemStr*, nsAString_internal&, nsINSSComponent*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1256: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1324: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1295: undefined reference to `SEC_QuickDERDecodeItem'
../../staticlib/components/libpipnss.a(nsNSSCertHelper.o): In function `ProcessE
xtensionData(SECOidTag, SECItemStr*, nsAString_internal&, nsINSSComponent*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1131: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:1142: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:974: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertHelper.cpp
:982: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertificateDB.o): In function `nsNSS
CertificateDB::ImportUserCertificate(unsigned char*, unsigned int, nsIInterfaceR
equestor*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:888: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:944: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:944: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertificateDB.o): In function `nsNSS
CertificateDB::ImportServerCertificate(unsigned char*, unsigned int, nsIInterfac
eRequestor*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:661: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:667: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:708: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertificateDB.o): In function `nsNSS
CertificateDB::ImportEmailCertificate(unsigned char*, unsigned int, nsIInterface
Requestor*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:529: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:535: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:642: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsNSSCertificateDB.o): In function `nsNSS
CertificateDB::ImportCertificates(unsigned char*, unsigned int, unsigned int, ns
IInterfaceRequestor*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:465: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:471: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:502: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsNSSCertificateDB.
cpp:477: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsCRLManager.o): In function `nsCRLManage
r::DeleteCrl(unsigned int)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsCRLManager.cpp:42
0: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsCRLManager.o): In function `nsCRLManage
r::GetCrls(nsIArray**)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsCRLManager.cpp:37
9: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsCRLManager.o): In function `nsCRLManage
r::ImportCrl(unsigned char*, unsigned int, nsIURI*, unsigned int, int, unsigned
short const*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsCRLManager.cpp:10
5: undefined reference to `PORT_NewArena'
../../staticlib/components/libpipnss.a(nsDataSignatureVerifier.o): In function `
nsDataSignatureVerifier::VerifyData(nsACString_internal const&, nsACString_inter
nal const&, nsACString_internal const&, int*)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsDataSignatureVeri
fier.cpp:67: undefined reference to `PORT_NewArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsDataSignatureVeri
fier.cpp:92: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsDataSignatureVeri
fier.cpp:115: undefined reference to `PORT_FreeArena'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsDataSignatureVeri
fier.cpp:112: undefined reference to `SEC_QuickDERDecodeItem'
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsDataSignatureVeri
fier.cpp:129: undefined reference to `PORT_FreeArena'
../../staticlib/components/libpipnss.a(nsDataSignatureVerifier.o): In function `
nsDataSignatureVerifier::QueryInterface(nsID const&, void**)':
/home/heinz/fx_source_trunk/mozilla/security/manager/ssl/src/nsDataSignatureVeri
fier.cpp:45: undefined reference to `SECOID_AlgorithmIDTemplate'
../../dist/lib/libcrmf.a(crmftmpl.o)Sad.data.rel.ro+0x198): undefined reference t
o `SECOID_AlgorithmIDTemplate'
../../dist/lib/libcrmf.a(crmftmpl.o)Sad.data.rel.ro+0x1a8): undefined reference t
o `SECOID_AlgorithmIDTemplate'
../../dist/lib/libcrmf.a(crmftmpl.o)Sad.data.rel.ro+0x1c8): undefined reference t
o `SECOID_AlgorithmIDTemplate'
../../dist/lib/libcrmf.a(crmftmpl.o)Sad.data.rel.ro+0x258): undefined reference t
o `SECOID_AlgorithmIDTemplate'
../../dist/lib/libcrmf.a(crmftmpl.o)Sad.data.rel.ro+0x308): more undefined refere
nces to `SECOID_AlgorithmIDTemplate' follow
../../dist/lib/libcrmf.a(crmfreq.o): In function `CRMF_DestroyCertReqMessages':
crmfreq.cSad.text+0xe8): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(crmfreq.o): In function `CRMF_DestroyCertReqMsg':
crmfreq.cSad.text+0x1c2): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(crmfreq.o): In function `CRMF_DestroyCertRequest':
crmfreq.cSad.text+0x22f): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(crmfreq.o): In function `CRMF_CreateCertReqMsg':
crmfreq.cSad.text+0x3ef): undefined reference to `PORT_NewArena'
crmfreq.cSad.text+0x428): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(crmfreq.o): In function `CRMF_CreateCertRequest':
crmfreq.cSad.text+0x7b4): undefined reference to `PORT_NewArena'
crmfreq.cSad.text+0x7ff): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(crmfcont.o): In function `crmf_encrypted_value_unwrap_p
riv_key':
crmfcont.cSad.text+0x62f): undefined reference to `PORT_NewArena'
crmfcont.cSad.text+0x691): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(respcli.o): In function `CMMF_CreateCertRepContentFromD ER':
respcli.cSad.text+0x1cc): undefined reference to `PORT_NewArena'
respcli.cSad.text+0x273): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(respcmn.o): In function `CMMF_DestroyPOPODecKeyChallCon tent':
respcmn.cSad.text+0x89c): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(respcmn.o): In function `CMMF_DestroyCertRepContent':
respcmn.cSad.text+0x950): undefined reference to `PORT_FreeArena'
../../dist/lib/libcrmf.a(asn1cmn.o)Sad.data.rel.ro+0x178): undefined reference to `SECOID_AlgorithmIDTemplate'
/usr/bin/ld: libxul.so: hidden symbol `PORT_NewArena' isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status
make[4]: *** [libxul.so] Fehler 1
make[4]: Leaving directory `/home/heinz/fx_source_trunk/mozilla/toolkit/library'
make[3]: *** [libs_tier_toolkit] Fehler 2
make[3]: Leaving directory `/home/heinz/fx_source_trunk/mozilla'
make[2]: *** [tier_toolkit] Fehler 2
make[2]: Leaving directory `/home/heinz/fx_source_trunk/mozilla'
make[1]: *** [default] Fehler 2
make[1]: Leaving directory `/home/heinz/fx_source_trunk/mozilla'
make: *** [build] Fehler 2
Comment 11•18 years ago
|
||
I can see this, too. Same GCC, Debian testing/unstable, SeaMonkey trunk (2.0a).
Assignee | ||
Comment 12•18 years ago
|
||
I ran into the same compile failure as seen in comment #1 after my GCC was upgraded to 4.2 (gcc version 4.2.1 (Debian 4.2.1-6)).
config.cache from a GCC 4.2 build:
ac_cv_have_visibility_builtin_bug=${ac_cv_have_visibility_builtin_bug=no}
ac_cv_have_visibility_class_bug=${ac_cv_have_visibility_class_bug=no}
config.cache from a GCC 4.1 build:
ac_cv_have_visibility_builtin_bug=${ac_cv_have_visibility_builtin_bug=no}
ac_cv_have_visibility_class_bug=${ac_cv_have_visibility_class_bug=yes}
This means we end up with a forced include of config/gcc_hidden.h when building with GCC 4.2. When http_upload.cc is compiled with this forced include, the external curl symbols end up being hidden:
toolkit/crashreporter/client% objdump -t *.o | grep curl
00000000 *UND* 00000000 .hidden curl_easy_init
This happens because /usr/include/curl/curl.h isn't set up to deal with symbol visibility on non-WIN32 platforms. As a hack, compiling http_upload.cc with the defines -DCURL_HIDDEN_SYMBOLS -DCURL_EXTERN_SYMBOL='__attribute__((visibility("default")))' allows crashreporter to compile and link successfully.
Comment 13•18 years ago
|
||
I am unsurprised that this is a visibility issue. Our official tinderboxes are using the RedHat branch of gcc 4.1.1, which includes some visibility fixes. I'm not sure if those are in 4.2 or not.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 14•18 years ago
|
||
Perhaps I misundertood what you're saying, but I don't think this is a GCC issue. As far as I can see, the problem is that the Curl header files do not use the GCC visibility attributes and aren't prepared to be compiled in a situation where the default visibility is hidden (as it is when config/gcc_hidden.h is included).
With GCC 4.1 (at least, with gcc version 4.1.3 20070831 (prerelease) (Debian 4.1.2-16)--I don't know about the 4.1 on the tinderboxes, I don't know if I can see their config.cache), we don't end up including config/gcc_hidden.h, so we build http_upload.cc (and everything else, presumably) with default visibility. With 4.2, we include config/gcc_hidden.h and compile http_upload.cc with visibility defaulting to hidden, which causes the problems with the Curl headers.
For example, looking at curl/curl.h and curl/easy.h from libcurl 7.17.0, CURL_EXTERN is only defined if building on Win32 or if the file is being compiled during the libcurl build only:
/*
* Decorate exportable functions for Win32 DLL linking.
* This avoids using a .def file for building libcurl.dll.
*/
#if (defined(WIN32) || defined(_WIN32)) && !defined(CURL_STATICLIB)
#if defined(BUILDING_LIBCURL)
#define CURL_EXTERN __declspec(dllexport)
#else
#define CURL_EXTERN __declspec(dllimport)
#endif
#else
#ifdef CURL_HIDDEN_SYMBOLS
/*
* This definition is used to make external definitions visibile in the
* shared library when symbols are hidden by default. It makes no
* difference when compiling applications whether this is set or not,
* only when compiling the library.
*/
#define CURL_EXTERN CURL_EXTERN_SYMBOL
#else
#define CURL_EXTERN
#endif
...and then looking at one of the problem symbols...
CURL_EXTERN CURL *curl_easy_init(void);
...where presumably CURL_EXTERN_SYMBOL is defined by the libcurl configure/build scripts to use the appropriate GCC/compiler specific visibility attributes. So a program using libcurl headers (i.e. outside of their build system) will end up with CURL_EXTERN undefined, resulting in curl_easy_init picking up the default visibility.
I think the right thing to do is submit a patch upstream to fix the Curl headers... but the rules for the header files state that you're only allowed to use preprocessor defines to alter the build behaviour, and I'm not sure that the GCC symbol visibility behaviour can be detected reliably via preprocessor defines. Perhaps it would be safe just to define CURL_EXTERN to __attribute__((visibility ("default"))) if the user is using GCC >= 4 and is on an ELF system, but I'm not sure.
Comment 15•18 years ago
|
||
There appear to be two different bugs here: the originally reported bug is about curl, and can and should be fixed in mozilla by adding the curl headers to config/system-headers. I'm surprised that this isn't affecting the trunk tinderboxes.
The other issue, with PORT_ symbols and others missing, is different and should be dealt with in a separate bug. It could be specific to the system-NSS case.
Assignee: nobody → ted.mielczarek
Flags: blocking1.9+
Flags: blocking1.8.1.9?
Assignee | ||
Comment 16•18 years ago
|
||
Updated•18 years ago
|
Assignee: ted.mielczarek → kinetik
Comment 17•18 years ago
|
||
Comment on attachment 284580 [details] [diff] [review]
Trivial config/system-headers patch works for me.
r=me, and I checked this in for you.
Attachment #284580 -
Flags: review+
Comment 18•18 years ago
|
||
Benjamin: I'm assuming you accidentally set blocking1.8.1.9?, since this code doesn't ship on that branch.
Status: NEW → RESOLVED
Closed: 18 years ago
Flags: blocking1.8.1.9?
Resolution: --- → FIXED
Comment 19•18 years ago
|
||
Hmm yeah, I misread the bug to be about fx200x as well.
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•