[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: acs_map symbol
From: |
Sven Joachim |
Subject: |
Re: acs_map symbol |
Date: |
Wed, 29 Apr 2015 07:37:19 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
On 2015-04-29 03:15 +0200, Thomas Dickey wrote:
> On Wed, Apr 29, 2015 at 12:39:02AM +0000, address@hidden wrote:
>> Hi,
>>
>> Linux "make menuconfig" fails due to a linking issue.
>>
>> (I have a _split_ shared ncursesw library, version 5.9.20150425)
>>
>> Linux uses pkg-config for its menuconfig linking flags. And I get a missing
>> libtinfow due to the symbol acs_map.
>>
>> After little investigation:
>> - the acs_map symbol is defined in ncurses.h.
>> - the linker expect to find the libtinfow library in its argument list
>> because of acs_map symbol.
>> - pkg-config does not output the libtinfow linker flags because it's in
>> the "private" section of ncursesw.pc.
>>
>> It seems that in ncursesw.pc, libtinfow dependency should be delared
>> in the Require field and not he Require.private field.
>> That, to output libtinfow linker flags for any application linking to the
>> ncursesw package.
>>
>> Do I miss anything?
>
> hmm - maybe, maybe not. The feature was from this change:
>
> 20111008
> + modify misc/gen-pkgconfig.in to use Requires.private for the parts
> of ncurses rather than Requires, as well as Libs.private for the
> other library dependencies (prompted by Debian #644728).
It seems to me that this change was incorrect.
> I'd likely overlooked this because (to avoid interfering with Debian's
> packages) have generally put my test-libraries in /usr/local, and used
> rpath to help that. However I might have stumbled over it "soon" since
> I'm in the process of reworking the test-package to put it in /usr (and
> not need rpath...).
>
> I'm puzzled why you've run into this problem at this point in time (unless
> it's some issue with the way my reworking is progressing...)
Most (all?) distributions who split tinfo libraries use a linker script
for ncursesw.so to avoid breaking software which does not use pkg-config
for determining how to link with ncursesw.
Cheers,
Sven