#9276 closed patch
Support for linking with "as-needed"
Reported by: | SF/jmmdebian | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | Port: Linux |
Version: | Keywords: | ||
Cc: | Game: |
Description
Dear ScummVm devs, scuvmm currently can't be built when using the linker feature "--as-needed". Please see http://www.gentoo.org/proj/en/qa/asneeded.xml for a description.
I'm attaching a patch written by Matthias Klose tp fix this. It was reported in the Debian BTS under http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=607182
Please consider merging it for 1.2.2 or 1.3.0.
Cheers, Moritz
Ticket imported from: #3149416. Ticket imported from: patches/1381.
Attachments (1)
Change History (8)
by , 14 years ago
Attachment: | scummvm-as-needed.diff added |
---|
comment:1 by , 14 years ago
comment:2 by , 14 years ago
Hi Moritz, thanks for your patch. And of course we are interested in making things go smoothly for Debian, Ubuntu and other distros.
However, I am slightly confused -- the attached patch only modifies the unit test build system. So when you say "ScummVM can't be built", does that just mean that "make test" fails, or do you see build errors for the ScummVM binary itself? If so, then maybe some other patch is missing?
Moreover, I don't understand what the patch does, and can't find any explanation on e.g. the Debian BTS about the rational behind it. Could you explain? So it moves the LDFLAGS to the very end of the linker command. But why? What is, in fact, the actual error message this patch addresses? The gentoo page you referenced lists all kinds of possible issues, but I really don't like guessing, and also prefer understanding a patch before applying it :).
comment:3 by , 14 years ago
(BTW, my *guess* is that linking order is the crucial aspect here, but I'd like to have this confirmed :)
comment:4 by , 14 years ago
> However, I am slightly confused -- the attached patch only modifies the > unit test build system. So when you say "ScummVM can't be built", does that > just mean that "make test" fails, or do you see build errors for the > ScummVM binary itself? If so, then maybe some other patch is missing?
True, this only affects the test/runner build. However, since it's being build as part of the Debian package, it makes the entire Debian package fail to build. (Note that this doesn't currently affect the Debian toolchain, since Debian is in freeze for the next release. Ubuntu has already made the change, though)
Here's the build logs for ScummVM 1.2.1 with the change applied and w/o: w/o: http://launchpadlibrarian.net/60606441/buildlog_ubuntu-natty-i386.scummvm_1.2.1-1_FAILEDTOBUILD.txt.gz w/: http://launchpadlibrarian.net/60999854/buildlog_ubuntu-natty-i386.scummvm_1.2.1-2ubuntu1_BUILDING.txt.gz
> Moreover, I don't understand what the patch does, and can't find any > explanation on e.g. the Debian BTS about the rational behind it. Could you > explain? So it moves the LDFLAGS to the very end of the linker command. But > why? What is, in fact, the actual error message this patch addresses?
For the specific error see above. It affects the linking of indirectly referenced libs. The background is summarised in the Debian wiki: http://wiki.debian.org/ToolChain/DSOLinking Fedora also collected some info: https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
Cheers, Moritz
comment:5 by , 14 years ago
Owner: | set to |
---|---|
Status: | new → closed |
comment:7 by , 6 years ago
Component: | → Port: Linux |
---|
Moving to patches