Opened 15 years ago
Closed 15 years ago
#20415 closed defect (fixed)
doxygen fails, attempting to link against system libiconv
Reported by: | conradwt (Conrad Taylor) | Owned by: | cssdev |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.0 |
Keywords: | snowleopard | Cc: | xellos@…, scott@…, lhunath@…, thedoobs@…, stefan.janecek@…, luis.beca@…, permezel@…, faisal.moledina@…, wolf.st.kappesser@…, dackze+macports@…, petr@…, gt@…, tumdum@…, eilemann@… |
Port: | doxygen |
Description (last modified by tobypeterson)
doxygen port failed to build to the below:
---> Building doxygen Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_doxygen/work/doxygen-1.5.9" && /usr/bin/make -j2 all " returned error 2 Command output: vhdldocgen.cpp:1605: warning: deprecated conversion from string constant to 'char*' vhdldocgen.cpp:1613: warning: deprecated conversion from string constant to 'char*' vhdldocgen.cpp:1615: warning: deprecated conversion from string constant to 'char*' vhdldocgen.cpp:1622: warning: deprecated conversion from string constant to 'char*' vhdldocgen.cpp:1624: warning: deprecated conversion from string constant to 'char*' vhdldocgen.cpp: In static member function 'static void VhdlDocGen::writeStringLink(const MemberDef*, QCString, OutputList&)': vhdldocgen.cpp:2447: warning: deprecated conversion from string constant to 'char*' /usr/bin/g++-4.2 -I/opt/local/include -c -pipe -D__FreeBSD__=6 -Wall -W -O2 -I../qtools -I../libpng -I../libmd5 -o ../objects/vhdlscanner.o vhdlscanner.cpp /usr/bin/g++-4.2 -I/opt/local/include -c -pipe -D__FreeBSD__=6 -Wall -W -O2 -I../qtools -I../libpng -I../libmd5 -o ../objects/xmldocvisitor.o xmldocvisitor.cpp vhdlscanner.l: In function 'void parseFunctionProto()': vhdlscanner.l:412: warning: suggest a space before ';' or explicit braces around empty body in 'while' statement /usr/bin/g++-4.2 -I/opt/local/include -c -pipe -D__FreeBSD__=6 -Wall -W -O2 -I../qtools -I../libpng -I../libmd5 -o ../objects/xmlgen.o xmlgen.cpp rm -f ../lib/libdoxygen.a ar cq ../lib/libdoxygen.a ../objects/ce_lex.o ../objects/ce_parse.o ../objects/classdef.o ../objects/classlist.o ../objects/cmdmapper.o ../objects/code.o ../objects/commentcnv.o ../objects/commentscan.o ../objects/cppvalue.o ../objects/debug.o ../objects/defgen.o ../objects/declinfo.o ../objects/defargs.o ../objects/define.o ../objects/definition.o ../objects/diagram.o ../objects/dirdef.o ../objects/docparser.o ../objects/docsets.o ../objects/doctokenizer.o ../objects/dot.o ../objects/doxygen.o ../objects/entry.o ../objects/filedef.o ../objects/filename.o ../objects/formula.o ../objects/ftvhelp.o ../objects/fortrancode.o ../objects/fortranscanner.o ../objects/groupdef.o ../objects/htags.o ../objects/htmldocvisitor.o ../objects/htmlgen.o ../objects/htmlhelp.o ../objects/indexlog.o ../objects/image.o ../objects/index.o ../objects/instdox.o ../objects/language.o ../objects/latexdocvisitor.o ../objects/latexgen.o ../objects/layout.o ../objects/logos.o ../objects/mandocvisitor.o ../objects/mangen.o ../objects/marshal.o ../objects/memberdef.o ../objects/membergroup.o ../objects/memberlist.o ../objects/membername.o ../objects/message.o ../objects/msc.o ../objects/namespacedef.o ../objects/objcache.o ../objects/outputgen.o ../objects/outputlist.o ../objects/pagedef.o ../objects/perlmodgen.o ../objects/pngenc.o ../objects/pre.o ../objects/pycode.o ../objects/pyscanner.o ../objects/qhp.o ../objects/qhpxmlwriter.o ../objects/reflist.o ../objects/rtfdocvisitor.o ../objects/rtfgen.o ../objects/rtfstyle.o ../objects/scanner.o ../objects/searchindex.o ../objects/store.o ../objects/tagreader.o ../objects/textdocvisitor.o ../objects/translator.o ../objects/util.o ../objects/version.o ../objects/vhdlcode.o ../objects/vhdldocgen.o ../objects/vhdlscanner.o ../objects/xmldocvisitor.o ../objects/xmlgen.o ranlib ../lib/libdoxygen.a /usr/bin/make -f Makefile.doxygen PERL=/opt/local/bin/perl all /usr/bin/g++-4.2 -I/opt/local/include -c -pipe -D__FreeBSD__=6 -Wall -W -O2 -I../qtools -I../libpng -I../libmd5 -I. -o ../objects/main.o main.cpp /usr/bin/g++-4.2 -Wl,-search_paths_first -o ../bin/doxygen ../objects/main.o -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5 -liconv Undefined symbols: "_libiconv_open", referenced from: _portable_iconv_open in libdoxycfg.a(portable_c.o) "_libiconv", referenced from: _portable_iconv in libdoxycfg.a(portable_c.o) "_libiconv_close", referenced from: _portable_iconv_close in libdoxycfg.a(portable_c.o) ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [../bin/doxygen] Error 1 make[1]: *** [all] Error 2 make: *** [all] Error 2 Error: The following dependencies failed to build: doxygen Error: Status 1 encountered during processing.
Change History (25)
comment:1 Changed 15 years ago by mf2k (Frank Schima)
Owner: | changed from macports-tickets@… to css@… |
---|
comment:2 Changed 15 years ago by cssdev
Status: | new → assigned |
---|
comment:3 Changed 15 years ago by conradwt (Conrad Taylor)
Yes, I was attempting to install doxygen version 1.5.9.
comment:4 Changed 15 years ago by tobypeterson
Looks like it is detecting libiconv_open (probably in macports' libiconv), but attempting to link against the system iconv, which doesn't contain the deprecated libiconv* symbols
comment:5 Changed 15 years ago by tobypeterson
Description: | modified (diff) |
---|---|
Summary: | doxygen failed to build → doxygen fails, attempting to link against system libiconv |
comment:6 follow-up: 7 Changed 15 years ago by cssdev
Is this something specific to an unreleased version of MacOS X? I'm unable to duplicate the problem with Leopard.
It should hopefully be a matter of adding TMAKE_LFLAGS = -L{$prefix}/lib
to the appropriate tmake.conf
.
comment:7 Changed 15 years ago by tobypeterson
Replying to css@…:
Is this something specific to an unreleased version of MacOS X? I'm unable to duplicate the problem with Leopard.
It should hopefully be a matter of adding
TMAKE_LFLAGS = -L{$prefix}/lib
to the appropriatetmake.conf
.
64-bit libiconv doesn't contain the deprecated symbols.
comment:16 Changed 15 years ago by tobypeterson
Cc: | wolf.st.kappesser@… added |
---|
comment:17 Changed 15 years ago by tobypeterson
FYI - this should still be fixable without access to Snow Leopard. Just check the linking of the final build product (using otool -L) and make sure it's not linking against the system libiconv. That's a bug regardless of the OS version.
comment:19 Changed 15 years ago by cssdev
I've been able to reproduce this error. I'll have to look into it after I return from travel. Doxygen needs to configure to include -L${prefix}/lib
on its link line.
comment:24 Changed 15 years ago by hans-bernd.duerr@…
Hello!
I'm very new to this community, but nevertheless I figured out a way to correct this bug:
- Install doxygen and get the error-message
- Perform a search for the packages, that macports downloaded - the easiest way is to search for the file "libdoxycfg.a"
find /opt/local/ | grep libdoxycfg.a
(my package directory is in
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_doxygen/work/doxygen-1.5.9/" )
- Go into the directory ./src
- Change the Makefile.doxygen by adding ${prefix}/include to the line INCPATH
e.g. INCPATH = -I../qtools -I../libpng -I../libmd5 -I. -I/opt/local/include
and by adding ${prefix}/lib to the line LIBS
e.g. LIBS = -L../lib -L/opt/local/lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5 -liconv
- Perform again
sudo port install doxygen
I hope this helps and maybe there is someone who can write an appropriate patch or even change the package.
comment:25 Changed 15 years ago by tobypeterson
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Is this a duplicate of #19851? Can you verify that this is the latest version of the port? This iconv stuff changed again?