AFFECTS: 10-CURRENT users with any port depending on converters/libiconv

Guido Falsi madpilot at FreeBSD.org
Sat Sep 7 11:34:30 UTC 2013


On 09/07/13 13:03, O. Hartmann wrote:
> On Sat, 07 Sep 2013 00:16:16 +0200
> Guido Falsi <madpilot at FreeBSD.org> wrote:
>
>> On 09/07/13 00:10, Boris Samorodov wrote:
>>> 07.09.2013 01:51, O. Hartmann пишет:
>>>> On Fri, 06 Sep 2013 21:11:26 +0400
>>>> Boris Samorodov <bsam at passap.ru> wrote:
>>>>
>>>>> 06.09.2013 20:44, O. Hartmann пишет:
>>>>>> On Fri, 06 Sep 2013 20:08:59 +0400
>>>>>> Boris Samorodov <bsam at passap.ru> wrote:
>>>>>>
>>>>>>> 06.09.2013 19:44, O. Hartmann пишет:
>>>>>>>
>>>>>>>> Here we go. It is the config.log from one of the failing
>>>>>>>> machines, failing in print/cups-client.
>>>>>>>
>>>>>>> Please, show the output of following commands (at the host in
>>>>>>> question): # svn info /usr/ports/
>>>>>>> # svn svn st /usr/ports/print/cups*
>>>>>>>
>>>>>> svn info /usr/ports/
>>>>>>
>>>>>> Path: /usr/ports
>>>>>> Working Copy Root Path: /usr/ports
>>>>>> URL: svn://svn.de.freebsd.org/ports/head
>>>>>> Relative URL: ^/head
>>>>>> Repository Root: svn://svn.de.freebsd.org/ports
>>>>>> Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
>>>>>> Revision: 326523
>>>>>> Node Kind: directory
>>>>>> Schedule: normal
>>>>>> Last Changed Author: danfe
>>>>>> Last Changed Rev: 326523
>>>>>> Last Changed Date: 2013-09-06 18:22:29 +0200 (Fri, 06 Sep 2013)
>>>>>>
>>>>>>
>>>>>> svn st /usr/ports/print/cups*
>>>>>> ?       /usr/ports/print/cups-base/work
>>>>>> ?       /usr/ports/print/cups-client/work
>>>>>
>>>>> That is really stange... Some more info:
>>>>> # svn st /usr/ports/Mk
>>>>
>>>> nothin (NULL output)
>>>>
>>>>> # make -C /usr/ports/print/cups-client -V ICONV_LIB -V
>>>>> CONFIGURE_ARGS
>>>>>
>>>> make -C /usr/ports/print/cups-client -V ICONV_LIB -V CONFIGURE_ARGS
>>>>
>>>> --localstatedir=/var
>>>> --disable-slp
>>>> --disable-gssapi                        --with-cups-user=cups
>>>> --with-cups-group=cups           --with-system-groups=wheel
>>>> --with-docdir=/usr/local/share/doc/cups
>>>> --with-icondir=/usr/local/share/icons
>>>> --with-menudir=/usr/local/share/applications
>>>> --with-domainsocket=/var/run/cups.sock
>>>> --with-cachedir=/var/db/cups
>>>> --with-pam-module="unix"                --enable-ssl
>>>> --with-printcap=/usr/local/etc/printcap --disable-gnutls
>>>> --enable-openssl --without-php --disable-dnssd --disable-pam
>>>> --disable-ldap --disable-dbus --disable-libusb
>>>> LIBS="-lssp_nonshared" --prefix=/usr/local ${_LATE_CONFIGURE_ARGS}
>>>
>>> Well, the output is perfect.
>>>
>>>> I see a lot of those obscure libtool errors not finding
>>>> libiconv.la. Where the hell does the tool take those ecos from the
>>>> past? I guess I have to reboot the box after X11 has been compiled
>>>
>>> Did not see those. Since so far it seems that such errors are not
>>> common, may be something at your environment causes this (may be
>>> at /etc/make.conf)?
>>>
>>
>> I did see some of those. libtool takes those settings from
>> /usr/local/lib/*.la files, installed by ports, before this change.
>> Many of those files hardcode -liconv.
>>
>> Usually portmaster/portupgrade are good enough at guessing the
>> correct order, but sometimes they mess it up, and this kind of
>> situation happens.
>>
>> On my desktop PC I had to resort to ls -lt /usr/local/lib/*.la and
>> portmaster the older ones. This can be further narrowed down by
>> grepping for "-liconv".
>>
>
> Founf another one that is failing:
>
> port multimedia/mlt:
>
>
> 3 warnings generated.
> cc -shared -o ../libmltgtk2.so factory.o consumer_gtk2.o
> producer_pixbuf.o pixops.o filter_rescale.o producer_pango.o
> producer_count.o filter_dynamictext.o   -Wl,--no-undefined
> -Wl,--as-needed -Wl,--no-undefined -Wl,--as-needed -L../../framework
> -lmlt -pthread -lm -Wl,--no-undefined -Wl,--as-needed `pkg-config
> --libs gtk+-2.0` `pkg-config  --libs gdk-pixbuf-2.0` -L/usr/local/lib
> -lexif `pkg-config  --libs pangoft2` -liconv
>
> --->
> /usr/bin/ld: cannot find -liconv cc: error: linker command failed with
> exit code 1 (use -v to see invocation) gmake[4]: *** [../libmltgtk2.so]
> Error 1 gmake[4]: Leaving directory
> <---
>
> `/usr/ports/multimedia/mlt/work/mlt-0.9.0/src/modules/gtk2' gmake[3]:
> *** [all] Error 1 gmake[3]: Leaving directory
> `/usr/ports/multimedia/mlt/work/mlt-0.9.0/src/modules' gmake[2]: ***
> [all] Error 1 gmake[2]: Leaving directory
> `/usr/ports/multimedia/mlt/work/mlt-0.9.0' ===> Compilation failed
> unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before
> reporting the failure to the maintainer. *** Error code 1
>
> Stop.
> make[1]: stopped in /usr/ports/multimedia/mlt
> *** Error code 1
>
> Stop.
> make: stopped in /usr/ports/multimedia/mlt
>

Good catch. We tried to catch all ports which hardcoded iconv in someway 
but this one slipped through.

I'm preparing a fix for this one, shouldn't take too long. I'll come 
back to you as soon as I have committed it.

Thanks for reporting!

-- 
Guido Falsi <madpilot at FreeBSD.org>


More information about the freebsd-ports mailing list