From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pascal Mazon Date: Wed, 02 Dec 2015 11:39:32 +0100 Subject: [Buildroot] [PATCH 1/1] ncurses: generate libtermcap In-Reply-To: <20151130233049.3ad42bd1@free-electrons.com> References: <1429880066-7743-1-git-send-email-pascal.mazon@6wind.com> <20151130233049.3ad42bd1@free-electrons.com> Message-ID: <565ECA64.3070503@6wind.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net On 11/30/2015 11:30 PM, Thomas Petazzoni wrote: > Dear Pascal Mazon, > > On Fri, 24 Apr 2015 14:54:26 +0200, Pascal Mazon wrote: >> There is no libtermcap package in buildroot, but ncurses implements termcap >> natively. Furthermore, ncurses already provides the termcap.h header file. >> >> With this patch, we fix an issue encountered with some external toolchains >> that include a libtermcap.a (typically the GNU libtermcap version) in their >> sysroot folder. >> Bash, for instance, would be linking with this libtermcap while using >> headers from ncurses. >> >> In order to be consistent, let's make sure there is only the ncurses' >> termcap library. To that effect, we: >> - remove any libtermcap.* in the staging dir, >> - install a link to libncurses static and/or shared in staging and target >> dirs. >> >> Signed-off-by: Pascal Mazon > > We finally took a bit of time on IRC today to discuss your patch. From > our point of view, the fact that your toolchain provides libtermcap.a > is a bug of the toolchain. From Buildroot's point of view, a toolchain > should not provide in its sysroot anything but the C library and its > headers, and the kernel headers. > > If we start doing hacks in packages to cope with toolchain sysroot > already shipped with some libraries, it's going to be an endless fight > against those toolchains. You have the problem with libtermcap.a, but > the next person will have it with libz.a, and then lib, and > again. > > Our suggestion is that you fix your toolchain either by asking your > toolchain vendor, or by doing a quick hack to remove libtermcap.a > before using the toolchain with Buildroot. If you add this toolchain as > a known Buildroot profile, you can even automate this and make it part > of the build process. > > Best regards, > > Thomas > I understand buildroot's point of view. Indeed, it does not look like the best solution to hack in packages for a problem from the toolchain. I will try your suggestion. Maybe we can modify copy_toolchain_sysroot in toolchain/helpers.mk to add a custom "--exclude" when rsync-ing (with values taken from an newly added option)? Best regards, -- Pascal Mazon www.6wind.com