From owner-freebsd-ports@FreeBSD.ORG Sat Aug 31 13:38:57 2013 Return-Path: Delivered-To: freebsd-ports@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 121E8F13; Sat, 31 Aug 2013 13:38:57 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:7b8:3a7:1:2d0:b7ff:fea0:8c26]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CA7132246; Sat, 31 Aug 2013 13:38:56 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7::5907:1035:4f58:aa70] (unknown [IPv6:2001:7b8:3a7:0:5907:1035:4f58:aa70]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id BBA115C44; Sat, 31 Aug 2013 15:38:53 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) Subject: Re: svn commit: r325668 - head/x11-toolkits/open-motif From: Dimitry Andric In-Reply-To: <5221CEB4.7090109@passap.ru> Date: Sat, 31 Aug 2013 15:38:52 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201308300952.r7U9qKsF026518@svn.freebsd.org> <52206DF8.1000401@FreeBSD.org> <5221CEB4.7090109@passap.ru> To: Boris Samorodov X-Mailer: Apple Mail (2.1508) Cc: Guido Falsi , FreeBSD ports list , Peter Wemm X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Aug 2013 13:38:57 -0000 On Aug 31, 2013, at 13:08, Boris Samorodov wrote: > (moving the discussion to ports@) >=20 > 30.08.2013 14:03, Guido Falsi =D0=BF=D0=B8=D1=88=D0=B5=D1=82: >=20 >> 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 >>>=20 >>> 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=20 >> related by enabling iconv in libc on latest current. >>=20 >> I'm not sure that forcing them to link against gnu libiconv is a good=20= >> long term solution. >=20 > 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. >=20 > Thus it's just a bandaid. Yes, the basic problem is that programs do "#include ", 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