At Tue, 18 Sep 2012 09:52:15 +0200, Dr. Werner Fink wrote:
On Tue, Sep 18, 2012 at 02:06:51PM +0800, Marguerite Su wrote:
On Mon, Sep 17, 2012 at 10:02 PM, Takashi Iwai <tiwai@suse.de> wrote:
Are you sure that $LIBS is evaluated in your setup? Usually $CFLAGS and $CXXFLAGS are taken by auto-tools, but $LIBS and $LDFLAGS aren't.
Hi, tiwai,
Yes, I'm sure...$LIBS also contains another important options like "-lm". if it's not evaluated, the build will fail at a different place.
Blame ncurses developers who didn't keep the compatibility :)
Actually I don't care too much about basic system packages, unless it blocks me from building.
It's not a Linux case but a SuSE case. Fedora seems to contain only libncurses.so.5.9 in ncurses-libs package. But it seems such packaging didn't block them from making a distro.
I believe our ncurses must have been evaluated carefully to offer such an multi-version solution, but we'd better make it easier for packagers and self-builders to use. A README.devel is too low level to understand, you know, there's a huge gap in packaging skills, infrastructure knowledge between base system packagers and high-end application packagers.
Personaly I still can't understand the difference between the libncurses.so libncurses5 provides and the libncurses.so libncurses6 provides, because I don't know where to find things like "ABI" and there's no apparent difference in appearance like libncurses.so.5 and libncurses.so.6.
So under such a situation, how could I myself trust that I use a correct version?
Hmmm ... I'm not aware that README.devel is that low level. Things like
LIBS="$(ncursesw5-config --libs)" CFLAGS="$(ncursesw5-config --cflags)" export LIBS CFLAGS
shouldn't that low level. The reason of having 4 ncurses config scripts is simply that there are still applications without wide character support. For this I've done ncurses5-config and ncurses6-config, for all others the ncursesw5-config and ncursesw6-config are usefull.
The ncurses6-config and ncursesw6-config are the upcoming new ABI which includes experimental mouse version 2 supports wheel mice with buttons 4 and 5. The experimental extended colors allows encoding of 256 foreground and background colors, e.g., with the xterm-256color or xterm-88color terminfo entries. This requires ABI 6 because it changes the size of cchar_t. Beside this ABI 6 will provide full reentrant support as well as extend pthread support.
All four versions are binary incompatible otherwise I would not provide four version of libncurses nor four include paths. OK I could also support only one ncurses version like ncursesw5 to allow developers not to read README.devel but this would intend that e.g. YaST2 ncurses GUI would loose reentrant and pthread safe ncurses support.
I guess a bit cleaner way is to split ncurses-devel to ncurses-devel and (lib)ncurses6-devel and provide pkg-config stuff. Of course, this will break builds of many packages, so no easy but painful way. But this thread made me wonder what is the reason to keep ncurses5 as a sort of "default". Any obstacle to port from ncurses5 to ncurses6, e.g. serious API incompatibilities? Takashi -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org