Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 632022 - games-action/bzflag-2.4.10: fails to link with both ncurses[tinfo]:0 and ncurses[tinfo]:5 being installed
Summary: games-action/bzflag-2.4.10: fails to link with both ncurses[tinfo]:0 and ncur...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: tinfo
  Show dependency tree
 
Reported: 2017-09-25 22:38 UTC by jorgicio
Modified: 2018-02-25 20:21 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (bzflag.log,110.48 KB, text/plain)
2017-09-26 18:24 UTC, jorgicio
Details
emerge --info (emerge-info.txt,8.46 KB, text/plain)
2017-09-26 18:24 UTC, jorgicio
Details
build.log (bzflag.log,109.62 KB, text/plain)
2017-09-27 14:50 UTC, jorgicio
Details
build.log (bzflag-2.log,109.66 KB, text/plain)
2017-09-28 21:36 UTC, jorgicio
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jorgicio 2017-09-25 22:38:39 UTC
Hi!

I tried to build the 2.4.10 and this happens:

(...)
/bin/sh ../../libtool --silent  --tag=CXX  --silent --mode=link x86_64-pc-linux-gnu-g++  -march=corei7-avx -O2 -pipe -std=c++0x  -Wl,-O1 -Wl,--as-needed -o bzflag ActionBinding.o AudioMenu.o AutoPilot.o BackgroundRenderer.o BaseLocalPlayer.o CacheMenu.o clientConfig.o CommandsImplementation.o ComposeDefaultKey.o ControlPanel.o defaultBZDB.o DisplayMenu.o Downloads.o EffectsMenu.o effectsRenderer.o EntryZone.o FlashClock.o ForceFeedback.o FormatMenu.o GuidedMissleStrategy.o GUIOptionsMenu.o HelpMenu.o HUDDialog.o HUDDialogStack.o HUDRenderer.o HUDui.o HUDuiControl.o HUDuiDefaultKey.o HUDuiLabel.o HUDuiList.o HUDuiTextureLabel.o HUDuiTypeIn.o JoinMenu.o InputMenu.o KeyboardMapMenu.o LocalCommand.o LocalPlayer.o MainMenu.o MainWindow.o MenuDefaultKey.o motd.o NewVersionMenu.o OptionsMenu.o Player.o Plan.o QuickKeysMenu.o QuitMenu.o RadarRenderer.o Region.o RegionPriorityQueue.o RemotePlayer.o Roaming.o RobotPlayer.o RoofTops.o Roster.o SaveWorldMenu.o SceneBuilder.o SceneRenderer.o ScoreboardRenderer.o SegmentedShotStrategy.o ServerCommandKey.o ServerLink.o ServerListFilter.o ServerListFilterHelpMenu.o ServerListFilterMenu.o ServerMenu.o ServerStartMenu.o ShockWaveStrategy.o ShotPath.o ShotPathSegment.o ShotStats.o ShotStatsDefaultKey.o ShotStatistics.o ShotStrategy.o SilenceDefaultKey.o TargetingUtils.o TrackMarks.o Weapon.o WeatherRenderer.o World.o WorldBuilder.o WorldPlayer.o bzflag.o callbacks.o clientCommands.o daylight.o playing.o sound.o stars.o ../3D/lib3D.la ../game/libGame.la ../net/libNet.la ../obstacle/libObstacle.la ../platform/libPlatform.la ../ogl/libGLKit.la ../scene/libSceneDB.la ../geometry/libGeometry.la ../mediafile/libMediaFile.la ../common/libCommon.la -lcares -lc -lz  -lSDL2   -lGLU -lGL -lXxf86vm -lXext  -lX11   -lcurl -lnghttp2 -lidn2 -lssh2 -lssh2 -lssl -lcrypto -lssl -lcrypto -L/usr/lib64 -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz ../date/libDate.la -lm  -lpthread
make[2]: Leaving directory '/var/tmp/portage/games-action/bzflag-2.4.10/work/bzflag-2.4.10/src/bzflag'
Making all in bzadmin
make[2]: Entering directory '/var/tmp/portage/games-action/bzflag-2.4.10/work/bzflag-2.4.10/src/bzadmin'
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o BZAdminClient.o BZAdminClient.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o BZAdminUI.o BZAdminUI.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o CursesUI.o CursesUI.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o CursesMenu.o CursesMenu.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o OptionParser.o OptionParser.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o ServerLink.o ServerLink.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o StdBothUI.o StdBothUI.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o StdInUI.o StdInUI.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o StdOutUI.o StdOutUI.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o UIMap.o UIMap.cxx
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../include  -DBUILDING_BZADMIN   -I../../include   -march=corei7-avx -O2 -pipe -std=c++0x -c -o bzadmin.o bzadmin.cxx
/bin/sh ../../libtool --silent  --tag=CXX  --silent --mode=link x86_64-pc-linux-gnu-g++  -march=corei7-avx -O2 -pipe -std=c++0x -static -Wl,-O1 -Wl,--as-needed -o bzadmin BZAdminClient.o BZAdminUI.o CursesUI.o CursesMenu.o OptionParser.o ServerLink.o StdBothUI.o StdInUI.o StdOutUI.o UIMap.o bzadmin.o ../date/libDate.la -lncurses ../game/libGame.la ../net/libNet.la ../common/libCommon.la -lcurl -lnghttp2 -lidn2 -lssh2 -lssh2 -lssl -lcrypto -lssl -lcrypto -L/usr/lib64 -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lz -lcares -lc -lm  -lpthread
CursesUI.o:CursesUI.cxx:function CursesUI::toggleMenu(): error: undefined reference to 'LINES'
CursesUI.o:CursesUI.cxx:function CursesUI::toggleMenu(): error: undefined reference to 'COLS'
CursesUI.o:CursesUI.cxx:function CursesUI::toggleMenu(): error: undefined reference to 'LINES'
CursesUI.o:CursesUI.cxx:function CursesUI::toggleMenu(): error: undefined reference to 'curs_set'
CursesUI.o:CursesUI.cxx:function CursesUI::toggleMenu(): error: undefined reference to 'LINES'
CursesUI.o:CursesUI.cxx:function CursesUI::toggleMenu(): error: undefined reference to 'COLS'
CursesUI.o:CursesUI.cxx:function CursesUI::toggleMenu(): error: undefined reference to 'LINES'
CursesUI.o:CursesUI.cxx:function CursesUI::toggleMenu(): error: undefined reference to 'curs_set'
CursesUI.o:CursesUI.cxx:function CursesUI::checkCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&): error: undefined reference to 'COLS'
CursesUI.o:CursesUI.cxx:function CursesUI::CursesUI(BZAdminClient&): error: undefined reference to 'cbreak'
CursesUI.o:CursesUI.cxx:function CursesUI::CursesUI(BZAdminClient&): error: undefined reference to 'keypad'
CursesUI.o:CursesUI.cxx:function CursesUI::CursesUI(BZAdminClient&): error: undefined reference to 'nodelay'
CursesMenu.o:CursesMenu.cxx:function CursesMenu::showMenu(): error: undefined reference to 'COLS'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:517: bzadmin] Error 1
make[2]: Leaving directory '/var/tmp/portage/games-action/bzflag-2.4.10/work/bzflag-2.4.10/src/bzadmin'
make[1]: *** [Makefile:421: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/games-action/bzflag-2.4.10/work/bzflag-2.4.10/src'
make: *** [Makefile:481: all-recursive] Error 1
 * ERROR: games-action/bzflag-2.4.10::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=games-action/bzflag-2.4.10::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=games-action/bzflag-2.4.10::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/games-action/bzflag-2.4.10/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/games-action/bzflag-2.4.10/temp/environment'.
 * Working directory: '/var/tmp/portage/games-action/bzflag-2.4.10/work/bzflag-2.4.10'
 * S: '/var/tmp/portage/games-action/bzflag-2.4.10/work/bzflag-2.4.10'

>>> Failed to emerge games-action/bzflag-2.4.10, Log file:

>>>  '/var/tmp/portage/games-action/bzflag-2.4.10/temp/build.log'

 * Messages for package games-action/bzflag-2.4.10:

 * ERROR: games-action/bzflag-2.4.10::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=games-action/bzflag-2.4.10::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=games-action/bzflag-2.4.10::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/games-action/bzflag-2.4.10/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/games-action/bzflag-2.4.10/temp/environment'.
 * Working directory: '/var/tmp/portage/games-action/bzflag-2.4.10/work/bzflag-2.4.10'
 * S: '/var/tmp/portage/games-action/bzflag-2.4.10/work/bzflag-2.4.10'


I'm using Gold as a linker.

Thanks.

Reproducible: Always
Comment 1 Tomáš Mózes 2017-09-26 04:36:30 UTC
Please attach the full build log and the output of emerge --info.

It builds on my ~amd64 machine, maybe you need to rebuild ncurses?
Comment 2 jorgicio 2017-09-26 18:23:57 UTC
ncurses rebuilt, then retried with bzflag, and the issue is the same.
I'll attach the log file then.
Comment 3 jorgicio 2017-09-26 18:24:17 UTC
Created attachment 496602 [details]
build.log
Comment 4 jorgicio 2017-09-26 18:24:35 UTC
Created attachment 496604 [details]
emerge --info
Comment 5 Tomáš Mózes 2017-09-27 06:50:09 UTC
I suppose ld.gold is the answer why. Try switching the linker if it helps.
Comment 6 jorgicio 2017-09-27 14:50:21 UTC
Created attachment 496632 [details]
build.log

I tried to force Bzflag to build using the bfd linker and now it gets another error as shown in the attached file.

I did what it shows in https://forums.gentoo.org/viewtopic-t-1060790-start-0.html

Also, I'm using Gold as a default linker because of my thesis.
Comment 7 Tomáš Mózes 2017-09-28 04:13:56 UTC
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/../../../../x86_64-pc-linux-gnu/bin/ld.bfd: CursesUI.o: undefined reference to symbol 'cbreak'
/lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

Which versions of sys-libs/ncurses do you have installed? Try to reinstall sys-libs/ncurses:0 and possibly drop sys-libs/ncurses:5 if you don't need it. Then rebuild bzflag again.

My system with sys-libs/ncurses:0 can build it properly.
Comment 8 jorgicio 2017-09-28 21:16:12 UTC
In fact I have both ncurses installed, and also the ncurses:0 rebuild, and indeed the log is what's done just after rebuild that version of ncurses. And I can't drop the :5 slot because of android-studio.
Comment 9 jorgicio 2017-09-28 21:36:58 UTC
Created attachment 496983 [details]
build.log

Now rebuilt ncurses:0 with bfd, then tried again with bzflag and failed again. This happens.
Comment 10 Tomáš Mózes 2017-09-29 07:36:50 UTC
I was able to reproduce this failure when I had both ncurses built with USE="tinfo". Try to set "sys-libs/ncurses:5 tinfo" to your /etc/portage/package.use and rebuild both ncurses slots.

This way ncurses:5 will have tinfo for android-studio and ncurses:0 will be without tinfo (thus without libtinfo.so being split out).