On Aug 31, 2013, at 13:08, Boris Samorodov <b...@passap.ru> wrote:
> (moving the discussion to ports@)
> 
> 30.08.2013 14:03, Guido Falsi пишет:
> 
>> On 08/30/13 11:52, Boris Samorodov wrote:
>>> Author: bsam
>>> Date: Fri Aug 30 09:52:20 2013
>>> New Revision: 325668
>>> URL: http://svnweb.freebsd.org/changeset/ports/325668
>>> 
>>> Log:
>>>   Fix build at 10.x after recent changes at /usr/bin/ld. Error log:
>>>   ----
>>>   ./../lib/Xm/.libs/libXm.so: undefined reference to `libiconv'
>>>   ./../lib/Xm/.libs/libXm.so: undefined reference to `libiconv_close'
>>>   ./../lib/Xm/.libs/libXm.so: undefined reference to `libiconv_open'
...
>> I'm having a lot of failures too related to libiconv symbols. These seem 
>> related by enabling iconv in libc on latest current.
>> 
>> I'm not sure that forcing them to link against gnu libiconv is a good 
>> long term solution.
> 
> Agreed. But this commit is not a log term solution. It's just a fix
> which:
> . preservs current status-quo (the port always depended upon libiconv);
> . allow other ports which require this one to be build.
> 
> Thus it's just a bandaid.

Yes, the basic problem is that programs do "#include <iconv.h>", which
pulls in /usr/local/include/iconv.h (the GNU version) instead of
/usr/include/iconv.h (the base version).  The GNU version redefines all
the iconv-related functions to point to the GNU implementations.
However, most configure scripts fail to detect that the linker flags
should then be modified to add -L/usr/local/lib -liconv.

I don't know of a good way to force ports to ignore the GNU version of
iconv.h, and use the base iconv.h instead.  Maybe we should rename the
GNU version to gnuiconv.h, and use some sort of wrapper header to make
sure ports only get the GNU version when they really want or need it.

-Dimitry

_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to