Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 679942

Summary: games-roguelike/angband-4.1.3 USE=ncurses with sys-libs/ncurses[tinfo] - ld: main-gcu.o: undefined reference to symbol 'keypad'
Product: Gentoo Linux Reporter: Scott McClung <scott>
Component: Current packagesAssignee: Gentoo Games <games>
Status: RESOLVED FIXED    
Severity: normal CC: esigra, mgorny, monsieurp, steils
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/11582
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 457530    
Attachments: build.log
emerge --info
angband-4.1.3.ebuild

Description Scott McClung 2019-03-10 14:46:40 UTC
Created attachment 568408 [details]
build.log

games-roguelike/angband-4.1.3 fails to build with ncurses[tinfo]:

Successfully compiled main-sdl.c.
x86_64-pc-linux-gnu-gcc -o angband angband.o main.o main-gcu.o main-x11.o main-sdl.o -Wl,-O1 -Wl,--as-needed   -lncursesw  -lSM -lICE  -lX11  -lSDL -lpthread -lSDL_image -lSDL_ttf -lm
/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: main-gcu.o: undefined reference to symbol 'keypad'
/lib64/libtinfow.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Comment 1 Scott McClung 2019-03-10 14:47:36 UTC
Created attachment 568410 [details]
emerge --info
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2019-03-10 15:07:05 UTC
acinclude.m4 checks for ncursesw5-config but likely only ncursesw6-config is installed nowadays. It then starts assuming -lncurses is enough for the linker.

So either extend AM_PATH_NCURSESW so it also checks for ncursesw6-config, or it should switch to pkg-config:

* Add PKG_PROG_PKG_CONFIG near the top of configure.ac
* Add PKG_CHECK_MODULES(NCURSES, ncursesw) to AM_PATH_NCURSESW, replacing most of the code intended to find ncurses*-config.
Comment 3 Scott McClung 2019-03-11 14:27:08 UTC
Created attachment 568584 [details]
angband-4.1.3.ebuild
Comment 4 Scott McClung 2019-03-11 14:28:33 UTC
Thanks for pointing me in the right direction.  Making this work in my overlay was as simple as adding this to the ebuild:

--- angband-4.1.3.ebuild        2019-03-11 10:26:34.216361573 -0400
+++ angband-4.1.3-r1.ebuild     2019-03-11 10:17:54.353837909 -0400
@@ -43,6 +43,7 @@
        sed -i -e '/libpath/s#datarootdir#datadir#' configure.ac || die
        sed -i -e "/^.SILENT/d" mk/buildsys.mk.in || die
        sed -i -e '/^DOC =/s/=.*/=/' doc/Makefile || die
+       sed -i -e 's/ncursesw5-config/ncursesw6-config/g' acinclude.m4 || die
 
        if use !sound ; then
                sed -i -e 's/sounds//' lib/Makefile || die
Comment 5 Larry the Git Cow gentoo-dev 2019-04-03 09:51:19 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c69e9af7c4dc6cb7fbea73dfd356d315f0eb2470

commit c69e9af7c4dc6cb7fbea73dfd356d315f0eb2470
Author:     Michał Górny <mgorny@gentoo.org>
AuthorDate: 2019-04-03 09:46:55 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2019-04-03 09:46:55 +0000

    package.mask: Last rite games-roguelike/angband
    
    Bug: https://bugs.gentoo.org/679942
    Signed-off-by: Michał Górny <mgorny@gentoo.org>

 profiles/package.mask | 7 +++++++
 1 file changed, 7 insertions(+)
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2019-04-03 09:57:07 UTC
(In reply to Larry the Git Cow from comment #5)
> The bug has been referenced in the following commit(s):
> 
> https://gitweb.gentoo.org/repo/gentoo.git/commit/
> ?id=c69e9af7c4dc6cb7fbea73dfd356d315f0eb2470
> 
> commit c69e9af7c4dc6cb7fbea73dfd356d315f0eb2470
> Author:     Michał Górny <mgorny@gentoo.org>
> AuthorDate: 2019-04-03 09:46:55 +0000
> Commit:     Michał Górny <mgorny@gentoo.org>
> CommitDate: 2019-04-03 09:46:55 +0000
> 
>     package.mask: Last rite games-roguelike/angband
>     
>     Bug: https://bugs.gentoo.org/679942
>     Signed-off-by: Michał Górny <mgorny@gentoo.org>
> 
>  profiles/package.mask | 7 +++++++
>  1 file changed, 7 insertions(+)

Reverted, as I've been corrected that Stefan bumped it.

Stefan, could you fix this bug as well?
Comment 7 Larry the Git Cow gentoo-dev 2019-04-05 05:13:26 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3045e7b24b7c267ad7152c2b964f20a59beb88d

commit f3045e7b24b7c267ad7152c2b964f20a59beb88d
Author:     Stefan Strogin <stefan.strogin@gmail.com>
AuthorDate: 2019-04-04 01:48:42 +0000
Commit:     Michał Górny <mgorny@gentoo.org>
CommitDate: 2019-04-05 05:13:20 +0000

    games-roguelike/angband: fix build with sys-libs/ncurses[tinfo]
    
    Closes: https://bugs.gentoo.org/679942
    Package-Manager: Portage-2.3.62, Repoman-2.3.12
    Signed-off-by: Stefan Strogin <stefan.strogin@gmail.com>
    Signed-off-by: Michał Górny <mgorny@gentoo.org>

 games-roguelike/angband/angband-4.1.3.ebuild       |  2 ++
 .../angband/files/angband-4.1.3-tinfo.patch        | 29 ++++++++++++++++++++++
 2 files changed, 31 insertions(+)