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
Fink-users@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.macosx.fink.user
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to