Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
GCC 4.5 testing
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 13, 14, 15  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
rhill
Retired Dev
Retired Dev


Joined: 22 Oct 2004
Posts: 1629
Location: sk.ca

PostPosted: Mon Jul 26, 2010 4:59 am    Post subject: Reply with quote

you shouldn't run into any problems rebuilding the toolchain, or anything really, with normal CFLAGS. if you are then something is wrong.

the version in the tree is the one you should use. 4.5.1 will be released soon and once it is added I'll be pushing to get it unmasked.
_________________
by design, by neglect
for a fact or just for effect
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Mon Jul 26, 2010 12:43 pm    Post subject: Reply with quote

dirtyepic,
Thanks much for the quick reply- I really appreciate all the work being done on 4.5.x., and I'm looking forward to moving there :D
However, I'm still unclear if you're referring to the portage tree, or the overlay. Also, still no answers to my questions in my previous post. If I'm suppose to have a global and/or per package lto USE flag, or not? Is my procedure correct, or am i missing something. From reading this thread, there seems to be no real consenses as to what works.

Would running a pure ~amd64 system with nomultilib flag be causing libtool to fail with gcc-4.5 (c compiler doesn't work) because the libtool-2.2.10 ebuild says "inherit eutils autotools multilib"?

On Arch, which has moved to gcc-4.5.0 in testing, they seem to be using normal flags, and none of the flags listed in the 4.5 man page. Allan, a dev over there clued me into that, and i did look at their pkgbuilds, but found no clue as to what must be going wrong with my attempts. Even with just the normal flags, I must be doing something wrong and making a simple mistake. Again, do I need an lto USE flag? Enabled for gcc before I emerge 4.5.0, or after? Cloog and ppl?
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Mon Jul 26, 2010 7:32 pm    Post subject: Reply with quote

Don't know if this thread is only for the gcc-porting overlay, or gcc-4.5.0 in general. The following refers to the portage masked gcc-4.5.0 ebuild.

OK. I hadn't emerged ppl and cloog-ppl on this box, so I did, went to bare-bones cflags by removing -ftree-vectorize, -floop-interchange, -floop-strip-mine, and -floop-block (current emerge --info below), and rebuilt gcc-4.5.0. Apparently, ppl and cloog-ppl are disabled by default.

I then rebuilt the toolchain including libtool. which previously (with the now removed flags) libtool always failed immediately with the c compiler not working. That was my main sticking point.

Anyway, I just cleanly finished up an emerge -e @system with the new gcc-4.5.0 toolchain (163 packages), with zero problems. Will try emerge -e @world later tonight, or maybe tomorrow.

I'm happy with the progress, but I'm a little disappointed not being able to enable -flto and the 3 graphite enabling flags.
Code:
 amd64 wrc # emerge --info
Portage 2.2_rc67 (default/linux/amd64/10.0/no-multilib, gcc-4.5.0, glibc-2.11.2-r0, 2.6.34-ck1 x86_64)
=================================================================
System uname: Linux-2.6.34-ck1-x86_64-AMD_Athlon-tm-_Dual_Core_Processor_5050e-with-gentoo-2.0.1
Timestamp of tree: Sun, 25 Jul 2010 20:30:01 +0000
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r3, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.8.5-r3, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r1, 4.5.0
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
virtual/os-headers:  2.6.34
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="C"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="   "
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X acl acpi alsa amd64 berkdb bzip2 cli cracklib crypt cups cxx dbus dri dvd dvdr dvdread fortran gdbm gnome gpm gtk gtk2 hal iconv java jpeg kde kdehiddenvisibility mmx mmxext modules mudflap ncurses nls nptl nptlonly nsplugin opengl openmp pam pcre perl pppd python qt qt3support qt4 readline reflection session smp spl sse sse2 ssl sysfs tcpd unicode xcomposite xorg xv xvid zlib" ALSA_CARDS="atiixp atiixp-modem hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa radeon fbdev" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
rhill
Retired Dev
Retired Dev


Joined: 22 Oct 2004
Posts: 1629
Location: sk.ca

PostPosted: Tue Jul 27, 2010 1:06 am    Post subject: Reply with quote

I'm talking about the portage ebuild. The gcc-porting overlay is empty at the moment and the toolchain overlay is full of scary things we should leave alone for now.

First of all, enabling the "graphite" USE flag will allow you to use the graphite-related CFLAGS (-floop-*). It will also cause ppl and cloog to be installed if they aren't already. Enabling the "lto" USE flag will pull in elfutils and allow you to use -flto. You can set these USE flags globally in make.conf or as a per-package USE flag in /etc/portage/package.use (it doesn't matter which). After you enable them, you will have to rebuild gcc-4.5.0 to be able to use that functionality.

I'm not sure what the problem you were having with libtool. When you get a configure error telling you the C compiler doesn't work, you can usually look in config.log in the build directory to see exactly what the problem is. Glad to hear it's working now though, and hopefully you can get the rest going soon.
_________________
by design, by neglect
for a fact or just for effect
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Tue Jul 27, 2010 3:22 am    Post subject: Reply with quote

dirtyepic,
Thanks much for the detailed info- I really appreciate it! :D

I'll enable everything you mention above, and re-do everything I've done (rebuild gcc-4.5.0, the toolchain, and emerge -e @system) before I try the big emerge -e @world.

Hope I don't run into the libtool failure again. I'm thinking it's possibly -ftree-vectorize, but I've been using that on ~x86 and ~amd64 for years now, and never had a problem before.

I did look at the config.log for libtool, but didn't see anything I could say was the cause, but I'm no expert. One time it didn't create the log, and I've since removed /var/tmp/portage/*, or i could post it. If it happens again, I'll be sure and keep any /var/tmp/portage/* files, and try and find the problem.

Thanks again!
EDIT: OK- enabled graphite and lto USE flags, with these cflags in make.conf, and got through the GCC-4.5.0 and toolchain rebuild, including libtool, without the c compiler problem.
Code:
ACCEPT_KEYWORDS="~amd64"
CFLAGS="-O2 -march=k8 -pipe -fomit-frame-pointer -ftree-vectorize -flto -floop-interchange -floop-strip-mine -floop-block"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"


Now starting emerge -e @system.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Tue Jul 27, 2010 9:39 am    Post subject: Reply with quote

Hmmm. I did an emerge -e @system --keep-going, and 18 files of 166 failed
Code:
The following 18 packages have failed to build or install:
 *
 *  ('ebuild', '/', 'dev-libs/gmp-5.0.1', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:gmp-5.0.1:20100727-045611.log'
 *  ('ebuild', '/', 'dev-libs/ppl-0.10.2-r1', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:ppl-0.10.2-r1:20100727-051335.log'
 *  ('ebuild', '/', 'dev-libs/libusb-0.1.12-r7', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:libusb-0.1.12-r7:20100727-051653.log'
 *  ('ebuild', '/', 'dev-libs/libpcre-8.02', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:libpcre-8.02:20100727-054037.log'
 *  ('ebuild', '/', 'sys-libs/ncurses-5.7-r5', 'merge'), Log file:
 *   '/var/log/portage/sys-libs:ncurses-5.7-r5:20100727-054559.log'
 *  ('ebuild', '/', 'sys-process/procps-3.2.8-r1', 'merge'), Log file:
 *   '/var/log/portage/sys-process:procps-3.2.8-r1:20100727-054900.log'
 *  ('ebuild', '/', 'sys-devel/bc-1.06.95', 'merge'), Log file:
 *   '/var/log/portage/sys-devel:bc-1.06.95:20100727-055201.log'
 *  ('ebuild', '/', 'dev-lang/perl-5.12.1-r1', 'merge'), Log file:
 *   '/var/log/portage/dev-lang:perl-5.12.1-r1:20100727-060205.log'
 *  ('ebuild', '/', 'sys-apps/dbus-1.2.24', 'merge'), Log file:
 *   '/var/log/portage/sys-apps:dbus-1.2.24:20100727-061027.log'
 *  ('ebuild', '/', 'dev-lang/python-2.6.5-r3', 'merge'), Log file:
 *   '/var/log/portage/dev-lang:python-2.6.5-r3:20100727-063455.log'
 *  ('ebuild', '/', 'sys-apps/file-5.04', 'merge'), Log file:
 *   '/var/log/portage/sys-apps:file-5.04:20100727-064035.log'
 *  ('ebuild', '/', 'dev-lang/python-3.1.2-r4', 'merge'), Log file:
 *   '/var/log/portage/dev-lang:python-3.1.2-r4:20100727-064647.log'
 *  ('ebuild', '/', 'dev-libs/glib-2.24.1-r1', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:glib-2.24.1-r1:20100727-065458.log'
 *  ('ebuild', '/', 'dev-libs/dbus-glib-0.86', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:dbus-glib-0.86:20100727-065707.log'
 *  ('ebuild', '/', 'sys-fs/udev-160', 'merge'), Log file:
 *   '/var/log/portage/sys-fs:udev-160:20100727-065824.log'
 *  ('ebuild', '/', 'sys-libs/db-4.8.30', 'merge'), Log file:
 *   '/var/log/portage/sys-libs:db-4.8.30:20100727-065854.log'
 *  ('ebuild', '/', 'sys-libs/db-4.7.25_p4', 'merge'), Log file:
 *   '/var/log/portage/sys-libs:db-4.7.25_p4:20100727-070225.log'
 *  ('ebuild', '/', 'sys-auth/polkit-0.96-r2', 'merge'), Log file:
 *   '/var/log/portage/sys-auth:polkit-0.96-r2:20100727-070604.log'
 *
with these type of errors:
Code:
gmp FAILS with:
libtool: link: x86_64-pc-linux-gnu-ranlib .libs/libgmp.a
libtool: link: rm -fr .libs/libgmp.lax
libtool: link: ( cd ".libs" && rm -f "libgmp.la" && ln -s "../libgmp.la" "libgmp.la" )
/bin/sh ./libtool --tag=CXX   --mode=link x86_64-pc-linux-gnu-g++  -O2 -march=k8 -pipe -fomit-frame-pointer -ftree-vectorize -flto -floop-interchange -floop-strip-mine -floop-block   -version-info 6:1:2 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o libgmpxx.la -rpath /usr/lib64 dummy.lo cxx/isfuns.lo cxx/ismpf.lo cxx/ismpq.lo cxx/ismpz.lo cxx/ismpznw.lo cxx/osdoprnti.lo cxx/osfuns.lo cxx/osmpf.lo cxx/osmpq.lo cxx/osmpz.lo libgmp.la
libtool: link: x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtbeginS.o  .libs/dummy.o cxx/.libs/isfuns.o cxx/.libs/ismpf.o cxx/.libs/ismpq.o cxx/.libs/ismpz.o cxx/.libs/ismpznw.o cxx/.libs/osdoprnti.o cxx/.libs/osfuns.o cxx/.libs/osmpf.o cxx/.libs/osmpq.o cxx/.libs/osmpz.o   -Wl,-rpath -Wl,/var/tmp/portage/dev-libs/gmp-5.0.1/work/gmp-5.0.1/.libs -Wl,--as-needed ./.libs/libgmp.so -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crtn.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtbeginS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crtn.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtbeginS.o /var/tmp/portage/dev-libs/gmp-5.0.1/temp/ccFd3lyc.lto.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crtn.o  -march=k8 -Wl,-O1 -Wl,--hash-style=gnu   -Wl,-soname -Wl,libgmpxx.so.4 -o .libs/libgmpxx.so.4.2.1
x86_64-pc-linux-gnu-g++: /var/tmp/portage/dev-libs/gmp-5.0.1/temp/ccFd3lyc.lto.o: No such file or directory
make[2]: *** [libgmpxx.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-libs/gmp-5.0.1/work/gmp-5.0.1'
make[1]: *** [all-recursive] Error 1

ppl FAILS with:
C.lto.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crtn.o  -march=k8 -Wl,-O1 -Wl,--hash-style=gnu   -Wl,-soname -Wl,libppl.so.7 -o .libs/libppl.so.7.1.0
x86_64-pc-linux-gnu-g++: /var/tmp/portage/dev-libs/ppl-0.10.2-r1/temp/ccV8x5FC.lto.o: No such file or directory
make[3]: *** [libppl.la] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/ppl-config.Tpo .deps/ppl-config.Po
make[3]: Leaving directory `/var/tmp/portage/dev-libs/ppl-0.10.2-r1/work/ppl-0.10.2/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/dev-libs/ppl-0.10.2-r1/work/ppl-0.10.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-libs/ppl-0.10.2-r1/work/ppl-0.10.2'
make: *** [all] Error 2 ERROR: dev-libs/ppl-0.10.2-r1 failed:
 *   emake failed

Tried gmp and ppl again without -ftree-vectorize, and still got same type of error. (a /temp/ccV8x5FC.lto.o: No such file or directory right before erroring out on an .la file), so it doesn't look like that flag had anything to do with it. Isn't this probably a linking problem?

Any ideas, or is it even a huge problem at this point, and the system will still work with these packages being compiled with gcc-4.4.4, and I can go ahead and try emerge -e @world --keep-going?

Or is running lafilefixer an option, and then try emerging those 18 failed system files again?
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
Genewb
Apprentice
Apprentice


Joined: 09 Jan 2007
Posts: 165

PostPosted: Tue Jul 27, 2010 9:52 am    Post subject: Reply with quote

wrc1944 wrote:
Hmmm. I did an emerge -e @system --keep-going, and 18 files of 166 failed
Code:
The following 18 packages have failed to build or install:
 *
 *  ('ebuild', '/', 'dev-libs/gmp-5.0.1', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:gmp-5.0.1:20100727-045611.log'
 *  ('ebuild', '/', 'dev-libs/ppl-0.10.2-r1', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:ppl-0.10.2-r1:20100727-051335.log'
 *  ('ebuild', '/', 'dev-libs/libusb-0.1.12-r7', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:libusb-0.1.12-r7:20100727-051653.log'
 *  ('ebuild', '/', 'dev-libs/libpcre-8.02', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:libpcre-8.02:20100727-054037.log'
 *  ('ebuild', '/', 'sys-libs/ncurses-5.7-r5', 'merge'), Log file:
 *   '/var/log/portage/sys-libs:ncurses-5.7-r5:20100727-054559.log'
 *  ('ebuild', '/', 'sys-process/procps-3.2.8-r1', 'merge'), Log file:
 *   '/var/log/portage/sys-process:procps-3.2.8-r1:20100727-054900.log'
 *  ('ebuild', '/', 'sys-devel/bc-1.06.95', 'merge'), Log file:
 *   '/var/log/portage/sys-devel:bc-1.06.95:20100727-055201.log'
 *  ('ebuild', '/', 'dev-lang/perl-5.12.1-r1', 'merge'), Log file:
 *   '/var/log/portage/dev-lang:perl-5.12.1-r1:20100727-060205.log'
 *  ('ebuild', '/', 'sys-apps/dbus-1.2.24', 'merge'), Log file:
 *   '/var/log/portage/sys-apps:dbus-1.2.24:20100727-061027.log'
 *  ('ebuild', '/', 'dev-lang/python-2.6.5-r3', 'merge'), Log file:
 *   '/var/log/portage/dev-lang:python-2.6.5-r3:20100727-063455.log'
 *  ('ebuild', '/', 'sys-apps/file-5.04', 'merge'), Log file:
 *   '/var/log/portage/sys-apps:file-5.04:20100727-064035.log'
 *  ('ebuild', '/', 'dev-lang/python-3.1.2-r4', 'merge'), Log file:
 *   '/var/log/portage/dev-lang:python-3.1.2-r4:20100727-064647.log'
 *  ('ebuild', '/', 'dev-libs/glib-2.24.1-r1', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:glib-2.24.1-r1:20100727-065458.log'
 *  ('ebuild', '/', 'dev-libs/dbus-glib-0.86', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:dbus-glib-0.86:20100727-065707.log'
 *  ('ebuild', '/', 'sys-fs/udev-160', 'merge'), Log file:
 *   '/var/log/portage/sys-fs:udev-160:20100727-065824.log'
 *  ('ebuild', '/', 'sys-libs/db-4.8.30', 'merge'), Log file:
 *   '/var/log/portage/sys-libs:db-4.8.30:20100727-065854.log'
 *  ('ebuild', '/', 'sys-libs/db-4.7.25_p4', 'merge'), Log file:
 *   '/var/log/portage/sys-libs:db-4.7.25_p4:20100727-070225.log'
 *  ('ebuild', '/', 'sys-auth/polkit-0.96-r2', 'merge'), Log file:
 *   '/var/log/portage/sys-auth:polkit-0.96-r2:20100727-070604.log'
 *
with these type of errors:
Code:
gmp FAILS with:
libtool: link: x86_64-pc-linux-gnu-ranlib .libs/libgmp.a
libtool: link: rm -fr .libs/libgmp.lax
libtool: link: ( cd ".libs" && rm -f "libgmp.la" && ln -s "../libgmp.la" "libgmp.la" )
/bin/sh ./libtool --tag=CXX   --mode=link x86_64-pc-linux-gnu-g++  -O2 -march=k8 -pipe -fomit-frame-pointer -ftree-vectorize -flto -floop-interchange -floop-strip-mine -floop-block   -version-info 6:1:2 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o libgmpxx.la -rpath /usr/lib64 dummy.lo cxx/isfuns.lo cxx/ismpf.lo cxx/ismpq.lo cxx/ismpz.lo cxx/ismpznw.lo cxx/osdoprnti.lo cxx/osfuns.lo cxx/osmpf.lo cxx/osmpq.lo cxx/osmpz.lo libgmp.la
libtool: link: x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtbeginS.o  .libs/dummy.o cxx/.libs/isfuns.o cxx/.libs/ismpf.o cxx/.libs/ismpq.o cxx/.libs/ismpz.o cxx/.libs/ismpznw.o cxx/.libs/osdoprnti.o cxx/.libs/osfuns.o cxx/.libs/osmpf.o cxx/.libs/osmpq.o cxx/.libs/osmpz.o   -Wl,-rpath -Wl,/var/tmp/portage/dev-libs/gmp-5.0.1/work/gmp-5.0.1/.libs -Wl,--as-needed ./.libs/libgmp.so -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crtn.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtbeginS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crtn.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtbeginS.o /var/tmp/portage/dev-libs/gmp-5.0.1/temp/ccFd3lyc.lto.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crtn.o  -march=k8 -Wl,-O1 -Wl,--hash-style=gnu   -Wl,-soname -Wl,libgmpxx.so.4 -o .libs/libgmpxx.so.4.2.1
x86_64-pc-linux-gnu-g++: /var/tmp/portage/dev-libs/gmp-5.0.1/temp/ccFd3lyc.lto.o: No such file or directory
make[2]: *** [libgmpxx.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-libs/gmp-5.0.1/work/gmp-5.0.1'
make[1]: *** [all-recursive] Error 1

ppl FAILS with:
C.lto.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.0/../../../../lib64/crtn.o  -march=k8 -Wl,-O1 -Wl,--hash-style=gnu   -Wl,-soname -Wl,libppl.so.7 -o .libs/libppl.so.7.1.0
x86_64-pc-linux-gnu-g++: /var/tmp/portage/dev-libs/ppl-0.10.2-r1/temp/ccV8x5FC.lto.o: No such file or directory
make[3]: *** [libppl.la] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/ppl-config.Tpo .deps/ppl-config.Po
make[3]: Leaving directory `/var/tmp/portage/dev-libs/ppl-0.10.2-r1/work/ppl-0.10.2/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/dev-libs/ppl-0.10.2-r1/work/ppl-0.10.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-libs/ppl-0.10.2-r1/work/ppl-0.10.2'
make: *** [all] Error 2 ERROR: dev-libs/ppl-0.10.2-r1 failed:
 *   emake failed

Tried gmp and ppl again without -ftree-vectorize, and still got same type of error. (a /temp/ccV8x5FC.lto.o: No such file or directory right before erroring out on an .la file), so it doesn't look like that flag had anything to do with it. Isn't this probably a linking problem?

Any ideas, or is it even a huge problem at this point, and the system will still work with these packages being compiled with gcc-4.4.4, and I can go ahead and try emerge -e @world --keep-going?

Or is running lafilefixer an option, and then try emerging those 18 failed system files again?

The clue is in the name: "ccV8x5FC.lto.o: No such file or directory"

Add
Code:

export CFLAGS="${CFLAGS} -fno-lto"

to all relevant /etc/portage/env/$CATEGORY/$PKGNAME
_________________
I don't give a darn about "experience", just functional copyleft software.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Tue Jul 27, 2010 10:17 am    Post subject: Reply with quote

Genewb,
Thanks for the lightning fast reply! WOW! :o

I haven't set up /etc/portage/env/ before, but need to.
If I understand correctly, doing this for the 18 system packages that failed will compile them with gcc-4.5.0, but just without -flto. Also, I'll need to do the same with any packages that fail with emerge -e @world. Correct?

Isn't this the same effect as temporarily removing -flto from make.conf and re-merging those 18 system packages? (I realize /etc/portage/env is the better way of doing this).

Come to think of it, those 18 packages are already emerged with gcc-4.5.0 from the first time I did this, just without graphite and lto enabled, or -ftree-vectorize.

Anyway, I assume this is pretty common practice with gcc-4.5.0 and -flto at this point in development- correct?

EDIT: Just tested gmp without -flto in make.conf, and it compiled fine, so that's definitely the problem.

EDIT2: OK- set up /etc/portage/env/ directories and files, and all 18 of the failed packages compiled OK. Now for the big emerge -e @world --keep-going. I expect quite a few failures on this one. :roll:
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Tue Jul 27, 2010 5:57 pm    Post subject: Reply with quote

Question:
Even though I have USE="lto graphite" and cflags= -flto enabled globally in make.conf, on my emerge -e @world when I check the gcc compiling output virtually none of the packages are showing -flto as enabled.

In fact, a lot of them, I'd say over half have been showing -fno-lto. The only place I have -fno-lto set is in /etc/portage/env/ on the 18 system files that failed before with -flto enabled. I checked a few ebuilds, thinking -flto was getting stripped out, but found no references to either -flto or -fno-lto, however the gcc output indicates -fno-lto is enabled (meaning -flto is being disabled). I assume this means it's disabled in the source code.

Is this to be expected, and just not that many packages are currently using lto even when it's enabled by USE and cflags? Guess I was expecting virtually the entire system/world to be compiled with lto when I went to gcc-4.5.0, but it looks like that's not the case.

Hmmm. Just noticed at 470 0f 949 packages ( sci-libs/libqalculate) that in the compile output -O2 -march=k8 -pipe -fomit-frame-pointer -flto -ftree-vectorize -floop-interchange -floop-strip-mine -floop-block is enabled, so I guess nothings really wrong, and it's as I surmised above.
From the -flto section of the gcc manpage:
Quote:
-flto
This option runs the standard link-time optimizer. When invoked with source code, it generates GIMPLE (one of GCC's internal representations) and writes it to special ELF sections in the object file. When the object files are linked together, all the function bodies are read from these ELF sections and instantiated as if they had been part of the same translation unit.

To use the link-timer optimizer, -flto needs to be specified at compile time and during the final link. For example,


gcc -c -O2 -flto foo.c
gcc -c -O2 -flto bar.c
gcc -o myprog -flto -O2 foo.o bar.o

The first two invocations to GCC will save a bytecode representation of GIMPLE into special ELF sections inside foo.o and bar.o. The final invocation will read the GIMPLE bytecode from foo.o and bar.o, merge the two files into a single internal image, and compile the result as usual. Since both foo.o and bar.o are merged into a single image, this causes all the inter-procedural analyses and optimizations in GCC to work across the two files as if they were a single one. This means, for example, that the inliner will be able to inline functions in bar.o into functions in foo.o and vice-versa.

Another (simpler) way to enable link-time optimization is,


gcc -o myprog -flto -O2 foo.c bar.c

The above will generate bytecode for foo.c and bar.c, merge them together into a single GIMPLE representation and optimize them as usual to produce myprog.

The only important thing to keep in mind is that to enable link-time optimizations the -flto flag needs to be passed to both the compile and the link commands.

Note that when a file is compiled with -flto, the generated object file will be larger than a regular object file because it will contain GIMPLE bytecodes and the usual final code. This means that object files with LTO information can be linked as a normal object file. So, in the previous example, if the final link is done with


gcc -o myprog foo.o bar.o

The only difference will be that no inter-procedural optimizations will be applied to produce myprog. The two object files foo.o and bar.o will be simply sent to the regular linker.

Additionally, the optimization flags used to compile individual files are not necessarily related to those used at link-time. For instance,


gcc -c -O0 -flto foo.c
gcc -c -O0 -flto bar.c
gcc -o myprog -flto -O3 foo.o bar.o

This will produce individual object files with unoptimized assembler code, but the resulting binary myprog will be optimized at -O3. Now, if the final binary is generated without -flto, then myprog will not be optimized.

When producing the final binary with -flto, GCC will only apply link-time optimizations to those files that contain bytecode. Therefore, you can mix and match object files and libraries with GIMPLE bytecodes and final object code. GCC will automatically select which files to optimize in LTO mode and which files to link without further processing.

There are some code generation flags that GCC will preserve when generating bytecodes, as they need to be used during the final link stage. Currently, the following options are saved into the GIMPLE bytecode files: -fPIC, -fcommon and all the -m target flags.

At link time, these options are read-in and reapplied. Note that the current implementation makes no attempt at recognizing conflicting values for these options. If two or more files have a conflicting value (e.g., one file is compiled with -fPIC and another isn't), the compiler will simply use the last value read from the bytecode files. It is recommended, then, that all the files participating in the same link be compiled with the same options.

Another feature of LTO is that it is possible to apply interprocedural optimizations on files written in different languages. This requires some support in the language front end. Currently, the C, and Fortran front ends are capable of emitting GIMPLE bytecodes, so something like this should work


gcc -c -flto foo.c
g++ -c -flto bar.cc
gfortran -c -flto baz.f90
g++ -o myprog -flto -O3 foo.o bar.o baz.o -lgfortran

Notice that the final link is done with g++ to get the runtime libraries and -lgfortran is added to get the Fortran runtime libraries. In general, when mixing languages in LTO mode, you should use the same link command used when mixing languages in a regular (non-LTO) compilation. This means that if your build process was mixing languages before, all you need to add is -flto to all the compile and link commands.
If LTO encounters objects with C linkage declared with incompatible types in separate translation units to be linked together (undefined behavior according to ISO C99 6.2.7), a non-fatal diagnostic may be issued. The behavior is still undefined at runtime.

If object files containing GIMPLE bytecode are stored in a library archive, say libfoo.a, it is possible to extract and use them in an LTO link if you are using gold as the linker (which, in turn requires GCC to be configured with --enable-gold). To enable this feature, use the flag -fuse-linker-plugin at link-time:


gcc -o myprog -O2 -flto -fuse-linker-plugin a.o b.o -lfoo

With the linker plugin enabled, gold will extract the needed GIMPLE files from libfoo.a and pass them on to the running GCC to make them part of the aggregated GIMPLE image to be optimized.

If you are not using gold and/or do not specify -fuse-linker-plugin then the objects inside libfoo.a will be extracted and linked as usual, but they will not participate in the LTO optimization process.

Link time optimizations do not require the presence of the whole program to operate. If the program does not require any symbols to be exported, it is possible to combine -flto and -fwhopr with -fwhole-program to allow the interprocedural optimizers to use more aggressive assumptions which may lead to improved optimization opportunities.

Regarding portability: the current implementation of LTO makes no attempt at generating bytecode that can be ported between different types of hosts. The bytecode files are versioned and there is a strict version check, so bytecode files generated in one version of GCC will not work with an older/newer version of GCC.

Link time optimization does not play well with generating debugging information. Combining -flto or -fwhopr with -g is experimental.

This option is disabled by default.
I'm trying to get a handle on this stuff, so I'll understand the aspects of moving to gcc-4.5.x, and the problems I'm running into trying to use lto.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
rhill
Retired Dev
Retired Dev


Joined: 22 Oct 2004
Posts: 1629
Location: sk.ca

PostPosted: Wed Jul 28, 2010 5:01 am    Post subject: Reply with quote

Sorry, but I should have mentioned that -flto really doesn't work right now. Libtool doesn't support it yet so there's all sorts of hoops you have to jump through to get the correct flags to both compiler and linker and unfortunately it's largely dependent on the build systems of the individual libraries. Even when it does work it's pretty buggy in 4.5.0. 4.5.1 will improve things but we're still a long ways off from being able to build the whole tree with it. Personally I haven't even tried using it yet, but there are a number of people here who have so you might want to read back a few pages in this thread.

I've updated the description of the lto USE flag to warn people that it's unsupported.
_________________
by design, by neglect
for a fact or just for effect
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Wed Jul 28, 2010 9:55 am    Post subject: Reply with quote

No problem. :) I should have realized this myself, from the last line in the gcc man page about -flto being disabled by default, and the fact that Arch Linux (among other distros) is apparently not using it or graphite to build it's binaries after going to gcc-4.5.0. :lol: Anyway, it was fun (I guess). :roll:

Would you recommend after removing USE lto and cflag -flto to just rebuild the 73 failed emerge -e @world packages, leaving the rest that did build/install with -flto and see what happens during regular usage? If you think this would be helpful, I can leave it like that for a while.

Or, do either an emerge -DN @world and see what happens, or just be done with it for now and do a complete emerge -e @world with gcc-4.5.0 and graphite, but not any lto stuff and try and get a complete nomultilib and64 gcc-4.5.0 system running normally?

Maybe also for now disable graphite? I did have an Gentoo ~x86 running fine with graphite a few months ago without gcc-4.5.0.

For what it's worth, here are the 73 failures (out of 1066 packages) on emerge -e @world with lto and -flto
Code:
* The following 73 packages have failed to build or install:
 *
 *  ('ebuild', '/', 'dev-lang/swig-2.0.0', 'merge'), Log file:
 *   '/var/log/portage/dev-lang:swig-2.0.0:20100727-122600.log'
 *  ('ebuild', '/', 'sys-boot/grub-static-0.97-r9', 'merge'), Log file:
 *   '/var/log/portage/sys-boot:grub-static-0.97-r9:20100727-123924.log'
 *  ('ebuild', '/', 'dev-util/boost-build-1.42.0', 'merge'), Log file:
 *   '/var/log/portage/dev-util:boost-build-1.42.0:20100727-181804.log'
 *  ('ebuild', '/', 'dev-libs/boost-1.42.0-r1', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:boost-1.42.0-r1:20100727-182506.log'
 *  ('ebuild', '/', 'net-libs/webkit-gtk-1.2.3', 'merge'), Log file:
 *   '/var/log/portage/net-libs:webkit-gtk-1.2.3:20100727-195504.log'
 *  ('ebuild', '/', 'dev-util/cmake-2.8.1-r2', 'merge'), Log file:
 *   '/var/log/portage/dev-util:cmake-2.8.1-r2:20100727-214656.log'
 *  ('ebuild', '/', 'app-misc/strigi-0.7.2', 'merge'), Log file:
 *   '/var/log/portage/app-misc:strigi-0.7.2:20100727-215735.log'
 *  ('ebuild', '/', 'app-text/poppler-0.14.1', 'merge'), Log file:
 *   '/var/log/portage/app-text:poppler-0.14.1:20100727-215930.log'
 *  ('ebuild', '/', 'dev-libs/soprano-2.4.4', 'merge'), Log file:
 *   '/var/log/portage/dev-libs:soprano-2.4.4:20100727-220128.log'
 *  ('ebuild', '/', 'app-office/akonadi-server-1.3.1', 'merge'), Log file:
 *   '/var/log/portage/app-office:akonadi-server-1.3.1:20100727-231057.log'
 *  ('ebuild', '/', 'sys-fs/udisks-1.0.1-r1', 'merge'), Log file:
 *   '/var/log/portage/sys-fs:udisks-1.0.1-r1:20100727-233005.log'
 *  ('ebuild', '/', 'media-sound/phonon-4.4.2', 'merge'), Log file:
 *   '/var/log/portage/media-sound:phonon-4.4.2:20100727-235013.log'
 *  ('ebuild', '/', 'gnome-extra/yelp-2.30.1-r1', 'merge'), Log file:
 *   '/var/log/portage/gnome-extra:yelp-2.30.1-r1:20100728-011608.log'
 *  ('ebuild', '/', 'kde-base/kdelibs-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kdelibs-4.4.5:20100728-015031.log'
 *  ('ebuild', '/', 'kde-base/libkdegames-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:libkdegames-4.4.5:20100728-020706.log'
 *  ('ebuild', '/', 'kde-base/libkworkspace-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:libkworkspace-4.4.5:20100728-020911.log'
 *  ('ebuild', '/', 'kde-base/libkonq-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:libkonq-4.4.5:20100728-021030.log'
 *  ('ebuild', '/', 'kde-base/knotify-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:knotify-4.4.5:20100728-021255.log'
 *  ('ebuild', '/', 'kde-base/kephal-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kephal-4.4.5:20100728-021347.log'
 *  ('ebuild', '/', 'kde-base/pykde4-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:pykde4-4.4.5:20100728-021812.log'
 *  ('ebuild', '/', 'kde-base/ksysguard-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:ksysguard-4.4.5:20100728-022739.log'
 *  ('ebuild', '/', 'kde-base/kfmclient-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kfmclient-4.4.5:20100728-023024.log'
 *  ('ebuild', '/', 'kde-base/nepomuk-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:nepomuk-4.4.5:20100728-023926.log'
 *  ('ebuild', '/', 'kde-base/plasma-runtime-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:plasma-runtime-4.4.5:20100728-024254.log'
 *  ('ebuild', '/', 'kde-base/libksane-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:libksane-4.4.5:20100728-024753.log'
 *  ('ebuild', '/', 'kde-base/phonon-kde-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:phonon-kde-4.4.5:20100728-025008.log'
 *  ('ebuild', '/', 'kde-base/libplasmagenericshell-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:libplasmagenericshell-4.4.5:20100728-025614.log'
 *  ('ebuild', '/', 'kde-base/systemsettings-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:systemsettings-4.4.5:20100728-025749.log'
 *  ('ebuild', '/', 'kde-base/plasma-apps-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:plasma-apps-4.4.5:20100728-030241.log'
 *  ('ebuild', '/', 'kde-base/dolphin-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:dolphin-4.4.5:20100728-031136.log'
 *  ('ebuild', '/', 'kde-base/kate-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kate-4.4.5:20100728-031442.log'
 *  ('ebuild', '/', 'kde-base/dragonplayer-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:dragonplayer-4.4.5:20100728-031612.log'
 *  ('ebuild', '/', 'kde-base/gwenview-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:gwenview-4.4.5:20100728-032922.log'
 *  ('ebuild', '/', 'kde-base/okular-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:okular-4.4.5:20100728-033055.log'
 *  ('ebuild', '/', 'kde-base/konsole-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:konsole-4.4.5:20100728-033737.log'
 *  ('ebuild', '/', 'kde-base/kstyles-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kstyles-4.4.5:20100728-034033.log'
 *  ('ebuild', '/', 'kde-base/kuiserver-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kuiserver-4.4.5:20100728-034153.log'
 *  ('ebuild', '/', 'kde-base/kglobalaccel-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kglobalaccel-4.4.5:20100728-035325.log'
 *  ('ebuild', '/', 'kde-base/step-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:step-4.4.5:20100728-040609.log'
 *  ('ebuild', '/', 'kde-base/rocs-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:rocs-4.4.5:20100728-040823.log'
 *  ('ebuild', '/', 'kde-base/cantor-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:cantor-4.4.5:20100728-041125.log'
 *  ('ebuild', '/', 'kde-base/okteta-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:okteta-4.4.5:20100728-043231.log'
 *  ('ebuild', '/', 'kde-base/knetworkconf-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:knetworkconf-4.4.5:20100728-044514.log'
 *  ('ebuild', '/', 'kde-base/kweather-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kweather-4.4.5:20100728-044857.log'
 *  ('ebuild', '/', 'kde-base/kdenetwork-filesharing-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kdenetwork-filesharing-4.4.5:20100728-045226.log'
 *  ('ebuild', '/', 'kde-base/kigo-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kigo-4.4.5:20100728-045555.log'
 *  ('ebuild', '/', 'kde-base/ksirk-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:ksirk-4.4.5:20100728-050758.log'
 *  ('ebuild', '/', 'kde-base/kbattleship-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kbattleship-4.4.5:20100728-051634.log'
 *  ('ebuild', '/', 'kde-base/palapeli-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:palapeli-4.4.5:20100728-052941.log'
 *  ('ebuild', '/', 'kde-base/kstars-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kstars-4.4.5:20100728-053959.log'
 *  ('ebuild', '/', 'kde-base/parley-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:parley-4.4.5:20100728-060004.log'
 *  ('ebuild', '/', 'kde-base/marble-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:marble-4.4.5:20100728-060323.log'
 *  ('ebuild', '/', 'kde-base/klipper-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:klipper-4.4.5:20100728-061029.log'
 *  ('ebuild', '/', 'www-client/rekonq-0.5.0', 'merge'), Log file:
 *   '/var/log/portage/www-client:rekonq-0.5.0:20100728-061527.log'
 *  ('ebuild', '/', 'app-cdr/k3b-2.0.0', 'merge'), Log file:
 *   '/var/log/portage/app-cdr:k3b-2.0.0:20100728-061706.log'
 *  ('ebuild', '/', 'kde-base/kdepimlibs-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kdepimlibs-4.4.5:20100728-062011.log'
 *  ('ebuild', '/', 'kde-base/libkdepim-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:libkdepim-4.4.5:20100728-062623.log'
 *  ('ebuild', '/', 'kde-base/libkleo-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:libkleo-4.4.5:20100728-062835.log'
 *  ('ebuild', '/', 'kde-base/kopete-4.4.5-r1', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kopete-4.4.5-r1:20100728-063839.log'
 *  ('ebuild', '/', 'kde-base/solid-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:solid-4.4.5:20100728-064201.log'
 *  ('ebuild', '/', 'kde-base/ksmserver-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:ksmserver-4.4.5:20100728-064342.log'
 *  ('ebuild', '/', 'kde-base/krunner-4.4.5', 'merge'), Log file: *   '/var/log/portage/kde-base:krunner-4.4.5:20100728-064504.log'
 *  ('ebuild', '/', 'kde-base/powerdevil-4.4.5', 'merge'), Log file: *   '/var/log/portage/kde-base:powerdevil-4.4.5:20100728-064647.log'
 *  ('ebuild', '/', 'kde-base/plasma-workspace-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:plasma-workspace-4.4.5:20100728-064809.log'
 *  ('ebuild', '/', 'kde-base/konqueror-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:konqueror-4.4.5:20100728-065208.log'
 *  ('ebuild', '/', 'kde-base/kdepim-runtime-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kdepim-runtime-4.4.5:20100728-065311.log'
 *  ('ebuild', '/', 'kde-base/kdebase-kioslaves-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kdebase-kioslaves-4.4.5:20100728-065659.log'
 *  ('ebuild', '/', 'kde-base/superkaramba-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:superkaramba-4.4.5:20100728-065915.log'
 *  ('ebuild', '/', 'kde-base/kdeplasma-addons-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kdeplasma-addons-4.4.5:20100728-070413.log'
 *  ('ebuild', '/', 'kde-base/nsplugins-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:nsplugins-4.4.5:20100728-071244.log'
 *  ('ebuild', '/', 'kde-base/kontact-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kontact-4.4.5:20100728-071343.log'
 *  ('ebuild', '/', 'kde-base/kmail-4.4.5', 'merge'), Log file:
 *   '/var/log/portage/kde-base:kmail-4.4.5:20100728-071540.log'
 *  ('ebuild', '/', 'dev-db/mysql-5.1.46', 'merge'), Log file:
 *   '/var/log/portage/dev-db:mysql-5.1.46:20100728-083108.log'
 *

 * Regenerating GNU info directory index...
 * Processed 151 info files.

 * IMPORTANT: 5 config files in '/etc' need updating.


BTW- just did a reboot on this system into kde to check, and all seems to still be working normally. Frankly, I'm a little surprised.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental
Back to top
View user's profile Send private message
Bobbycar
n00b
n00b


Joined: 25 Feb 2009
Posts: 8

PostPosted: Wed Jul 28, 2010 1:35 pm    Post subject: Reply with quote

wrc1944 wrote:
BTW- just did a reboot on this system into kde to check, and all seems to still be working normally. Frankly, I'm a little surprised.


Running -flto and graphite on whole desktop-test-system, except round about 100 failing of 800 packages (-fno-lto OK then), no problems too. At leat as far as I see at the moment ;)
Back to top
View user's profile Send private message
costel78
Guru
Guru


Joined: 20 Apr 2007
Posts: 310

PostPosted: Sun Aug 01, 2010 7:12 am    Post subject: Reply with quote

I have two questions:
1. Despite the fact that lto is not fully supported, are there any really improvements by using it ?
2. Do you, developers, consider that gcc-4.5.1 are relative easy to add to portage or this version will require a little bit more time to test and add to portage ?
I ask this question because I have to build a new desktop until 6 Aug. Should I start to compile right now using gcc-4.5.0 or wait few days until gcc-4.5.1 will be available ?

Thank you!
_________________
Sorry for my English. I'm still learning this language.
Back to top
View user's profile Send private message
rhill
Retired Dev
Retired Dev


Joined: 22 Oct 2004
Posts: 1629
Location: sk.ca

PostPosted: Sun Aug 01, 2010 7:30 am    Post subject: Reply with quote

We'll add 4.5.1 right away (maybe this weekend) but it'll remain masked until we fix most of https://bugs.gentoo.org/showdependencytree.cgi?id=296658&hide_resolved=1.

I would say that lto is more trouble than it's worth right now.
_________________
by design, by neglect
for a fact or just for effect
Back to top
View user's profile Send private message
costel78
Guru
Guru


Joined: 20 Apr 2007
Posts: 310

PostPosted: Sun Aug 01, 2010 7:42 am    Post subject: Reply with quote

Ok. Thank you!
_________________
Sorry for my English. I'm still learning this language.
Back to top
View user's profile Send private message
cruzki123
Apprentice
Apprentice


Joined: 16 May 2008
Posts: 248

PostPosted: Sun Aug 01, 2010 9:25 am    Post subject: Reply with quote

costel78 wrote:
I have two questions:
1. Despite the fact that lto is not fully supported, are there any really improvements by using it ?
2. Do you, developers, consider that gcc-4.5.1 are relative easy to add to portage or this version will require a little bit more time to test and add to portage ?
I ask this question because I have to build a new desktop until 6 Aug. Should I start to compile right now using gcc-4.5.0 or wait few days until gcc-4.5.1 will be available ?

Thank you!


I am ussing it in a little program I code for my research and the "only" improvements is a 10% of reducction in the binary size.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3231
Location: Gainesville, Florida

PostPosted: Sun Aug 01, 2010 1:18 pm    Post subject: Reply with quote

I just moved an ~x86 backup box to gcc-4.5.0, and used my previous flags (no lto or graphite stuff). I got through an emerge -e @system, but strangly it was 240 packages including qt-4.6.3 stuff. Why would that occur? IIRC, no emerge -e @system I've ever done (hundreds) has been over 120 packages?

Anyway, all but the very last package mysql compiled, with an old but still unresolved abi check problem:
Code:
  [< int mysql_next_result(MYSQL *mysql);
< void mysql_close(MYSQL *sock);
make[2]: *** [do_abi_check] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-db/mysql-5.1.46/work/mysql'
make[1]: *** [abi_check] Error 2
make[1]: Leaving directory `/var/tmp/portage/dev-db/mysql-5.1.46/work/mysql'
make: *** [all-recursive] Error 1
 * ERROR: dev-db/mysql-5.1.46 failed:
 *   emake failed

Here's the bugzilla page on this: https://bugs.gentoo.org/312435
Is there any solution to this, other than trying the overlay? As mentoned in the comments at bugzilla, "A version bump in ~arch would be nice". 5.1.49 was released 7-27-2010 (still not in portage), and there are 5.4 and 5.5 alpha and beta ebuilds in portage. Should we try one of those alpha/betas?
_________________
Main box- AsRock x370 Gaming K4
Ryzen 1700, 3.0GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
Gentoo ~amd64 plasma, glibc-2.29-r2, gcc-9.1.0 kernel-5.0.14-gentoo USE=experimental


Last edited by wrc1944 on Sun Aug 01, 2010 1:56 pm; edited 2 times in total
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6929
Location: Austria

PostPosted: Sun Aug 01, 2010 1:33 pm    Post subject: Reply with quote

Either wait for 5.1.49 to go into the portage tree or copy the ebuild into your local overlay. ;)

Rebuilding system with gcc-4.5.1 +graphite brought up 178 packages here, still building without failure (but no qt yet)

EDIT: All of system built successfully with CFLAGS="-O2 -march=core2 -pipe -fomit-frame-pointer -floop-interchange -floop-strip-mine -floop-block -w". :)

EDIT2: Got those in dmesg, not sure what to think of it:
Code:
[66418.892590] conftest[23355] trap divide error ip:400608 sp:7fff148af108 error:0 in conftest[400000+1000]
[72261.748868] conftest[24761] trap divide error ip:400528 sp:7ffff129f738 error:0 in conftest[400000+1000]

_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic


Last edited by asturm on Sun Aug 01, 2010 3:12 pm; edited 2 times in total
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6279

PostPosted: Sun Aug 01, 2010 3:04 pm    Post subject: Reply with quote

dirtyepic wrote:
I would say that lto is more trouble than it's worth right now.

In eix the combination -flto -fwhole-program produces a binary of about half the size (without -fwhole-program it is only slightly larger than half the size). I didn't compare the speed of the binaries.
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 2:21 am    Post subject: Reply with quote

4.5.1 is not in portage yet. Any reasons? I thought dirty mentioned that it was going in over the weekend.
Back to top
View user's profile Send private message
rhill
Retired Dev
Retired Dev


Joined: 22 Oct 2004
Posts: 1629
Location: sk.ca

PostPosted: Tue Aug 03, 2010 3:31 am    Post subject: Reply with quote

see the word maybe?
_________________
by design, by neglect
for a fact or just for effect
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 3:36 am    Post subject: Reply with quote

dirtyepic wrote:
see the word maybe?
.... :lol: Good one dirty! Pulled a fast one on us poor mortals!
Back to top
View user's profile Send private message
rhill
Retired Dev
Retired Dev


Joined: 22 Oct 2004
Posts: 1629
Location: sk.ca

PostPosted: Tue Aug 03, 2010 5:31 am    Post subject: Reply with quote

I was hoping to do it today but I got busy. :?
I'm off working pipeline the rest of the week so if no one else gets to it, it'll be next weekend for sure.
_________________
by design, by neglect
for a fact or just for effect
Back to top
View user's profile Send private message
rhill
Retired Dev
Retired Dev


Joined: 22 Oct 2004
Posts: 1629
Location: sk.ca

PostPosted: Tue Aug 03, 2010 5:34 am    Post subject: Reply with quote

mv wrote:
dirtyepic wrote:
I would say that lto is more trouble than it's worth right now.

In eix the combination -flto -fwhole-program produces a binary of about half the size (without -fwhole-program it is only slightly larger than half the size). I didn't compare the speed of the binaries.


That's pretty cool. :D Are you planning on integrating it with the build system? I think that's the way LTO will be the most useful at the moment, on a package-by-package basis rather than a global flag.
_________________
by design, by neglect
for a fact or just for effect
Back to top
View user's profile Send private message
devsk
Advocate
Advocate


Joined: 24 Oct 2003
Posts: 2860
Location: Bay Area, CA

PostPosted: Tue Aug 03, 2010 6:12 am    Post subject: Reply with quote

dirtyepic wrote:
I was hoping to do it today but I got busy. :?
I'm off working pipeline the rest of the week so if no one else gets to it, it'll be next weekend for sure.
Is it as easy as renaming 4.5.0 ebuild to 4.5.1? Or there is more to it? like manual patches?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 13, 14, 15  Next
Page 8 of 15

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum