From: Sven Joachim <svenjoac@gmx.de>
To: justin <jlec@gentoo.org>
Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] kconfig: use config scripts to detect ncurses libs
Date: Fri, 01 Mar 2013 09:36:53 +0100 [thread overview]
Message-ID: <87obf35xei.fsf@turtle.gmx.de> (raw)
In-Reply-To: <51305AC4.2030008@gentoo.org> (justin's message of "Fri, 01 Mar 2013 08:37:40 +0100")
On 2013-03-01 08:37 +0100, justin wrote:
> On 28/02/13 22:50, Sven Joachim wrote:
>> On 2013-02-28 10:59 +0100, jlec@gentoo.org wrote:
>>
>>> Ncurses provides a config script (ncurses5-config) to assist finding ncurses.
>>> This patch makes use of it to detect the necessary libs for linking of the
>>> ncurses nconfig dialog.
>>
>> That script is not necessarily called ncurses5-config, it might also be
>> called ncurses6-config is ncurses is configured for a different ABI
>> (--enable-ext-colors, --enable-ext-mouse). Although I would suspect
>> that any distribution who does that provides a compatibility symlink.
>>
>
> We don't do that, but I rechecked with building ncurses manually. You
> are right. How widely spread is the usage of this options? Or is it
> rather an experimental option?
Pretty much, since it changes the ABI and everyone wants to be
compatible with the existing ncurses ABI.
> What we could do is simple extending the syntax to additionally check
> for the ABI version 6 config scripts. Is this an option to consider?
Probably.
>>> scripts/kconfig/Makefile | 4 +++-
>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
>>> index 3091794..c372976 100644
>>> --- a/scripts/kconfig/Makefile
>>> +++ b/scripts/kconfig/Makefile
>>> @@ -216,7 +216,9 @@ HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
>>>
>>> HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
>>>
>>> -HOSTLOADLIBES_nconf = -lmenu -lpanel -lncurses
>>> +HOSTLOADLIBES_nconf = -lmenu -lpanel
>>> +HOSTLOADLIBES_nconf += $(shell ncursesw5-config --libs 2>/dev/null \
>>> + || ncurses5-config --libs 2>/dev/null )
>>
>> This will link with ncursesw, not ncurses. Probably not what you want,
>> since nconf.h does not #include the right headers for that.
>>
>
> That's true, and again it would change two things at once. I will go
> back to simple -lncurses as it was before.
>
>> On Debian/Ubuntu, there's also the problem that ncursesw5-config exists
>> even if the libncursesw5-dev package is not installed, so this patch
>> makes the build fail in such cases.
>
> Will be solved when reverting as described above. But actually it smells
> like a bug in the package management, doesn't it? Why are build time
> config scripts shipped in runtime only packages? What is their purpose?
Historically it seems to be an accident, and the ncurses{w,5}-config
scripts should have better been shipped in their development packages.
But nowadays we want to make the development packages multiarch-aware,
and since the scripts differ on architectures, moving them away from
ncurses-bin would mean adding two additional binary packages just for
these scripts.
See http://bugs.debian.org/480437 for a discussion on that topic.
>> Can we just call ncurses5-config and not ncursesw5-config, or are there
>> any distros who ship the latter and not the former?
>>
>
> I can't talk about distro wide situation, but manual building gives only
> one of the two. So there might be a situation where only one of the two
> is present.
>
> It seems we have a little dilemma here. Any suggestions how to solve it?
Well, at least until nconf does not make any effort to explicitly detect
and use the wide API, trying ncurses5-config first should work. If you
build ncurses yourself with --enable-widec, there is no -lmenu or -lpanel
anyway, these libraries are called menuw and panelw then.
Cheers,
Sven
next prev parent reply other threads:[~2013-03-01 8:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-28 9:59 [PATCH 2/2] kconfig: use config scripts to detect ncurses libs jlec
2013-02-28 20:59 ` Yann E. MORIN
2013-03-01 7:48 ` justin
2013-02-28 21:50 ` Sven Joachim
2013-03-01 7:37 ` justin
2013-03-01 8:36 ` Sven Joachim [this message]
2013-03-01 13:47 ` justin
2013-03-01 17:04 ` Sven Joachim
2013-03-03 20:23 ` Yann E. MORIN
2013-03-03 21:37 ` Sven Joachim
2013-03-01 15:50 ncurses detection for nconfig/menuconfig patches revised jlec
2013-03-01 15:50 ` [PATCH 2/2] kconfig: use config scripts to detect ncurses libs jlec
2013-03-03 20:38 ` Yann E. MORIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87obf35xei.fsf@turtle.gmx.de \
--to=svenjoac@gmx.de \
--cc=jlec@gentoo.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).