ports/55186: Doxygen 1.3.1 build fails on Alpha
Idar Tollefsen
idart at performancedesign.no
Sat Aug 2 15:40:11 UTC 2003
>Number: 55186
>Category: ports
>Synopsis: Doxygen 1.3.1 build fails on Alpha
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Sat Aug 02 08:40:09 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Idar Tollefsen
>Release: FreeBSD 4.8-STABLE alpha
>Organization:
Performance Design
>Environment:
System: FreeBSD blackbird.performancedesign.no 4.8-STABLE FreeBSD 4.8-STABLE #0: Tue Jul 22 06:55:45 CEST 2003 idart at blackbird.performancedesign.no:/usr/obj/usr/src/sys/BLACKBIRD alpha
>Description:
Doxygen (1.3.1) fails to build from ports on an Alpha. Here's the
last part of the output:
gmake[2]: Entering directory `/usr/ports/devel/doxygen/work/doxygen-1.3.1/src'
c++ -c -O1 -pipe -mcpu=ev56 -D_THREAD_SAFE -Wall -W -I../qtools -I../libpng -I. -o ../objects/main.o main.cpp
c++ -o ../bin/doxygen ../objects/main.o -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -pthread
/usr/libexec/elf/ld: ../lib/libdoxygen.a(language.o): .got subsegment exceeds 64K (size 94168)
/usr/libexec/elf/ld: failed to set dynamic section sizes: File format not recognized
The error indicates that ld can't have more than 64K symbols in any
one object file, but apparently languages.o has more.
This seems to be Alpha spesific, as all references I found to it was
from Linux/Alpha users, but I'm not 100% sure.
>How-To-Repeat:
Try to build Doxygen 1.3.1 from ports/devel/doxygen on an Alpha.
In my case, I did the build with HAVE_LATEX=yes, but that's not
significant.
>Fix:
I've attached a patch against the ports' makefile that changes the default
build to only build with English, as opposed to all supported languages
which is the default now. I've also added a WITH-LANGS switch which will
allow building with other languages.
The suggested output should be changed, as the configure script isn't
available .pre-everyting, but you get the point.
I propose to apply this regardless of platform (Alpha or not) since I
can't imagine anyone actually needing all the supported languanges. And
with the WITH_LANGS switch, it should be easy enough to add this to
pkgtools.conf for automatic builds.
With this applied, I was able to build Doxygen with WITH_LANGS=no (no
as in "Norwegian", not no as opposed to yes).
One more thing; I've seen some package build logs for Doxygen on Alpha
that indicates the build as "runaway". This happens while compiling
a Flex generated config.cpp. It's actually not "runaway", it just takes
an awfull long time to compile that file (between 12 and 24 hours on my
164LX, 533MHz).
--- Makefile.patch begins here ---
--- Makefile.orig Wed Jul 9 07:15:56 2003
+++ Makefile Sat Aug 2 16:52:36 2003
@@ -49,6 +49,12 @@
PLIST_SUB+= HAVE_DOXYWIZARD="@comment "
.endif # !WITHOUT_DOXYWIZARD
+.if defined(WITH_LANGS)
+CONFIGURE_ARGS+=--enable-langs ${WITH_LANGS}
+.else
+CONFIGURE_ARGS+=--english-only
+.endif #WITH_LANGS
+
USE_PERL5= yes
HAS_CONFIGURE= yes
USE_GMAKE= yes
@@ -56,8 +62,9 @@
CONFIGURE_ARGS+=--prefix ${PREFIX} --perl ${PERL} --make ${GMAKE} \
--install "${INSTALL}"
-.if !defined(NOPORTDOCS) && !defined(HAVE_LATEX)
+.if (!defined(NOPORTDOCS) && !defined(HAVE_LATEX)) || (!defined(WITH_LANGS))
pre-everything::
+.if !defined(NOPORTDOCS) && !defined(HAVE_LATEX)
@${ECHO_MSG}
@${ECHO_MSG} "================================================="
@${ECHO_MSG} "If you want DVI, Postscript, and PDF documentation"
@@ -66,6 +73,21 @@
@${ECHO_MSG} "================================================="
@${ECHO_MSG}
.endif # !defined(NOPORTDOCS) && !defined(HAVE_LATEX)
+.if !defined(WITH_LANGS)
+ @${ECHO_MSG}
+ @${ECHO_MSG} "================================================="
+ @${ECHO_MSG} "If you want to enable support for languages other"
+ @${ECHO_MSG} "than English, hit Ctrl-C right now and use"
+ @${ECHO_MSG} "\"make WITH_LANGS=list\", where list is a comma"
+ @${ECHO_MSG} "separated list of languages (two letters). See"
+ @${ECHO_MSG} "\"http://www.stack.nl/~dimitri/doxygen/langhowto.html\""
+ @${ECHO_MSG} "for a list of supported languages, or run"
+ @${ECHO_MSG} "\"${WRKSRC}/configure --help\""
+ @${ECHO_MSG} "to see the list of supported two letter notations."
+ @${ECHO_MSG} "================================================="
+ @${ECHO_MSG}
+.endif # !defined(WITH_LANGS)
+.endif # (!defined(NOPORTDOCS) && !defined(HAVE_LATEX)) || (!defined(WITH_LANGS))
pre-configure:
@${PERL} -pi -e "s:gcc:${CC}:g; \
--- Makefile.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list