View previous topic :: View next topic |
Author |
Message |
jmbsvicetto Moderator
Joined: 27 Apr 2005 Posts: 4734 Location: Angra do Heroísmo (PT)
|
Posted: Sun Nov 16, 2008 5:48 pm Post subject: Call for --as-needed testing |
|
|
For quite sometime, there has been an on-going discussion about --as-needed in the Gentoo community, with several threads in the gentoo dev ml, that finally lead to a discussion by the Gentoo Council and to the as-needed by default bug. You can read more about --as-needed and how to fix packages that fail to build with it in the --as-needed introduction and fixing guide written by flameeyes.
Diego has been building the whole tree with --as-needed and already found out a few issues and has a plan on how to deal with those issues. He's now asking for members of the community to help rapidly increase the scope of the test effort. If you want to help, follow the instructions in his blog entry and open up a new bug in Bugzilla blocking the --as-needed tracker bug. Be warned, that you should only run these tests if you understand what you're doing and if anything breaks it's up to you to pick up the pieces. Use this thread for discussion about the testing.
We strongly suggest you use a testing system or a chroot to do this testing and be warned that python/ruby/perl/whatever-non-c-bindings might fail at runtime since they are not tested at build-time. As Diego isn't testing any overlays, it would be very useful if you could test the overlays you use. _________________ Jorge.
Your twisted, but hopefully friendly daemon.
AMD64 / x86 / Sparc Gentoo
Help answer || emwrap.sh
|
|
Back to top |
|
|
widremann Veteran
Joined: 14 Mar 2005 Posts: 1314
|
Posted: Sat Dec 27, 2008 4:14 pm Post subject: |
|
|
I've been running my laptop system with --as-needed for a while now and I haven't had anything break, at least not in any way that's obvious. |
|
Back to top |
|
|
ppurka Advocate
Joined: 26 Dec 2004 Posts: 3256
|
Posted: Sat Dec 27, 2008 4:31 pm Post subject: |
|
|
I am using --as-needed too for about 6 months. All packages compile and run properly. (Except alpine which I have in my local overlay).
My package list includes parts of kde, rox, enlightenment (from overlay), firefox, stable xorg, glibc-2.8, gcc-4.3.1 _________________ emerge --quiet redefined | E17 vids: I, II | Now using kde5 | e is unstable :-/ |
|
Back to top |
|
|
Letharion Veteran
Joined: 13 Jun 2005 Posts: 1344 Location: Sweden
|
Posted: Tue Jan 20, 2009 4:04 pm Post subject: |
|
|
I used the --as-needed gcc-profile and did
Code: | emwrap -Sb && emwrap -W |
(so basically emerge -e system && emerge -e world) and every single package compiled flawlessly.
We'll see what happens at runtime, and if I start getting wierd crashed I'll report back, but so far everything is working well.
[Edit]dev-java/swt-3.4-r2 needs to be build without --as-needed for Vuze to start. Bug has been filed[/Edit]
[Edit]20 days have passed. No crashes yet, afaik.[/Edit]
Here is my world/keywords/use file. I assume that someone who knows gentoo better than me can derive what packages I have from this.
I'm on x86.
World
Code: | app-admin/eselect
app-admin/logrotate
app-admin/syslog-ng
app-arch/karchiver
app-arch/p7zip
app-arch/unrar
app-arch/unzip
app-benchmarks/bootchart
app-cdr/bin2iso
app-cdr/k3b
app-editors/gvim
app-editors/vim
app-emulation/kvm
app-emulation/vmware-modules
app-emulation/vmware-player
app-emulation/wine
app-misc/klive
app-misc/screen
app-portage/eix
app-portage/genlop
app-portage/gentoolkit
dev-db/mysql
dev-db/sqlite:3
dev-java/jfreechart
dev-lang/nasm
dev-lang/php
dev-libs/eventlog
dev-libs/expat
dev-util/ddd
dev-util/git
dev-util/subversion
games-emulation/dosbox
games-simulation/openttd
kde-base/kalarm
kde-base/kate
kde-base/kcalc
kde-base/kdebase-startkde
kde-base/kdemultimedia-kioslaves
kde-base/kdm
kde-base/kpdf
kde-misc/kdiff3
media-gfx/gimp
media-libs/sdl-gfx
media-libs/sdl-ttf
media-sound/alsa-utils
media-sound/amarok
media-sound/mplay
media-video/vlc
net-dialup/pptpclient
net-dns/noip-updater
net-im/pidgin
net-im/skype
net-misc/dhcpcd
net-misc/ntp
net-p2p/azureus
net-p2p/ctorrent
net-www/netscape-flash
sys-apps/slocate
sys-apps/sysvinit
sys-boot/grub
sys-devel/autoconf-wrapper
sys-devel/gdb
sys-kernel/gentoo-sources
sys-kernel/gentoo-sources:2.6.26-r3
sys-kernel/gentoo-sources:2.6.26-r4
sys-process/lsof
sys-process/vixie-cron
www-client/links
www-client/mozilla-firefox
www-client/opera
www-servers/apache
x11-apps/mesa-progs
x11-base/xorg-server
x11-drivers/nvidia-drivers
x11-terms/eterm |
Package.keywords
Code: | games-simulation/openttd
#Needed for newest vmware
app-emulation/vmware-player
app-emulation/vmware-modules
x11-libs/libview
#28 will be stabilised once 29 is released
=sys-kernel/gentoo-sources-2.6.28*
#Still masked
sys-apps/baselayout
sys-apps/openrc
#These are needed for OpenRC and friends
sys-fs/udev
sys-apps/sysvinit
sys-apps/hal
sys-fs/cryptsetup
#I want unstable KVM.
app-emulation/kvm
#Trying 4.3
sys-devel/gcc |
Package.use
Code: | dev-java/swt -firefox xulrunner
app-benchmarks/bootchart acct
app-benchmarks/bootchart java
games-simulation/openttd scenarios
app-editors/gvim bash-completion
dev-cpp/gtkmm accessibility
dev-lang/python sqlite
www-client/links -X -jpeg -png -sdl -tiff
media-video/vlc a52 aac aalib atmo cdda cddb cdio dts dvb flac fontconfig ggi id3tag jack libass libcaca libv4l2 live matroska modplug musepack optimisememory pvr pulseaudio schroedinger sdl-image shout speex stream svga taglib theora v4l v4l2 vcd x264
app-emulation/qemu-softmmu gnutls
app-emulation/kvm -alsa -esd gnutls
dev-util/subversion -webdav-neon
app-portage/layman subversion git |
Last edited by Letharion on Mon Feb 09, 2009 9:22 am; edited 1 time in total |
|
Back to top |
|
|
seqizz Tux's lil' helper
Joined: 14 Jan 2008 Posts: 103
|
Posted: Tue Feb 03, 2009 8:49 am Post subject: :\ |
|
|
Same here, --as-needed with ~x86, no break at all. Gnome desktop system. |
|
Back to top |
|
|
balkira Tux's lil' helper
Joined: 25 Dec 2004 Posts: 116 Location: /local/pub
|
Posted: Mon Feb 09, 2009 1:29 am Post subject: |
|
|
--as-needed works ok for me. Full Xfce4 desktop running.
Code: | ACCEPT_KEYWORDS="~x86"
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
LDFLAGS="-Wl,--as-needed"
FEATURES="fixpackages candy parallel-fetch"
MAKEOPTS="-j3"
PORTAGE_NICENESS="19" # 19 lowest -19 highest
PORTAGE_ELOG_CLASSES="warn error log"
VIDEO_CARDS="intel"
INPUT_DEVICES="synaptics mouse keyboard evdev"
USE="X opengl cairo jpeg jpeg2k glitz bash-completion dbus alsa hal java \
ccache gtk xcb fuse ffmpeg sdl wifi apache2 mysql ncurses \
sqlite emerald svg v4l scanner cupsddk usb gphoto2 samba hddtemp \
acpi lm_sensors battery cpufreq git subversion sensord \
gnuplot imagemagick fbcondecor"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
|
_________________ no way to happiness, happiness is the way |
|
Back to top |
|
|
DigitalCorpus Apprentice
Joined: 30 Jul 2007 Posts: 283
|
Posted: Tue Feb 17, 2009 11:14 am Post subject: |
|
|
All but one package on my ~amd64 system compiles with --as-needed
make.conf excerpt
Code: | CFLAGS="-march=core2 -O2 -pipe -mno-push-args -mcx16 -msahf"
#CFLAGS="-march=core2 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now -Wl,--hash-style=gnu" # Use this till something breaks
#LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,-z,now -Wl,--hash-style=gnu" # Then use this |
I evolved to using the extra CFLAGS system wide when I saw no crashes or instability. Same with LDFLAGS. _________________ Atlas (HDTV PVR, HTTP & Media server)
http://mobrienphotography.com/ |
|
Back to top |
|
|
toralf Developer
Joined: 01 Feb 2004 Posts: 3922 Location: Hamburg
|
Posted: Wed Feb 18, 2009 4:23 pm Post subject: |
|
|
Works fine for an user mode linux image (stable x86, courier, cups, apache2, mysql). |
|
Back to top |
|
|
LoSeR_5150 Guru
Joined: 20 Mar 2005 Posts: 455 Location: San Francisco, CA
|
Posted: Tue Feb 24, 2009 9:41 pm Post subject: |
|
|
So far working without any noticeable problems on both my machines _________________ Opteron 1356@2.4Ghz
6GB DDR2 800Mhz
128MB Quadro NVS 210S
640GB Western Digital HD
*Gentoo-x86_64-2.6.30-r1
Opteron175@2.2GHz
2GB DDR 400MHz
256MB Quadro 1400 Go
(2) 80GB Segate HDs: RAID0
*Gentoo-x86_64-2.6.30-r1 |
|
Back to top |
|
|
CapnBuzzkill n00b
Joined: 16 Mar 2007 Posts: 23 Location: Holland
|
Posted: Thu Feb 26, 2009 11:44 pm Post subject: |
|
|
I noticed today that app-text/sablotron-1.0.1 (x86) fails to emerge with --as-needed (it does emerge succesfully without it). After searching Bugzilla, I found this bug, which has a patch for version 1.0.3. I confirmed that app-text/sablotron-1.0.3 (~x86) does emerge with --as-needed, but I do wonder why version 1.0.1 is still the latest stable version when the patch for version 1.0.3 has been committed almost two years ago. (I didn't see any other bugs in Bugzilla that I think would prevent the stabilization of app-text/sablotron-1.0.3, but I could be wrong ofcourse). I can understand that "--as-needed"-bugs don't get the highest priority, but two years seems like a very long time, doesn't it? |
|
Back to top |
|
|
dreadlorde Apprentice
Joined: 16 Dec 2008 Posts: 243 Location: /adm/timezone/US_Michigan
|
Posted: Fri Feb 27, 2009 2:00 am Post subject: |
|
|
I've been using --as-needed for about a month now and haven't noticed any bugs from it so far.
_________________ Ludwig von Mises Institute Quote: | I am not to be a shepherd, I am not to be a grave-digger. No longer will I speak to the people; for the last time I have spoken to the dead. |
|
|
Back to top |
|
|
mack1 Guru
Joined: 18 Mar 2006 Posts: 315
|
Posted: Wed Mar 04, 2009 12:38 pm Post subject: |
|
|
Same here !!!
I am using "--as-needed" on pentium4,core2 and k10 (AMD64) and it works fine.
My LDFLAGS:
Code: |
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common -s"
|
|
|
Back to top |
|
|
natros n00b
Joined: 26 Sep 2003 Posts: 70
|
Posted: Wed Mar 04, 2009 1:34 pm Post subject: |
|
|
No problems here either
Is there any advantage using --hash-style=gnu ? _________________ -=[abit ip35 pro core2quad q6600 (oc 3.0 ghz) 8 gb ram 2x320 raid0 ext4 xfx8800gt 512mb]=- |
|
Back to top |
|
|
skutnar n00b
Joined: 13 Jun 2006 Posts: 65
|
Posted: Thu Mar 05, 2009 12:54 am Post subject: |
|
|
I've been running with system and world completely re-emerged using the gcc spec file --as-needed set up described by Flameeyes. I had no compilation problems (I'd already prepped device-mapper via https://bugs.gentoo.org/show_bug.cgi?id=259569) and no noticeable runtime issues.
As for --hash-style=gnu, the following is a little old, but may offer some background: https://bugs.gentoo.org/show_bug.cgi?id=259569 |
|
Back to top |
|
|
natros n00b
Joined: 26 Sep 2003 Posts: 70
|
Posted: Thu Mar 05, 2009 2:14 pm Post subject: |
|
|
The link you provided doesn't say anything about the --hash-style=gnu _________________ -=[abit ip35 pro core2quad q6600 (oc 3.0 ghz) 8 gb ram 2x320 raid0 ext4 xfx8800gt 512mb]=- |
|
Back to top |
|
|
skutnar n00b
Joined: 13 Jun 2006 Posts: 65
|
Posted: Sat Mar 07, 2009 6:33 pm Post subject: |
|
|
Whoops! Sorry, I guess copy/paste didn't work right. Here's the page I meant: http://www.gentoo-wiki.info/HOWTO_Hashstyle
As I said, this is a little on the old side, but can be useful for some history. |
|
Back to top |
|
|
iBormuth n00b
Joined: 13 Jan 2004 Posts: 59
|
Posted: Tue Apr 07, 2009 3:26 pm Post subject: Cool |
|
|
Wow, that sounds like a positive response all over the place. Same here. I'm using --as-needed since months without any problem so far. At least none that I knew of ;). It's a x86 stable system with ~1300 packages installed, ~200 lines in packages.keywords :P and gcc-4.3.3. |
|
Back to top |
|
|
justinkb Apprentice
Joined: 23 Dec 2008 Posts: 161
|
Posted: Tue Apr 07, 2009 6:51 pm Post subject: |
|
|
works fine here. ~amd64 system, gcc 4.4.0svn with graphite flags enabled... solid as a rock on two machines. |
|
Back to top |
|
|
Uzytkownik Guru
Joined: 31 Oct 2004 Posts: 399 Location: Bay Area, US
|
Posted: Sat Apr 11, 2009 11:01 pm Post subject: |
|
|
Works on ~x86+gnome-overlay+a few others but I have to admit the system was built originally with --add-needed in pararell. But no problems (unless this is relates). _________________ I've probably left my head... somwhere. Please wait untill I find it. |
|
Back to top |
|
|
TinheadNed Guru
Joined: 05 Apr 2003 Posts: 339 Location: Farnborough, UK
|
Posted: Thu Apr 16, 2009 4:43 pm Post subject: |
|
|
syslog-ng 2.1.4 isn't building for me on 2.1.4, I've put a bug out.
I have no idea how to fix it. |
|
Back to top |
|
|
Hwoarang Retired Dev
Joined: 24 Feb 2007 Posts: 701 Location: Leeds, UK
|
Posted: Tue May 05, 2009 11:36 am Post subject: |
|
|
Fresh new ( 2 months ) Phenom installation, full --as-needed enabled. No problems at all |
|
Back to top |
|
|
Yamakuzure Advocate
Joined: 21 Jun 2006 Posts: 2283 Location: Adendorf, Germany
|
Posted: Wed Jun 03, 2009 9:59 am Post subject: |
|
|
Two systems:
New PhenomII based system (since march 09), with everything installed using: Code: | CFLAGS="-march=amdfam10 -O2 -pipe -mno-push-args -mcx16 -msahf -funroll-loops -ftree-vectorize"
LDFLAGS="-s -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now -Wl,--hash-style=gnu"
CXXFLAGS="${CFLAGS}" | and my laptop I completely re-installed in january 2009 (Intel Core2) with Code: | CFLAGS="-march=core2 -O2 -pipe -mno-push-args -mcx16 -msahf -funroll-loops -ftree-vectorize"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-s -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now -Wl,--hash-style=gnu" | both with absolutely no problems. _________________ Important German:- "Aha" - German reaction to pretend that you are really interested while giving no f*ck.
- "Tja" - German reaction to the apocalypse, nuclear war, an alien invasion or no bread in the house.
|
|
Back to top |
|
|
rjtupas n00b
Joined: 26 Jul 2003 Posts: 59 Location: Coronado, CA USA
|
Posted: Thu Jul 30, 2009 12:40 am Post subject: Problems with Snort, SETools, and Rhythmbox Last FM plugin |
|
|
Set LDFLAGS to --as-needed and performed emerge -e world. Only issues encountered so far:
1. Snort would segfault on startup. Commented out LDFLAGS entry in make.conf and rebuilt snort to fix the problem. I suppose "fix" is a bad choice of words, but at least it confirmed the failure was due to the --as-needed LDFLAG.
2. During emerge -e world, setools would fail to compile. I have since rebuilt my system (emerge -e world) with the --as-needed LDFLAG disabled. Setools still fails to compile with the same error in libseaudit/swig/python. So at least this error is NOT due to the --as-needed LDFLAG. I will submit a separate bug on this one.
The errors stated,
Code: | ... libseaudit/swig/python
fstatat64 is already defined
fslat64 is already defined ...
|
The same for lstat64 and slat64.
I also set MAKEOPT=-j1, but to no avail.
3. The lastfm plugin for Rhythmbox stopped working and could not be restarted. Rebuilding the system with the --as-needed LDFLAG disabled resolved this problem, confirming the error is due to the experimental flag. Haven't had time to investigate further.
Any insight would be appreciated. I did read flameeyes' guide, but none of the common problems seemed to apply.
TIA,
Randy
Last edited by rjtupas on Sun Aug 02, 2009 5:59 am; edited 3 times in total |
|
Back to top |
|
|
Bircoph Developer
Joined: 27 Jun 2008 Posts: 261 Location: Moscow
|
Posted: Fri Jul 31, 2009 5:29 pm Post subject: |
|
|
I read this topic, mostly it is success story and I tried myself. My make.conf is available here: https://forums.gentoo.org/posting.php?mode=quote&p=5871986
For the start I tested on single, but near-critical application for me: sci-physics/root. This is complicated and rather fragile program, thus this is good test for anything new, especially taking into account I need it for my work.
So I changed added "-Wl,--as-needed" to my LDFLAGS. root compiles ok, it starts ok, e.g. no unresolved symbol failures, it works. But(!) on some functions it failed, it silently freezes, no error messages, no logs, it just hangs up. strace reveals a failure point in some futex() lockup after dynamical loading of some libs and object dictionaries, I haven't explored the problem further.
In no doubt this is fixable, but I'm afraid with a large effort, I doubt recursive recompilation of all involved libraries will help (root's dictionaries systems sometimes makes me cry).
What is worse, this failure is run-time and silent. I can afford compilation failure of application due to some option, I may handle this in time or fallback to previous state, but run-time failure of mission-critical application is absolutely unacceptable. That's why I consider -Wl,--as-needed as unsafe linking option and unfortunately refuse it for now. _________________ Per aspera ad astra! |
|
Back to top |
|
|
Mike Hunt Watchman
Joined: 19 Jul 2009 Posts: 5287
|
Posted: Tue Aug 04, 2009 3:47 pm Post subject: |
|
|
I've been using -Wl,--as-needed for at least 2-3 years - maybe longer. Used to be imlib failed to emerge with -Wl,--as-needed but that has been solved for a long time.
The only issue today is media-plugins/live and samba fail to build with -Bdirect. Otherwise everything runs perfectly.
Code: | # emerge --info | head -n1
Portage 2.2_rc33 (default/linux/x86/2008.0/desktop, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r4 i686)
# qlist -I | wc -l
1160 |
|
|
Back to top |
|
|
|