Closed
Bug 237487
Opened 21 years ago
Closed 21 years ago
SVG-enabled FireFox fails to build due missing |alloca()| symbol
Categories
(Core :: SVG, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: roland.mainz, Assigned: alex)
Details
Attachments
(1 file, 1 obsolete file)
558 bytes,
patch
|
benjamin
:
review+
tor
:
superreview+
mkaply
:
approval1.7+
|
Details | Diff | Splinter Review |
An attempt to build a SVG-enabled FireFox fails due missing |alloca()| symbol on
Solaris2.8/SPARC with Sun Workshop 8.
The failure occurs at the final link:
-- snip --
/opt/SUNWspro/bin/CC -o firefox-bin -I/usr/openwin/include -features=tmplife
-xbuiltin=%all -mt -DNDEBUG -DTRIMMED -xO2 nsBrowserApp.o
nsStaticComponents.o -xildoff -zlazyload -zcombreloc -L../../dist/bin
-L../../dist/lib -L../../dist/lib/components -lxpcom_compat_c -lxpconnect
-luconv -lucvmath -li18n -lctl -loji -lnecko -lnecko2 -lpref -lcaps -lrdf
-lhtmlpars -lgfxxprint -lgfx_gtk -limglib2 -lgkplugin -lwidget_gtk
-lxremote_client -lgklayout -lmork -ldocshell -lprofile -lnsprefm
-lembedcomponents -lwebbrwsr -leditor -ltxmgr -lcomposer -lnsappshell -lchrome
-laccessibility -lpipboot -lpipnss -lpippki -lfileview -lmozfind
-lxremoteservice -lappcomps -ltoolkitcomps -lcookie -lxmlextras -lautoconfig
-ltransformiix -luniversalchardet -ltypeaheadfind -lwebsrvcs -lnkfinger
-lnkdatetime -lbrowsercomps -lunicharutil_s -lucvutil_s -lmozpango -ljsj
-lgtksuperwin -lgtkxtbin -lgfxshared_s -lxlibrgb -lxprintutil -lgkgfx -lxulapp_s
../../dist/lib/libxulapp_s.a -L../../dist/bin -lmozjs -L../../dist/bin -lxpcom
-L/shared/bigtmp/mozilla/nightlybuilds/north/objdir_gtk1/dist/lib -lplds4 -lplc4
-lnspr4 -lpthread -ldl -lrt -L/usr/local/lib -L/usr/openwin/lib
-R/usr/openwin/lib -lgtk -lgdk -lgmodule -lglib -ldl -lXext -lX11 -lsocket -lnsl
-lm -lsocket -ldl -lm -L../../dist/lib/components -L../../dist/lib -lmozpng
-L../../dist/lib -lmozjpeg -L../../dist/lib -lmozz -L../../dist/bin
-L../../dist/lib ../../dist/lib/libcrmf.a -lsmime3 -lssl3 -lnss3 -lsoftokn3
-lmoz_art_lgpl -lm -L/usr/openwin/lib -R/usr/openwin/lib -lXt
-L/usr/openwin/lib -R/usr/openwin/lib -lXp -lXext -lX11 -L../../dist/lib
-lxpcom_compat
Undefined first referenced
symbol in file
alloca ../../dist/bin/libmoz_art_lgpl.so
ld: fatal: Symbol referencing errors. No output written to firefox-bin
gmake[3]: *** [firefox-bin] Error 1
gmake[3]: Leaving directory
`/shared/bigtmp/mozilla/nightlybuilds/north/objdir_gtk1/browser/app'
gmake[2]: *** [libs] Error 2
gmake[2]: Leaving directory
`/shared/bigtmp/mozilla/nightlybuilds/north/objdir_gtk1/browser'
gmake[1]: *** [tier_99] Error 2
gmake[1]: Leaving directory
`/shared/bigtmp/mozilla/nightlybuilds/north/objdir_gtk1'
gmake: *** [default] Error 2
-- snip --
![]() |
||
Comment 1•21 years ago
|
||
Note that the alloca manpage has the following to say:
CONFORMING TO
There is evidence that the alloca function appeared in 32v, pwb, pwb.2,
3bsd, and 4bsd. There is a man page for it in BSD 4.3. Linux uses the
GNU version. This function is not in POSIX or SUSv3.
BUGS
The alloca function is machine and compiler dependent. On many systems
its implementation is buggy. Its use is discouraged.
It looks like the problem is that the code at
http://lxr.mozilla.org/mozilla/source/other-licenses/libart_lgpl/art_render_gradient.c#35
will declare the function on your platform (which presumably does not define
HAS_ALLOCA_H) but will not implement it....
Reporter | ||
Comment 2•21 years ago
|
||
Talking myself... I have a fix for that...
Assignee: alex → roland.mainz
Reporter | ||
Updated•21 years ago
|
Status: NEW → ASSIGNED
Reporter | ||
Comment 3•21 years ago
|
||
Reporter | ||
Comment 4•21 years ago
|
||
Comment on attachment 143919 [details] [diff] [review]
Patch for 2004-03-14-trunk
Requesting r= and checkin (pacth not part of default build).
Attachment #143919 -
Flags: review?(alex)
![]() |
||
Comment 5•21 years ago
|
||
shouldn't we have a configure test for alloca.h? Something like
http://lxr.mozilla.org/mozilla/source/js2/configure#3180 ?
Assignee | ||
Comment 6•21 years ago
|
||
Comment on attachment 143919 [details] [diff] [review]
Patch for 2004-03-14-trunk
Boris is right. Rather than patching libart, we need
'AC_FUNC_ALLOCA' in configure.in so that HAVE_ALLOCA_H is set correctly.
Attachment #143919 -
Flags: review?(alex) → review-
Reporter | ||
Comment 7•21 years ago
|
||
(In reply to comment #6)
> (From update of attachment 143919 [details] [diff] [review])
> Boris is right. Rather than patching libart, we need
> 'AC_FUNC_ALLOCA' in configure.in so that HAVE_ALLOCA_H is set correctly.
Why has AIX then extra rules ? Or HP-UX ?
Reassining bug back to default over... better I don't touch configure.in, I
always cause bustage when I touch the build system.
Assignee: roland.mainz → alex
Status: ASSIGNED → NEW
Assignee | ||
Comment 8•21 years ago
|
||
(In reply to comment #7)
> Why has AIX then extra rules ? Or HP-UX ?
From the autoconf manual:
Source files that use `alloca' should start with a piece of code
like the following, to declare it properly. In some versions of
AIX, the declaration of `alloca' must precede everything else
except for comments and preprocessor directives. The `#pragma'
directive is indented so that pre-ANSI C compilers will ignore it,
rather than choke on it.
/* AIX requires this to be the first thing in the file. */
#ifndef __GNUC__
# if HAVE_ALLOCA_H
# include <alloca.h>
# else
# ifdef _AIX
#pragma alloca
# else
# ifndef alloca /* predefined by HP cc +Olibcalls */
char *alloca ();
# endif
# endif
# endif
#endif
Assignee | ||
Comment 9•21 years ago
|
||
Roland,
Try if this works.
Attachment #143919 -
Attachment is obsolete: true
Updated•21 years ago
|
Attachment #144027 -
Flags: review+
Assignee | ||
Updated•21 years ago
|
Attachment #144027 -
Flags: superreview?(tor)
Attachment #144027 -
Flags: approval1.7b?
Attachment #144027 -
Flags: superreview?(tor) → superreview+
Updated•21 years ago
|
Attachment #144027 -
Flags: approval1.7b? → approval1.7?
Reporter | ||
Comment 10•21 years ago
|
||
(In reply to comment #9)
> Roland,
> Try if this works.
I don't have autoconf installed on Solaris but it looks that the patch should
catch the issue...
Comment 11•21 years ago
|
||
Comment on attachment 144027 [details] [diff] [review]
configure.in patch
a=mkaply
Attachment #144027 -
Flags: approval1.7? → approval1.7+
Assignee | ||
Comment 12•21 years ago
|
||
checked in
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•