Date: Wed, 27 Dec 2023 17:06:52 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 275969] converters/iconv: Unable to build without including /usr/local/include/iconv.h Message-ID: <bug-275969-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D275969 Bug ID: 275969 Summary: converters/iconv: Unable to build without including /usr/local/include/iconv.h Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: bofh@freebsd.org Reporter: rodarima@gmail.com Flags: maintainer-feedback?(bofh@freebsd.org) Assignee: bofh@freebsd.org Hi, I'm trying to add FreeBSD as another OS in the continuous integration of the Dillo browser that depends on iconv, FLTK and other libraries in ports. While the configure script runs, the libc is interrogated first in case it already provides a working iconv library, which it does, so it is configure= d as the iconv provider. The problem I'm having is that FLTK from ports requires -I/usr/local/includ= e, as that is the place where the headers are included in FreeBSD. However, that causes the iconv.h file to also be picked from /usr/local/include, which is not compatible with the one in /usr/include, provided by the libc. This problem causes a linkage error, as /usr/local/include/iconv.h prefixes= the iconv_* functions as libiconv_*. I tried to work around this issue, without having to switch to libiconv from ports, but I'm afraid there is no combination of -I flags that can override= the search order. Adding -I/usr/include doesn't work, as it is already in the system search paths, I have more details here: https://github.com/dillo-browser/dillo/issues/41 I saw the same problem with other ports and the workaround seems to always = end up adding libiconv as a dependency. I would like to find another solution before doing so, so I can keep the dependency with the libc only (even if libiconv is installed). I suspect one way would be to install libconv into /usr/local/include/iconv/..., so other packages have to include it manually= by using the proper -I. Another solution that I saw in Arch Linux is to place = the headers into libiconv.h instead of iconv.h: https://gitlab.archlinux.org/archlinux/packaging/packages/libiconv/-/blob/9= 776068fe291e0653f5267aebdf31d5976a12593/PKGBUILD#L42 Do you have any other solution? Best, Rodrigo. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-275969-7788>