Skip to content
This repository has been archived by the owner on Apr 17, 2022. It is now read-only.

warzone2100: FTBFS with binutils-gold #1098

Closed
wzdev-ci opened this issue Nov 22, 2009 · 12 comments
Closed

warzone2100: FTBFS with binutils-gold #1098

wzdev-ci opened this issue Nov 22, 2009 · 12 comments

Comments

@wzdev-ci
Copy link
Contributor

keyword_ftbfs resolution_fixed type_bug | by Peter Fritzsche <peter.fritzsche@...>


Forwarding http://bugs.debian.org/556919

Source: warzone2100
Version: 2.2.4-3
Severity: minor
User: peter.fritzsche@gmx.de
Usertags: no-add-needed

Tried to build your package and it fails to build with GNU binutils-gold. The important difference is that --no-add-needed is the default behavior of of GNU binutils-gold. Please provide all needed libraries to the linker when building your executables.

Objects inside an .a archive aren't linked yet. This means that you must resolve their symbols when linking them to a program.

More informations can be found at
http://wiki.debian.org/qa.debian.org/FTBFS#A2009-11-02Packagesfailingbecausebinutils-gold.2BAC8-indirectlinking

In this case you probably need to link against the X11 libraries.

g++  -g -O2  -rdynamic -Wl,-z,defs -o warzone2100 action.o advvis.o ai.o aiexperience.o astar.o atmos.o aud.o baseobject.o bridge.o bucket3d.o cheat.o clparse.o cluster.o cmddroid.o combat.o component.o configuration.o console.o data.o design.o difficulty.o display3d.o display.o drive.o droid.o e3demo.o edit3d.o effects.o environ.o feature.o force-linker.o formation.o fpath.o frontend.o function.o game.o gateway.o geometry.o group.o hci.o ingameop.o init.o intdisplay.o intelmap.o intimage.o intorder.o keybind.o keyedit.o keymap.o level_lexer.lex.o levels.o lighting.o loadsave.o loop.o main.o map.o mapdisplay.o mapgrid.o mechanics.o message.o message_lexer.lex.o message_parser.tab.o miscimd.o mission.o move.o multibot.o multigifts.o multiint.o multijoin.o multilimit.o multimenu.o multiopt.o multiplay.o multistat.o multistruct.o multisync.o objects.o objmem.o oprint.o order.o parsetest.o power.o projectile.o radar.o raycast.o research.o scores.o scriptai.o scriptcb.o scriptextern.o scriptfuncs.o scriptobj.o scripttabs.o scriptvals.o scriptvals_lexer.lex.o scriptvals_parser.tab.o selection.o seqdisp.o stats.o structure.o target.o text.o texture.o transporter.o version.o visibility.o warcam.o warzoneconfig.o wrappers.o ../lib/widget/libwidget.a ../lib/sequence/libsequence.a ../lib/sound/libsound.a ../lib/script/libscript.a ../lib/netplay/libnetplay.a ../lib/ivis_opengl/libivis_opengl.a ../lib/ivis_common/libivis_common.a ../lib/gamelib/libgamelib.a ../lib/framework/libframework.a ../lib/exceptionhandler/libexceptionhandler.a  -lSDL   -lSDL_net -lphysfs -lpng12   -lvorbisfile -lvorbis -lm -logg   -ltheora -logg   -lopenal   -lGLC -lGL -lGLU -lpopt  
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function lost_scrap:scrap.c:319: error: undefined reference to 'XGetSelectionOwner'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function convert_format:scrap.c:100: error: undefined reference to 'XInternAtom'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function get_scrap:scrap.c:448: error: undefined reference to 'XGetSelectionOwner'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function get_scrap:scrap.c:480: error: undefined reference to 'XGetWindowProperty'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function get_scrap:scrap.c:493: error: undefined reference to 'XFree'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function get_scrap:scrap.c:462: error: undefined reference to 'XInternAtom'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function get_scrap:scrap.c:463: error: undefined reference to 'XConvertSelection'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function put_scrap:scrap.c:345: error: undefined reference to 'XChangeProperty'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function put_scrap:scrap.c:349: error: undefined reference to 'XSetSelectionOwner'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function clipboard_filter:scrap.c:608: error: undefined reference to 'XGetWindowProperty'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function clipboard_filter:scrap.c:625: error: undefined reference to 'XFree'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function clipboard_filter:scrap.c:627: error: undefined reference to 'XSendEvent'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function clipboard_filter:scrap.c:628: error: undefined reference to 'XSync'
/usr/bin/ld: ../lib/widget/libwidget.a(scrap.o): in function clipboard_filter:scrap.c:620: error: undefined reference to 'XChangeProperty'
collect2: ld returned 1 exit status
make[4]: *** [warzone2100] Error 1

Issue migrated from trac:1098 at 2022-04-15 20:06:30 -0700

@wzdev-ci
Copy link
Contributor Author

cybersphinx edited the issue description

@wzdev-ci
Copy link
Contributor Author

Per commented


Ouch. We really do not wish to link directly against X, we use SDL to avoid that. However, I see that the scrap.c abomination does use X calls directly, which is not good. Not sure how to fix this without removing paste functionality.

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Jan 1, 2010

Paul Wise <pabs3@...> commented


Probably best to just depend on X11 for now.

Also, I found this SDL Clipboard implementation:

http://lists.libsdl.org/pipermail/sdl-libsdl.org/2009-April/069897.html

Not sure if it is appropriate to use it though, since it is a prototype and the X11 backend sounds crap:

http://lists.libsdl.org/pipermail/sdl-libsdl.org/2009-April/069955.html
http://playcontrol.net/ewing/jibberjabber/SDL_ClipboardPrototype.html

@wzdev-ci
Copy link
Contributor Author

Per commented


This will be fixed in the Qt branch, until then I doubt that we wish to get into the royal pain that it is to link directly to X11 on all kinds of icky platforms.

@wzdev-ci
Copy link
Contributor Author

Giel changed status from new to closed

@wzdev-ci
Copy link
Contributor Author

Giel set resolution to fixed

@wzdev-ci
Copy link
Contributor Author

Giel commented


(In [9980]) Explicitly link with -lX11 when running on an X11 system because we directly use X11 in lib/widget/scrap.c

This fixes #1098 also reported as DebianBug:556919.

@wzdev-ci
Copy link
Contributor Author

Giel commented


(In [9981]) Backport [9980] from trunk into the 2.3 branch:

Explicitly link with -lX11 when running on an X11 system because we directly use X11 in lib/widget/scrap.c

This fixes #1098 also reported as DebianBug:556919.

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


(In Warzone2100/warzone2100@a6a1ffb) Explicitly link with -lX11 when running on an X11 system because we directly use X11 in lib/widget/scrap.c

This fixes #1098 also reported as DebianBug:556919.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9980 4a71c877-e1ca-e34f-864e-861f7616d084

@wzdev-ci
Copy link
Contributor Author

Buginator commented


Milestone 2.2.5 deleted

@wzdev-ci
Copy link
Contributor Author

Buginator changed milestone from 2.2.5 to 2.3

@wzdev-ci
Copy link
Contributor Author

Git SVN Gateway <gateway@...> commented


In Warzone2100/warzone2100@a6a1ffb:

#CommitTicketReference repository="" revision="a6a1ffbaa0bfea51453cd44227db9e70e55c9de7"
Explicitly link with -lX11 when running on an X11 system because we directly use X11 in lib/widget/scrap.c

This fixes #1098 also reported as DebianBug:556919.

git-svn-id: https://warzone2100.svn.sourceforge.net/svnroot/warzone2100/trunk@9980 4a71c877-e1ca-e34f-864e-861f7616d084

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant