On Thu, Feb 14, 2013 at 11:23:24PM +0100, Martin Costabel wrote:
> On 14/02/13 17:57, Alexander Hansen wrote:
>> On 2/14/13 7:24 AM, Jack Howarth wrote:
>>> Thomas,
>>> I am seeing the same failure with undefined symbols on fink 10.6 under
>>> Xcode 4.2. I believe you
>>> need to add the following change which eliminates the linkage failures here.
>
> I do not believe you when you say you had the same error as the one
> reported here by Fabio Diaolio and you fixed it as you claim you did. I
> does not make sense.
>
> The macports bugreport is different, it is in fact the opposite of what
> has been reported here. Look closely at the missing symbols. They are
> not the same.
>
> In their case, there was in fact a -L%p/lib missing on the link line. In
> our case, this is not missing, and the error message indicates indeed
> that the linker picked up Fink's libiconv.dylib (which has
> _libiconv_open) and not /usr/lib/libiconv.dylib (which has _iconv_open).
>
> In our case, the problem was not at the linker stage, but at the
> compilation stage, where a wrong iconv.h was picked up.
>
> []
>>> This hack has been used by MacPorts for the last three years to eliminate
>>> the same problem
>>> with libiconv symbols.
>>>
>>> https://trac.macports.org/changeset/57665/trunk/dports/textproc/doxygen/Portfile
>>> https://trac.macports.org/ticket/20415
>
> Not the same.
>
>>> Thanks in advance for fixing this.
>>> Jack
>>>
>>
>> Seems like a good idea to me. I've added this with a slightly different
>> implementation. I also didn't do a rev-up because even without this
>> change doxygen built for me and linked to Fink's libiconv.
>
> Pure voodoo. It is inoffensive (a no-op), so if it contributes to
> someone's peace of mind, leave it there.
Martin,
On x86_64 10.6 fink, I ran into the following build failure...
/usr/bin/make -f Makefile.doxygen PERL=/usr/bin/perl all
c++ -c -pipe -D__FreeBSD__=6 -DYY_TYPEDEF_YY_SIZE_T -Dyy_size_t=int -Wall -W
-Wno-deprecated-declarations -O2 -I../qtools -I../libmd5 -I. -I/sw/include -o
../
objects/main.o main.cpp
c++ -Wl,-search_paths_first -o ../bin/doxygen ../objects/main.o -L../lib
-L/sw/lib -ldoxygen -ldoxycfg -lqtools -lmd5 -lpthread -liconv -framework
CoreServic
es
Undefined symbols for architecture x86_64:
"_iconv_open", referenced from:
_portable_iconv_open in libdoxycfg.a(portable_c.o)
(maybe you meant: _portable_iconv_open)
"_iconv", referenced from:
_portable_iconv in libdoxycfg.a(portable_c.o)
(maybe you meant: _portable_iconv_open, _portable_iconv_close ,
_portable_iconv )
"_iconv_close", referenced from:
_portable_iconv_close in libdoxycfg.a(portable_c.o)
(maybe you meant: _portable_iconv_close)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [../bin/doxygen] Error 1
make[1]: *** [all] Error 2
make: *** [all] Error 2
### execution of make failed, exit code 2
### execution of /tmp/fink.4Tn8p failed, exit code 2
I initially worked around that by changing doxygen.patch from...
@@ -36,7 +36,7 @@
TMAKE_LINK = c++
TMAKE_LINK_SHLIB = c++
-TMAKE_LFLAGS = -Wl,-search_paths_first -arch i386 -arch ppc
+TMAKE_LFLAGS = -Wl,-search_paths_first -arch @FINK_ARCH@
TMAKE_LFLAGS_RELEASE =
TMAKE_LFLAGS_DEBUG =
TMAKE_LFLAGS_SHLIB = -shared
to
@@ -36,7 +36,7 @@
TMAKE_LINK = c++
TMAKE_LINK_SHLIB = c++
-TMAKE_LFLAGS = -Wl,-search_paths_first -arch i386 -arch ppc
+TMAKE_LFLAGS = -arch @FINK_ARCH@
TMAKE_LFLAGS_RELEASE =
TMAKE_LFLAGS_DEBUG =
TMAKE_LFLAGS_SHLIB = -shared
which led me to search for other instances of this failure. I found MacPort's
hack which solved the problem without changing the doxygen.patch.
Jack
>
> --
> Martin
>
>>
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Fink-users mailing list
[email protected]
List archive:
http://news.gmane.org/gmane.os.macosx.fink.user
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-users