Hello all,

Since the recent changes in ./src/sdbm, I have been encountering a  
compile-time error originating with ./src/lib/utf8.o 's links to the  
iconv library.  My system is a ppc7450 iMac running OS X 10.5.8, which  
has Darwin 9.8.0.

> cc -o dbu  dbu.o util.o   -O2 -g  -L. -lsdbm -L../lib -lshared -lglib
> collect2: ld terminated with signal 6 [Abort trap]
> Undefined symbols
>   "_libiconv_open", referenced from:
>       _utf8_cd_get in libshared.a(utf8.o)
>       _locale_init in libshared.a(utf8.o)
>       _locale_init in libshared.a(utf8.o)
>       _locale_init in libshared.a(utf8.o)
>       _locale_init in libshared.a(utf8.o)
>       _locale_init in libshared.a(utf8.o)
>   "_libiconv", referenced from:
>       _complete_iconv in libshared.a(utf8.o)
>       _complete_iconv in libshared.a(utf8.o)
>       _complete_iconv in libshared.a(utf8.o)
> terminate called after throwing an instance of 'char const*'
> terminate called recursively
> make[4]: *** [dbu] Error 1
> make[3]: *** [subdirs] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [subdirs] Error 1
> make: *** [all] Error 2


This failure is identical each time, except that the undefined symbols  
will be "_iconv" "_inconv_open" when I try to link to a static version  
of libiconv.  The symbol *is* defined in the relevant library in all  
cases.

I believe that this problem has its roots in the Darwin OS's  
implementation of /usr/lib/libiconv.* and/or /usr/include/iconv.h  
being incompatible with the newer GNU versions, and that it involves  
macros and C++;  there are lots of message board posts reporting iconv  
errors when people try to port projects to Darwin.  I know that I've  
encountered problems with iconv before and that they were solved.   
What I don't recall is exactly who managed to solve it or how it was  
done.  I've been unable to find a solid discussion or solution posted  
anywhere;  it's possible that the situation makes a lot more sense to  
someone who understands C++, which I do not.

Things I have tried:
- eliminating I_ICONV guard.  (I_ICONV is defined, anyways.)
- specifying full pathnames of all libraries
- specifying explicit pathname of iconv.h
- linking specifically to static version of libiconv, both native and  
GNU.
- changing the name of the GNU iconv library and header

Any ideas or suggestions?


------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
gtk-gnutella-devel mailing list
gtk-gnutella-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel

Reply via email to