Re: DSO linking changes for wheezy
On Mon, Nov 15, 2010 at 21:29:07 -0500, Matt Turner wrote: On Mon, Nov 15, 2010 at 8:15 PM, Samuel Thibault sthiba...@debian.org wrote: Matt Turner, le Mon 15 Nov 2010 19:51:10 -0500, a écrit : On Mon, Nov 15, 2010 at 7:24 PM, Roger Leigh rle...@codelibre.net wrote: What's the actual problem --as-needed is trying to solve? The answer is mainly unwanted libraries being linked in as a result of using pkg-config (and various other -config variants), though there are other, lesser, culprits. The pkg-config .pc files for gtk, gnome and other libraries add in many libraries, most of which aren't typically needed. The solution: fix the .pc files! Using --as-needed is merely papering over the actual root problem. It fixes the symptoms, but it's not addressing the actual cause. The number of packages providing broken .pc files is not large, and the number breaking due to relying on this brokenness is likely just as small. I can't see why you think --as-needed is fundamentally wrong or unnecessary. Check out http://www.gentoo.org/proj/en/qa/asneeded.xml --as-needed has saved tons of time for upgrades like Cairo in Gentoo, where Cairo had been linked to glitz which is now useless and gone. Not a problem, if Cairo was properly exposing the dep. So when people upgraded Cairo, all the software that linked against it (and also unnecessarily linked against glitz) Why did it get linked against glitz? That's where the problem is. I think because -lglitz was in cairo's .pc file. That should be fixed by removing -lglitz from cairo's .pc file, not by passing --as-needed to the linker. Cheers, Julien signature.asc Description: Digital signature
Re: DSO linking changes for wheezy
On Tue, Nov 16, 2010 at 01:14:09 +0100, Matthias Klose wrote: On 14.11.2010 13:19, Julien Cristau wrote: On Fri, Oct 29, 2010 at 15:43:57 +0200, Matthias Klose wrote: For wheezy I'm planning to change the linking behaviour for DSOs (turning on --as-needed and --no-copy-dt-needed-entries. The rationale is summarized in http://wiki.debian.org/ToolChain/DSOLinking. I would like to know about issues with these changes on some of the Debian ports, and if we need to disable one of these changes on some port. --no-add-needed sounds like it'll cause a *lot* of build failures for no particular gain. I don't think it's a good idea. I think it is. Besides fixing potential bugs, else you'll never be able to use gold as the linker. See the already filed bug reports. Exactly, see the already filed reports. You don't need to turn them into build failures before you can file reports and send patches. Cheers, Julien signature.asc Description: Digital signature
Re: DSO linking changes for wheezy
On Tue, Nov 16, 2010 at 01:14:09AM +0100, Matthias Klose wrote: On 14.11.2010 13:19, Julien Cristau wrote: On Fri, Oct 29, 2010 at 15:43:57 +0200, Matthias Klose wrote: For wheezy I'm planning to change the linking behaviour for DSOs (turning on --as-needed and --no-copy-dt-needed-entries. The rationale is summarized in http://wiki.debian.org/ToolChain/DSOLinking. I would like to know about issues with these changes on some of the Debian ports, and if we need to disable one of these changes on some port. --no-add-needed sounds like it'll cause a *lot* of build failures for no particular gain. I don't think it's a good idea. I think it is. Besides fixing potential bugs, else you'll never be able to use gold as the linker. See the already filed bug reports. This change is one I can agree with on technical grounds, though it will cause a great deal of pain in the short term. Have we got any estimates on exactly how much breakage will result before the change gets made? Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. signature.asc Description: Digital signature
Re: DSO linking changes for wheezy
This change is one I can agree with on technical grounds, though it will cause a great deal of pain in the short term. Have we got any estimates on exactly how much breakage will result before the change gets made? Fedora already made the change a full release cycles ago, and Fedora package maintainers (should have) sent their fixes upstream to the various packages that were affected. You can find some of the details of that experience at: https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking https://bugzilla.redhat.com/showdependencytree.cgi?id=564245 -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20101116095858.ad58e2c...@topped-with-meat.com
Re: 64-bit sparc64
Hello, 2010/11/15 David Campbell davek...@archlinux.us: Thanks, I edited the instructions slightly to be able to get a working chroot. When asked if you want to use dash as the default system /bin/sh to improve performance, say n or the setup will fail. Could you file a bug report an tell how the setup fails, that is release candidate (RC) bug. I noticed there does not seem to be a gcc executable. Does anyone have such a package that can be added? It looks like some of the basic tools for building up a system are there but others are missing. At least with GCC I can start compiling the rest :). Getting gcc/glibc (binutils) to build correctly was the major issue I was having when I was trying to follow the Linux From Scratch. gcc-4.4 looks like it is already there: http://packages.debian.org/sid/sparc64/gcc-4.4/download -- Héctor Orón Our Sun unleashes tremendous flares expelling hot gas into the Solar System, which one day will disconnect us. -- Day DVB-T stop working nicely Video flare: http://antwrp.gsfc.nasa.gov/apod/ap100510.html -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/aanlktike-qdnoa0ozczat6lfoz+jhdosugg_ot6ej...@mail.gmail.com
Re: DSO linking changes for wheezy
* Kurt Roeckx k...@roeckx.be [101114 14:08]: People have been claiming that constructors or init section are a possible problem. I have yet to see an example where it breaks. The following example is a bit constructed, but shows a silent change of run-time behaviour if --as-needed is passed: $ cat ertest.c 'EOF' #include stdio.h #include stdlib.h #include X11/Xutil.h #include X11/Intrinsic.h #include X11/Shell.h static String fr[] = { *geometry: 100x100\n, NULL }; int main(int argc, String argv[]) { XtAppContext context; Widget app_shell; app_shell = XtOpenApplication(context, ERTEST, NULL, 0, argc, argv, fr, applicationShellWidgetClass, NULL, 0); XtRealizeWidget(app_shell); XtAppMainLoop(context); return 0; } EOF $ gcc -o ertest -Wall -O2 ertest.c -lXaw -lXt $ ./ertest $ editres # Select Commands/Get Tree and click at the window the first program created $ gcc -o ertest -Wl,--as-needed -Wall -O2 ertest.c -lXaw -lXt $ ./ertest $ editres # Try it again and it fails now... Bernhard R. Link -- Never contain programs so few bugs, as when no debugging tools are available! Niklaus Wirth -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20101116100120.ga29...@pcpool00.mathematik.uni-freiburg.de
Re: DSO linking changes for wheezy
On Tue, Nov 16, 2010 at 09:49:08AM +0100, Julien Cristau wrote: On Mon, Nov 15, 2010 at 21:29:07 -0500, Matt Turner wrote: I can't see why you think --as-needed is fundamentally wrong or unnecessary. Check out http://www.gentoo.org/proj/en/qa/asneeded.xml --as-needed has saved tons of time for upgrades like Cairo in Gentoo, where Cairo had been linked to glitz which is now useless and gone. Not a problem, if Cairo was properly exposing the dep. So when people upgraded Cairo, all the software that linked against it (and also unnecessarily linked against glitz) Why did it get linked against glitz? That's where the problem is. I think because -lglitz was in cairo's .pc file. That should be fixed by removing -lglitz from cairo's .pc file, not by passing --as-needed to the linker. I agree with you, -lglitz should never have been listed in the .pc file to begin with. However, *given* that it was there, the default --no-as-needed behavior means that removing libglitz is more painful than it would be otherwise, because instead of just rebuilding cairo itself without glitz, you must rebuild everything above cairo in the stack that used pkg-config for linking. I don't argue that this makes --as-needed *correct* as a default, but I think it's clear how using --as-needed may benefit a distribution in terms of reducing churn when library dependencies change. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developerhttp://www.debian.org/ slanga...@ubuntu.com vor...@debian.org -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20101116171440.gf30...@virgil.dodds.net
Re: DSO linking changes for wheezy
Steve Langasek, le Tue 16 Nov 2010 09:14:40 -0800, a écrit : I don't argue that this makes --as-needed *correct* as a default, but I think it's clear how using --as-needed may benefit a distribution in terms of reducing churn when library dependencies change. We agree on the second part, but the change of behavior makes it unacceptable as default, thus making the second part void. Samuel -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20101116174307.gk5...@const.bordeaux.inria.fr
Re: DSO linking changes for wheezy
On 16.11.2010 10:42, Roger Leigh wrote: On Tue, Nov 16, 2010 at 01:14:09AM +0100, Matthias Klose wrote: On 14.11.2010 13:19, Julien Cristau wrote: On Fri, Oct 29, 2010 at 15:43:57 +0200, Matthias Klose wrote: For wheezy I'm planning to change the linking behaviour for DSOs (turning on --as-needed and --no-copy-dt-needed-entries. The rationale is summarized in http://wiki.debian.org/ToolChain/DSOLinking. I would like to know about issues with these changes on some of the Debian ports, and if we need to disable one of these changes on some port. --no-add-needed sounds like it'll cause a *lot* of build failures for no particular gain. I don't think it's a good idea. I think it is. Besides fixing potential bugs, else you'll never be able to use gold as the linker. See the already filed bug reports. This change is one I can agree with on technical grounds, though it will cause a great deal of pain in the short term. Have we got any estimates on exactly how much breakage will result before the change gets made? see http://wiki.debian.org/ToolChain/DSOLinking#Furtherinformation referenced in the first email of this thread. -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4ce2c7c5.5040...@debian.org
Re: DSO linking changes for wheezy
* Roland McGrath: I can't see why you think --as-needed is fundamentally wrong or unnecessary. It is fundamentally wrong because -lfoo means I demand that the initializers of libfoo.so run, whether or not I called anything in it. So it's more like static linking. 8-) IMHO, the current difference in behavior between dynamic and static linking is quite odd. --as-needed changes only one tiny aspect, unfortunately. -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87zkt95ciy@mid.deneb.enyo.de
Re: DSO linking changes for wheezy
Florian Weimer, le Tue 16 Nov 2010 19:49:57 +0100, a écrit : * Roland McGrath: I can't see why you think --as-needed is fundamentally wrong or unnecessary. It is fundamentally wrong because -lfoo means I demand that the initializers of libfoo.so run, whether or not I called anything in it. So it's more like static linking. 8-) ?! Initializers are called dynamically, and if you upgrade the library, the new initializers will be called (and new ones will be called as well!). I don't see what you see static here. Samuel -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20101116191430.gf5...@const.famille.thibault.fr
Re: DSO linking changes for wheezy
On Tue, Nov 16, 2010 at 07:04:53PM +0100, Matthias Klose wrote: On 16.11.2010 10:42, Roger Leigh wrote: On Tue, Nov 16, 2010 at 01:14:09AM +0100, Matthias Klose wrote: On 14.11.2010 13:19, Julien Cristau wrote: On Fri, Oct 29, 2010 at 15:43:57 +0200, Matthias Klose wrote: For wheezy I'm planning to change the linking behaviour for DSOs (turning on --as-needed and --no-copy-dt-needed-entries. The rationale is summarized in http://wiki.debian.org/ToolChain/DSOLinking. I would like to know about issues with these changes on some of the Debian ports, and if we need to disable one of these changes on some port. --no-add-needed sounds like it'll cause a *lot* of build failures for no particular gain. I don't think it's a good idea. I think it is. Besides fixing potential bugs, else you'll never be able to use gold as the linker. See the already filed bug reports. This change is one I can agree with on technical grounds, though it will cause a great deal of pain in the short term. Have we got any estimates on exactly how much breakage will result before the change gets made? see http://wiki.debian.org/ToolChain/DSOLinking#Furtherinformation referenced in the first email of this thread. I had a look at that, and we've got (summarised) 413 outstanding bugs 308 fixed/pending So there's still some way to go, but looking promising. I did notice that all those bugs were filed almost exactly a year ago. This won't have picked up issues with current packages, such as the Boost link failures I've encountered. Would it be possible to repeat the archive-wide rebuild with our current sources? Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' Printing on GNU/Linux? http://gutenprint.sourceforge.net/ `-GPG Public Key: 0x25BFB848 Please GPG sign your mail. signature.asc Description: Digital signature
Re: 64-bit sparc64
Excerpts from Hector Oron's message of 2010-11-16 05:26:28 -0500: 2010/11/15 David Campbell davek...@archlinux.us: Thanks, I edited the instructions slightly to be able to get a working chroot. When asked if you want to use dash as the default system /bin/sh to improve performance, say n or the setup will fail. Could you file a bug report an tell how the setup fails, that is release candidate (RC) bug. apt-get could not resolve domain names inside the chroot, so I had to replace them with IPs. Guess this is a bug as well? How do I report something as a release candidate bug? -- David Campbell -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1289967871-sup-2...@hypnos
Re: 64-bit sparc64
Excerpts from David Campbell's message of 2010-11-17 01:06:36 -0500: apt-get could not resolve domain names inside the chroot, so I had to replace them with IPs. Sorry about this, my mistake. I had to setup my /etc/resolv.conf file. Can someone who has revert privileges on the wiki please revert my last edit. -- David Campbell -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1289977433-sup-4...@hypnos
Re: 64-bit sparc64
Excerpts from David Campbell's message of 2010-11-17 02:09:25 -0500: Excerpts from David Campbell's message of 2010-11-17 01:06:36 -0500: apt-get could not resolve domain names inside the chroot, so I had to replace them with IPs. Sorry about this, my mistake. I had to setup my /etc/resolv.conf file. Can someone who has revert privileges on the wiki please revert my last edit. Ahh... reverted it myself... -- David Campbell -- To UNSUBSCRIBE, email to debian-sparc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1289978319-sup-8...@hypnos