Summary: | dev-haskell/terminfo with sys-libs/ncurses[tinfo] - configure: error: curses library not found, so this package cannot be built | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Reinis Danne <rei4dan> |
Component: | [OLD] Library | Assignee: | Gentoo's Haskell Language team <haskell> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | base-system, marat.buharov, uzytkownik2 |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://hackage.haskell.org/trac/ghc/ticket/7281 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 457530 | ||
Attachments: |
terminfo-build.log.gz
terminfo config.log fix build against ncurses[tinfo] fix build and linking against ncurses[tinfo] |
Description
Reinis Danne
2013-01-26 21:28:23 UTC
Created attachment 336940 [details]
terminfo-build.log.gz
> configure: error: in `/var/tmp/portage/dev-haskell/terminfo-0.3.2.5/work/terminfo-0.3.2.5':
> configure: error: curses library not found, so this package cannot be built
See `config.log' for more details
It's likely due to USE=-unicode.
May I ask you to attach config.log to make sure?
*** Bug 455106 has been marked as a duplicate of this bug. *** Created attachment 338474 [details]
terminfo config.log
Created attachment 338482 [details, diff]
fix build against ncurses[tinfo]
Proper fix would probably to use pkg-config, but I don't know enough of autofoo to fix it. Also would need to check if the package builds and links correctly, I have just tested that it configures and builds.
Created attachment 338488 [details, diff]
fix build and linking against ncurses[tinfo]
Updated the patch, now Darcs builds successfully. Still, the proper fix would be to use pkg-config.
[CCed base-system@] In light of USE=tinfo description looks like failure to export the same symbols is ncurses bug? <flag name='tinfo'> Build curses library (libncurses) sep from the low-level terminfo library (libtinfo) -- usually needed only for binary packages -- but it is binary compatible in either mode </flag> I don't see how pkg-config will help to save the system from breakage when you rebuild from USE=-tinfo ncurses to USE=tinfo ncurses. It does not change .so's ABI on that action, does it? With ncurses[-tinfo] all the symbols from libtinfo.so are in libncurses.so, so one needs to link just with -lncurses, but with ncurses[tinfo] the symbols are in two libraries and have to link with -lncurses -ltinfo. pkg-config gives needed values: With ncurses[-tinfo] $ pkg-config --libs ncurses -lncurses With ncurses[tinfo] $ pkg-config --libs ncurses -lncurses -ltinfo This way the right libs are linked. Moreover, pkg-config is supposed to be preferred over AC_CHECK_LIB: http://blog.flameeyes.eu/2008/04/i-consider-ac_check_lib-harmful (In reply to comment #9) > With ncurses[-tinfo] all the symbols from libtinfo.so are in libncurses.so, > so one needs to link just with -lncurses, but with ncurses[tinfo] the > symbols are in two libraries and have to link with -lncurses -ltinfo. > pkg-config gives needed values: > With ncurses[-tinfo] > $ pkg-config --libs ncurses > -lncurses > > With ncurses[tinfo] > $ pkg-config --libs ncurses > -lncurses -ltinfo > > This way the right libs are linked. Moreover, pkg-config is supposed to be > preferred over AC_CHECK_LIB: > http://blog.flameeyes.eu/2008/04/i-consider-ac_check_lib-harmful What will happen with your binaries if you build a program against 'USE=tinfo ncurses' and then rebuild 'USE=-tinfo ncurses' in system? One state is more fragile for building/distributing binaries, than another. Anyways, picked upstream patch. > 13 Feb 2013; Sergei Trofimovich <slyfox@gentoo.org> > +files/terminfo-0.3.2.5-tinfo.patch, -terminfo-0.3.1.1.ebuild, > -terminfo-0.3.1.3.ebuild, terminfo-0.3.2.5.ebuild: > Fixed build failure against 'USE=tinfo ncurses' in bug #454216 by Reinis > Danne. Thanks for the report and explanation! *** Bug 455576 has been marked as a duplicate of this bug. *** |