| View previous topic :: View next topic |
| Author |
Message |
amaroc Tux's lil' helper

Joined: 13 Nov 2005 Posts: 78
|
Posted: Sat Mar 17, 2012 2:19 pm Post subject: [solved] emerge fails with linker issue |
|
|
Hi,
I'm a bit stuck with a problem where I couldn't find a solution so far:
| Code: | >>> Emerging (1 of 1) dev-libs/atk-2.2.0
* atk-2.2.0.tar.xz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
>>> Unpacking source...
....
/bin/sh ../libtool --silent --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DATK_COMPILATION -DATK_LOCALEDIR="\"/usr/share/locale\"" -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -march=native -O2 -pipe -Wall -c -o atkwindow.lo atkwindow.c
CC atk-enum-types.lo
/bin/sh ../libtool --silent --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DATK_COMPILATION -DATK_LOCALEDIR="\"/usr/share/locale\"" -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -march=native -O2 -pipe -Wall -c -o atk-enum-types.lo atk-enum-types.c
CCLD libatk-1.0.la
GISCAN Atk-1.0.gir
./.libs/libatk-1.0.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
distcc[9442] ERROR: compile (null) on localhost failed
linking of temporary binary failed: Command '['/bin/sh', '../libtool', '--mode=link', '--tag=CC', '--silent', 'gcc', '-o', '/var/tmp/portage/dev-libs/atk-2.2.0/work/atk-2.2.0/atk/tmp-introspectEF0JGc/Atk-1.0', '-export-dynamic', '-march=native', '-O2', '-pipe', '-Wall', '-L.', 'libatk-1.0.la', '-pthread', '-lgio-2.0', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '/var/tmp/portage/dev-libs/atk-2.2.0/work/atk-2.2.0/atk/tmp-introspectEF0JGc/Atk-1.0.o']' returned non-zero exit status 1
|
It happened in the middle of my weekly emerge world
| Code: |
Sat Mar 17 12:32:10 2012 >>> sys-devel/gnuconfig-20110814
Sat Mar 17 12:32:25 2012 <<< dev-libs/libmowgli-0.9.50
Sat Mar 17 12:32:26 2012 >>> dev-libs/libmowgli-1.0.0
Sat Mar 17 12:32:36 2012 <<< sys-power/acpid-2.0.12
Sat Mar 17 12:32:36 2012 >>> sys-power/acpid-2.0.14
Sat Mar 17 12:32:49 2012 <<< app-arch/unrar-4.0.7
Sat Mar 17 12:32:50 2012 >>> app-arch/unrar-4.1.4-r2
Sat Mar 17 12:32:57 2012 <<< sys-apps/pciutils-3.1.7
Sat Mar 17 12:32:58 2012 >>> sys-apps/pciutils-3.1.9-r1
Sat Mar 17 12:33:17 2012 <<< app-emulation/emul-linux-x86-baselibs-20110928
Sat Mar 17 12:33:18 2012 >>> app-emulation/emul-linux-x86-baselibs-20120127
Sat Mar 17 12:33:24 2012 >>> app-emulation/emul-linux-x86-db-20120127
Sat Mar 17 12:33:28 2012 <<< virtual/acl-0
Sat Mar 17 12:33:29 2012 >>> virtual/acl-0-r1
Sat Mar 17 12:34:54 2012 <<< app-shells/bash-4.1_p9
Sat Mar 17 12:34:55 2012 >>> app-shells/bash-4.2_p20
Sat Mar 17 12:36:44 2012 <<< dev-libs/openssl-0.9.8t
Sat Mar 17 12:36:45 2012 >>> dev-libs/openssl-0.9.8u
Sat Mar 17 12:37:47 2012 <<< dev-lang/tcl-8.5.9
Sat Mar 17 12:37:48 2012 >>> dev-lang/tcl-8.5.10-r1
Sat Mar 17 12:38:18 2012 <<< media-libs/libmad-0.15.1b-r6
Sat Mar 17 12:38:19 2012 >>> media-libs/libmad-0.15.1b-r7
Sat Mar 17 12:41:06 2012 <<< dev-libs/openssl-1.0.0g
Sat Mar 17 12:41:15 2012 >>> dev-libs/openssl-1.0.0h
Sat Mar 17 13:00:03 2012 <<< sys-devel/gcc-4.5.3-r2
Sat Mar 17 13:00:05 2012 >>> sys-devel/gcc-4.5.3-r2
Sat Mar 17 13:00:44 2012 <<< app-portage/eix-0.23.3-r1
Sat Mar 17 13:00:44 2012 >>> app-portage/eix-0.23.10
Sat Mar 17 13:01:07 2012 <<< media-libs/freetype-2.4.8
Sat Mar 17 13:01:08 2012 >>> media-libs/freetype-2.4.9
Sat Mar 17 13:04:02 2012 <<< net-nds/openldap-2.4.28-r1
Sat Mar 17 13:04:02 2012 >>> net-nds/openldap-2.4.30
Sat Mar 17 13:04:12 2012 <<< sys-apps/man-pages-3.32
Sat Mar 17 13:04:13 2012 >>> sys-apps/man-pages-3.35
Sat Mar 17 13:04:54 2012 <<< dev-lang/tk-8.5.9-r1
Sat Mar 17 13:04:55 2012 >>> dev-lang/tk-8.5.10-r1
Sat Mar 17 13:05:54 2012 <<< sys-apps/dbus-1.4.16
Sat Mar 17 13:05:55 2012 >>> sys-apps/dbus-1.4.18
Sat Mar 17 13:06:29 2012 <<< dev-python/dbus-python-0.84.0
Sat Mar 17 13:06:30 2012 >>> dev-python/dbus-python-1.0.0
Sat Mar 17 14:36:14 2012 <<< app-emulation/emul-linux-x86-baselibs-20120127
Sat Mar 17 14:36:15 2012 >>> app-emulation/emul-linux-x86-baselibs-20110928
Sat Mar 17 14:36:21 2012 <<< app-emulation/emul-linux-x86-gtklibs-20110928
Sat Mar 17 14:36:22 2012 >>> app-emulation/emul-linux-x86-gtklibs-20110928
Sat Mar 17 14:37:57 2012 <<< app-emulation/emul-linux-x86-baselibs-20110928
Sat Mar 17 14:37:58 2012 >>> app-emulation/emul-linux-x86-baselibs-20120127
|
I'm on a 64 bit build
| Code: | # emerge --info
Portage 2.1.10.44 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.3, glibc-2.13-r4, 3.2.1-gentoo-r2 x86_64)
=================================================================
System uname: Linux-3.2.1-gentoo-r2-x86_64-AMD_Phenom-tm-_II_X6_1055T_Processor-with-gentoo-2.0.3
Timestamp of tree: Sat, 17 Mar 2012 10:45:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [enabled]
app-shells/bash: 4.2_p20
dev-java/java-config: 2.1.11-r3
dev-lang/python: 2.7.2-r3, 3.1.4-r3, 3.2.2
dev-util/cmake: 2.8.6-r4
dev-util/pkgconfig: 0.26
sys-apps/baselayout: 2.0.3
sys-apps/openrc: 0.9.8.4
sys-apps/sandbox: 2.5
sys-devel/autoconf: 2.13, 2.68
sys-devel/automake: 1.9.6-r3, 1.11.1
sys-devel/binutils: 2.21.1-r1
sys-devel/gcc: 4.5.3-r2
sys-devel/gcc-config: 1.5-r2
sys-devel/libtool: 2.4-r1
sys-devel/make: 3.82-r1
sys-kernel/linux-headers: 3.1 (virtual/os-headers)
sys-libs/glibc: 2.13-r4
Repositories: gentoo vmware my_local_overlay
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
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="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distcc distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp6.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de"
MAKEOPTS="-j6"
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="/var/lib/layman/vmware /usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 apng berkdb bluetooth branding bzip2 cairo cdda cdparanoia cdr cli clucene consolekit coverart cracklib crypt css cups cxx daap dbus declarative dri dts dvd dvdr embedded emboss encode exif fam ffmpeg firefox flac fortran gdbm gdu gif gimp gnutls gpm gtk iconv ipv6 jpeg kde kipi lcms ldap libnotify lm_sensors mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls npp nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf phonon plasma pm-utils png policykit ppds pppd qt3support qt4 quicktime readline sdl semantic-desktop session spell sql sqlite sse sse2 ssl startup-notification svg sysfs tcpd threads tiff tk truetype udev unicode usb vnc vorbis webkit wmf x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvfb xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon vesa fbdev dummy vga" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
|
I doubt that it's related to the latest atk version because atk-1.32.0-r1 failed the same way. From googling around I guess it might be a 32/64 bit issue but I couldn't find any hint how to solve this.
I hope somebody can point me to the right direction.
Many thanks in advance.
Last edited by amaroc on Mon Apr 02, 2012 3:30 pm; edited 1 time in total |
|
| Back to top |
|
 |
BillWho Veteran


Joined: 03 Mar 2012 Posts: 1576 Location: US
|
Posted: Sat Mar 17, 2012 4:41 pm Post subject: |
|
|
amaroc,
Try USE=introspection emerge etc. |
|
| Back to top |
|
 |
BillWho Veteran


Joined: 03 Mar 2012 Posts: 1576 Location: US
|
Posted: Sat Mar 17, 2012 4:51 pm Post subject: |
|
|
amaroc,
sorry it should be USE="introspection" |
|
| Back to top |
|
 |
amaroc Tux's lil' helper

Joined: 13 Nov 2005 Posts: 78
|
Posted: Sat Mar 17, 2012 5:58 pm Post subject: |
|
|
Thanks to BillWho for the hint on "introspection" - but it didn't help unfortunately.
That was the last emerge I tried and it failed the same way as before.
| Code: | FEATURES="-distcc" MAKEOPTS="-j1" USE="introspection" emerge -1va atk
|
Any other idea?
Thanks |
|
| Back to top |
|
 |
BillWho Veteran


Joined: 03 Mar 2012 Posts: 1576 Location: US
|
Posted: Sat Mar 17, 2012 7:39 pm Post subject: |
|
|
amaroc,
The only other thing I can think of is to check that all its dependencies are installed. You can try this:
First use this | Code: | | equery g dev-libs/atk-2.2.0 | to list the dependencies
Then use this | Code: | | equery g dev-libs/atk-2.2.0|sed -e 's/\[ [0-1]\]/ /g'|cut -d: -f2|grep -v doc|xargs|while read f; do equery l $f;done | to check if they're installed.
Two passes are necessary because the second line will die if one of the package isn't found. I excluded 'doc' since that shouldn't cause a link problem.
Good luck  |
|
| Back to top |
|
 |
amaroc Tux's lil' helper

Joined: 13 Nov 2005 Posts: 78
|
Posted: Sat Mar 17, 2012 10:21 pm Post subject: |
|
|
Hi BillWho,
I followed your advice but there was no dependency issue. Note that I had tried the typical revdep-rebuild before.
I simply tried the different available atk versions and found the following by chance:
>=dev-libs/atk-1.32.0-r1 fail as already known (note dev-libs/atk-1.32.0-r1 was the installed version before)
=dev-libs/atk-1.32.0 compiled OK
I compared the ebuilds between dev-libs/atk-1.32.0 and dev-libs/atk-1.32.0-r1 and couldn't find any difference but the build log showed for -r1 that --enable-introspection has been set by ./configure whereas dev-libs/atk-1.32.0 was running with --disable-introspection.
So your guess regarding "introspection" was pretty good.
However, I tried both variants with and w/o the USE="introspection" - but it didn't change anything.
Unfortunately I'm not familiar with ebuilds and fortunately never had to dig into one the last 7 years. But I definitely do not understand why the same ebuild produces different versions and why the USE-flag does not impact the build process.
If somebody is interested in the logfiles of both buildruns please let me know.
Any further idea is very much appreciated.
Thanks. |
|
| Back to top |
|
 |
BillWho Veteran


Joined: 03 Mar 2012 Posts: 1576 Location: US
|
Posted: Sat Mar 17, 2012 11:24 pm Post subject: |
|
|
amaroc,
At this point in time I'm as perplexed as you are given that version 2.2.0 is installed here and I don't recall ever having a problem with the earlier versions.
I had high hopes for the introspection flag, but unfortunately we know how that turned out.
I looked through the ebuilds and I do see that gobject-introspection controls the setting of the introspection use flag.
The only two things that comes to mind after reading your synopsis is to try it with the "-introspection", i.e. explicitly turning it off since the previous version compiled with --disable-introspection, but I'm not sure that would override the ebuild setting.
The other thing that comes to mind is you might have installed something that pulled-in gobject-introspection and now an update with the new use flag would be required with USE="introspection emerge uavDN. Then try to emerge dev-libs/atk-1.32.0-r1 if it 's not pulled-in with the update.
That emerge will check for new use and consider the entire dependency tree of packages.
One of those have to work
Good luck |
|
| Back to top |
|
 |
amaroc Tux's lil' helper

Joined: 13 Nov 2005 Posts: 78
|
Posted: Sun Mar 18, 2012 3:49 pm Post subject: |
|
|
| BillWho wrote: | amaroc,
I had high hopes for the introspection flag, but unfortunately we know how that turned out.
I looked through the ebuilds and I do see that gobject-introspection controls the setting of the introspection use flag.
The only two things that comes to mind after reading your synopsis is to try it with the "-introspection", i.e. explicitly turning it off since the previous version compiled with --disable-introspection, but I'm not sure that would override the ebuild setting. |
So you helped me again to the right direction. Many thanks.
Applying "-introspection" helps in order to compile any version of atk successfully on my machine. So that's the right way to follow.
| BillWho wrote: | | The other thing that comes to mind is you might have installed something that pulled-in gobject-introspection and now an update with the new use flag would be required with USE="introspection emerge uavDN. Then try to emerge dev-libs/atk-1.32.0-r1 if it 's not pulled-in with the update. |
Yes, having "-introspection" applied to atk only on cmd-line or via package.use will be overridden by emerge wolrd. However, enabling "introspection" globally will not only crash atk - e.g. udev died the same way as atk before.
So it's the other way round - globally disabling via "-introspection" helps to successfully compile the rest and rebuilds some gtk-stuff additionally.
Note that the dependency list for gobject-introspection is quite significant - even after the globally applied "-introspection": | Code: | # equery d dev-libs/gobject-introspection-1.30.0-r2
* These packages depend on dev-libs/gobject-introspection-1.30.0-r2:
app-text/poppler-0.16.7 (introspection ? >=dev-libs/gobject-introspection-0.9.12)
dev-libs/atk-2.2.0 (introspection ? >=dev-libs/gobject-introspection-0.6.7)
gnome-base/gconf-2.32.4 (introspection ? >=dev-libs/gobject-introspection-0.9.5)
gnome-base/libgtop-2.28.4 (introspection ? >=dev-libs/gobject-introspection-0.6.7)
gnome-base/librsvg-2.34.2 (introspection ? >=dev-libs/gobject-introspection-0.10.8)
media-libs/babl-0.1.4 (introspection ? >=dev-libs/gobject-introspection-0.6.8)
media-libs/gst-plugins-base-0.10.35 (introspection ? >=dev-libs/gobject-introspection-0.9.12)
media-libs/gstreamer-0.10.35 (introspection ? >=dev-libs/gobject-introspection-0.6.3)
net-libs/libsoup-2.36.1 (introspection ? >=dev-libs/gobject-introspection-0.9.5)
net-libs/webkit-gtk-1.6.1-r201 (introspection ? >=dev-libs/gobject-introspection-0.9.5)
sys-auth/polkit-0.104-r1 (introspection ? >=dev-libs/gobject-introspection-0.6.2)
sys-fs/udev-171-r5 (extras ? dev-libs/gobject-introspection)
(introspection ? dev-libs/gobject-introspection)
sys-power/upower-0.9.13-r1 (introspection ? dev-libs/gobject-introspection)
x11-libs/gdk-pixbuf-2.24.0-r1 (introspection ? >=dev-libs/gobject-introspection-0.9.3)
x11-libs/gtk+-2.24.8-r1 (introspection ? >=dev-libs/gobject-introspection-0.9.3)
x11-libs/gtk+-3.2.3 (introspection ? >=dev-libs/gobject-introspection-0.10.1)
x11-libs/libnotify-0.7.4 (introspection ? >=dev-libs/gobject-introspection-0.9.12)
x11-libs/pango-1.29.4 (introspection ? >=dev-libs/gobject-introspection-0.9.5) |
Note that "extras" for udev is not set. emerge --depclean does not touch gobject-introspection. So I saved a binpkg and removed gobject-introspection from my system. Afterwards emerge world tried to pull it in but failed during compile - luckily I had the binpkg. | Code: | GICOMP gir/cairo-1.0.gir
/usr/libexec/gcc/i686-pc-linux-gnu/ld: cannot find -lgio-2.0
/usr/libexec/gcc/i686-pc-linux-gnu/ld: cannot find -lgmodule-2.0
/usr/libexec/gcc/i686-pc-linux-gnu/ld: cannot find -lgthread-2.0
/usr/libexec/gcc/i686-pc-linux-gnu/ld: cannot find -lglib-2.0
/usr/libexec/gcc/i686-pc-linux-gnu/ld: cannot find -lgobject-2.0
collect2: ld returned 1 exit status
distcc[19534] ERROR: compile (null) on localhost failed
linking of temporary binary failed: Command '['/bin/sh', './libtool', '--mode=link', '--tag=CC', '--silent', 'gcc', '-o', '/var/tmp/portage/dev-libs/gobject-introspection-1.30.0-r2/work/gobject-introspection-1.30.0/tmp-introspectZDPmQv/GLib-2.0', '-export-dynamic', '-fno-strict-aliasing', '-Wsign-compare', '-Wcast-align', '-Wpointer-arith', '-Wnested-externs', '-Wmissing-prototypes', '-Wmissing-declarations', '-Wchar-subscripts', '-Wall', '-march=native', '-O2', '-pipe', '-pthread', '-lgio-2.0', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '-lglib-2.0', '-lgobject-2.0', '/var/tmp/portage/dev-libs/gobject-introspection-1.30.0-r2/work/gobject-introspection-1.30.0/tmp-introspectZDPmQv/GLib-2.0.o']' returned non-zero exit status 1
make[2]: *** [GLib-2.0.gir] Error 1
|
So, my system is stable *right now* but having this "-introspection" globally makes me a bit suspicious. I still think there is either a bug around "introspection" or something else is wrong with my configuration (gcc, glib, ...).
Right now I hesitate a bit to put [solved] to the subject.
Any hint how to proceed?
Thanks. |
|
| Back to top |
|
 |
BillWho Veteran


Joined: 03 Mar 2012 Posts: 1576 Location: US
|
Posted: Sun Mar 18, 2012 5:51 pm Post subject: |
|
|
amaroc,
It's good to hear that you made some progress with this. I did notice that there are a lot of packages dependent on gobject-introspection - some which I use quite often especially evince and gedit.
The package description of 'infrastructure for generating gobject library bindings for various languages' is a little vague to say the least and fails to convey or even speculate on the benefits/consequences of compiling with it or not.
Since my approach on how to continue may differ from yours depending on your needs and comfort level I'll just tell you that I would enable the introspection use flag and do the emerge to update the necessary packages.
The predicate here is the fact that gobject-introspection was already pulled-in by another dependent package(s) and unmerging it would break the dependent package(s). Of course you could always unmerge the dependent package(s), but that may not be what you would want to do. In that case gobject-introspection is going to remain and there's a chance that it it could cause problems further on down the road.
In my case I have introspection enabled in make.conf rather than using package.use since there were so many packages associated with that use flag.
Whatever you decide I'd be interested to know.
Good luck  |
|
| Back to top |
|
 |
amaroc Tux's lil' helper

Joined: 13 Nov 2005 Posts: 78
|
Posted: Sat Mar 24, 2012 5:25 pm Post subject: |
|
|
| BillWho wrote: |
In my case I have introspection enabled in make.conf rather than using package.use since there were so many packages associated with that use flag.
Whatever you decide I'd be interested to know.
Good luck  |
Hi BillWho,
after one week off I'm back to this installation and it's getting worse.
The status from last week was that *every* package I've tried that considers "introspection" fails with the well known linker failure as before. So I've still set "-introspection" globally.
I anticipated some further trouble already and it didn't wait long.
After the weekly emerge --sync, world-update and revdep-rebuild PyQt4 will need an update | Code: | * Assigning files to packages
* /usr/lib/qt4/plugins/designer/libpythonplugin.so -> dev-python/PyQt4
| and fails | Code: | >>> Emerging (1 of 2) dev-python/PyQt4-4.8.4
* PyQt-x11-gpl-4.8.4.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking PyQt-x11-gpl-4.8.4.tar.gz to /var/tmp/portage/dev-python/PyQt4-4.8.4/work
>>> Source unpacked in /var/tmp/portage/dev-python/PyQt4-4.8.4/work
>>> Preparing source in /var/tmp/portage/dev-python/PyQt4-4.8.4/work/PyQt-x11-gpl-4.8.4 ...
* Applying PyQt4-4.7.2-configure.py.patch ... [ ok ]
* Preparation of dev-python/PyQt4-4.8.4 with CPython 2.7...
* Preparation of dev-python/PyQt4-4.8.4 with CPython 3.2...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-python/PyQt4-4.8.4/work/PyQt-x11-gpl-4.8.4 ...
* Configuration of dev-python/PyQt4-4.8.4 with CPython 2.7...
python2.7 configure.py --confirm-license --bindir=/usr/bin --destdir=/usr/lib64/python2.7/site-packages --sipdir=/usr/share/sip --qsci-api --enable=QtCore --enable=QtNetwork --enable=QtScript --enable=QtTest --enable=QtXml --enable=QtDesigner --enable=QtGui --enable=QtScriptTools --enable=QtDeclarative --enable=QtOpenGL --enable=phonon --enable=QtSql --enable=QtSvg --enable=QtWebKit CC=x86_64-pc-linux-gnu-gcc CXX=x86_64-pc-linux-gnu-g++ LINK=x86_64-pc-linux-gnu-g++ LINK_SHLIB=x86_64-pc-linux-gnu-g++ CFLAGS=-march=native -O2 -pipe CXXFLAGS=-march=native -O2 -pipe LFLAGS=-Wl,-O1 -Wl,--as-needed
Determining the layout of your Qt installation...
Error: Failed to determine the layout of your Qt installation. Try again using
the --verbose flag to see more detail about the problem.
* ERROR: dev-python/PyQt4-4.8.4 failed (configure phase):
* Configuration failed with CPython 2.7 in configuration() function
*
* Call stack:
* ebuild.sh, line 85: Called src_configure
* environment, line 4790: Called python_execute_function '-s' 'configuration'
* environment, line 3120: Called die
* The specific snippet of code:
* die "${failure_message}";
*
* If you need support, post the output of 'emerge --info =dev-python/PyQt4-4.8.4',
* the complete build log and the output of 'emerge -pqv =dev-python/PyQt4-4.8.4'.
* The complete build log is located at '/var/tmp/portage/dev-python/PyQt4-4.8.4/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-python/PyQt4-4.8.4/temp/environment'.
* S: '/var/tmp/portage/dev-python/PyQt4-4.8.4/work/PyQt-x11-gpl-4.8.4'
|
I don't know whether this is related to introspection but I somehow feel uncomfortable about the whole situation.
I somehow suspect an overall configuration failure in my setup but don't know where to search for.
Any idea?
Thanks. |
|
| Back to top |
|
 |
BillWho Veteran


Joined: 03 Mar 2012 Posts: 1576 Location: US
|
Posted: Sat Mar 24, 2012 7:54 pm Post subject: |
|
|
Hi amaroc,
Welcome back! I thought you decided to take the thing outside and shoot it!
| Quote: | | I somehow suspect an overall configuration failure in my setup but don't know where to search for. |
I know exactly what you mean and I can empathize with you there. When I first installed gentoo about three years ago I quickly got lost with the use flags and suffered emerge errors left and right.
Part of the problem on my part was not reading the documentation close enough and getting irrationally exuberant with setting them until I ended up with a configuration nightmare.
So what I did was review all the use flags starting with make.defaults for my profile which is: | Code: | | [3] default/linux/amd64/10.0/desktop * |
I checked them against the settings in /etc/make.conf and /etc/portage/package.use. I removed all conflicting and duplicate entries and lo and behold everything finally stabilized. I rarely experienced compiling errors since then.
Some rearranging was necessary i.e. if there were 14 packages in package.use with a particular flag, I moved the flag to make.conf to prevent that file from becoming unmanageable.
From my experience, that's probably the best place to start.
To assist in running the flags down I did a bash one-liner that might be of some help to you:
| Code: | | for u in $(grep -i use /usr/portage/profiles/targets/desktop/make.defaults|cut -d "\"" -f2);do grep -w ${u} {/etc/make.conf,/etc/portage/package.use};done |
To first get a look at the flags from your profile:
| Code: | | for u in $(grep -i use /usr/portage/profiles/targets/desktop/make.defaults|cut -d "\"" -f2);do echo $u;done |
If you decide to pursue this avenue, be sure to use the appropriate make.defaults for your profile. Also I'd be interested in the output.
Good luck  |
|
| Back to top |
|
 |
amaroc Tux's lil' helper

Joined: 13 Nov 2005 Posts: 78
|
Posted: Sat Mar 24, 2012 9:35 pm Post subject: |
|
|
Hi BillWho,
many thanks for still trying to help.
| BillWho wrote: | Part of the problem on my part was not reading the documentation close enough and getting irrationally exuberant with setting them until I ended up with a configuration nightmare.  |
Exactly, that's why I still think I've done a mistake somewhere.
I suspected the use-flags already and had my package.use directory cleaned completely. My profile is kde | Code: | [5] default/linux/amd64/10.0/desktop/kde *
|
The additional useflags | Code: | USE="cdparanoia coverart css daap embedded ffmpeg gimp gnutls lm_sensors npp
nsplugin pm-utils quicktime sql sqlite threads tk vnc webkit wmf xvfb
-introspection" |
what results in overall | Code: | | USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdparanoia cdr cli consolekit coverart cracklib crypt css cups cxx daap dbus declarative dri dts dvd dvdr embedded emboss encode exif fam ffmpeg firefox flac fortran gdbm gdu gif gimp gnutls gpm gtk iconv ipv6 jpeg kde kipi lcms ldap libnotify lm_sensors mad mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls npp nptl nptlonly nsplugin ogg opengl openmp pam pango pcre pdf phonon plasma pm-utils png policykit ppds pppd qt3support qt4 quicktime readline sdl semantic-desktop session spell sql sqlite sse sse2 ssl startup-notification svg sysfs tcpd threads tiff tk truetype udev unicode usb vnc vorbis webkit wmf x264 xcb xcomposite xinerama xml xorg xscreensaver xulrunner xv xvfb xvid zlib" |
Note that avidemux that is not related to "introspection" fails with the same linker error message. I suspect my toolchain to be broken and did already re-compile gcc glib glib-dbus without any success.
I'll probably need to revert the latest updates step by step in order to find the culprit - still a bit reluctant though. |
|
| Back to top |
|
 |
gienah Developer

Joined: 24 Nov 2010 Posts: 60 Location: AU
|
Posted: Sat Mar 24, 2012 11:52 pm Post subject: Re: emerge fails with linker issue |
|
|
| amaroc wrote: | Hi,
I'm a bit stuck with a problem where I couldn't find a solution so far:
| Code: | >>> Emerging (1 of 1) dev-libs/atk-2.2.0
* atk-2.2.0.tar.xz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
>>> Unpacking source...
....
/bin/sh ../libtool --silent --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DATK_COMPILATION -DATK_LOCALEDIR="\"/usr/share/locale\"" -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -march=native -O2 -pipe -Wall -c -o atkwindow.lo atkwindow.c
CC atk-enum-types.lo
/bin/sh ../libtool --silent --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I.. -DATK_COMPILATION -DATK_LOCALEDIR="\"/usr/share/locale\"" -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -march=native -O2 -pipe -Wall -c -o atk-enum-types.lo atk-enum-types.c
CCLD libatk-1.0.la
GISCAN Atk-1.0.gir
./.libs/libatk-1.0.so: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
distcc[9442] ERROR: compile (null) on localhost failed
linking of temporary binary failed: Command '['/bin/sh', '../libtool', '--mode=link', '--tag=CC', '--silent', 'gcc', '-o', '/var/tmp/portage/dev-libs/atk-2.2.0/work/atk-2.2.0/atk/tmp-introspectEF0JGc/Atk-1.0', '-export-dynamic', '-march=native', '-O2', '-pipe', '-Wall', '-L.', 'libatk-1.0.la', '-pthread', '-lgio-2.0', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '/var/tmp/portage/dev-libs/atk-2.2.0/work/atk-2.2.0/atk/tmp-introspectEF0JGc/Atk-1.0.o']' returned non-zero exit status 1
|
|
It seems the linker message was changed to be vague:
http://comments.gmane.org/gmane.comp.gnu.binutils/49115
So it seems the issue is the link was mixing 32 bit and 64 bit object files/libraries. Which makes me wonder,
since you are using distcc, if distcc is being used to compile for both 32 bit and 64 bit machines?
The distcc guide:
http://www.gentoo.org/doc/en/distcc.xml
Contains a section titled: "-march=native" which looks very relevant to this problem. |
|
| Back to top |
|
 |
BillWho Veteran


Joined: 03 Mar 2012 Posts: 1576 Location: US
|
Posted: Sun Mar 25, 2012 12:24 am Post subject: |
|
|
amaroc,
I once said to a another gentoo user that gentoo is a lot like the universe - when you finally think you understand it all, you discover something new that leads you down another path of discovery and confusion
Your use flags settings aren't bad at all, it's not like the minefield that I had to recover from. Heck, yours looks like the proverbial piece of cake.
As far as dev-python/PyQt4-4.8.4 goes, I would unmerge it. There are no packages that are dependent on it. What's the worst that can happen?
What is a little strange though is you're in the stable repos and I'm using testing repos which should less stable and more error prone. Go figure!
I would finally suggest enabling introspection on a package by basis for the actual packages you have installed in package.use.
Give it a try and let us know  |
|
| Back to top |
|
 |
amaroc Tux's lil' helper

Joined: 13 Nov 2005 Posts: 78
|
Posted: Mon Apr 02, 2012 3:28 pm Post subject: |
|
|
Hi,
The good news first - I've been able to solve the issue completely. However, I still don't understand what has really caused the problem.
Nevertheless, the hint | gienah wrote: | So it seems the issue is the link was mixing 32 bit and 64 bit object files/libraries. Which makes me wonder,
since you are using distcc, if distcc is being used to compile for both 32 bit and 64 bit machines? |
was a little bit towards the direction I suspected my toolchain to be "inconsistent".
However, it was probably not the | gienah wrote: | | Contains a section titled: "-march=native" which looks very relevant to this problem. | compiler flag issue because the 64bit machine I'm running here supports my 32bit-laptop as distcc-host whereas clint-operation is disabled.
Removing "distcc" from my make.conf didn't help so I started to remove what didn't help.
After I had to remove the crossdev-pull-ins fro my world-file
cross-i686-pc-linux-gnu/binutils
cross-i686-pc-linux-gnu/gcc
cross-i686-pc-linux-gnu/gcc:i686-pc-linux-gnu-4.4
cross-i686-pc-linux-gnu/glibc
cross-i686-pc-linux-gnu/linux-headers
and an removed all residues of my cross-toolchain
Sat Mar 31 15:30:29 2012 <<< cross-i686-pc-linux-gnu/glibc-2.13-r4
Sat Mar 31 15:30:48 2012 <<< cross-i686-pc-linux-gnu/gcc-4.4.6-r1
Sat Mar 31 15:30:50 2012 <<< cross-i686-pc-linux-gnu/gcc-4.5.3-r2
Sat Mar 31 15:30:51 2012 <<< cross-i686-pc-linux-gnu/linux-headers-2.6.39
Sat Mar 31 15:30:52 2012 <<< cross-i686-pc-linux-gnu/binutils-2.21.1-r1
After that I could compile the packages that failed before and was able to clear "-introspection" from my make.conf.
I re-installed distcc together with my cross-tool-chain | Code: | emerge distcc crossdev
crossdev -t i686-pc-linux-gnu --b 2.21.1-r1 --g 4.5.3 --k 3.2.1 --l 2.13-r4 |
and everything is running as before - the 64bit-host machine itself and acting as distcc-host for my 32bit laptop.
Root-cause analyses:
I suspect the gcc-mixture within the cross-tool-chain of gcc-4.4.6-r1 as well as gcc-4.5.3-r2 together with the "normal" gcc in my 64-bit-environment somehow. I don't know enough why the linker issue appeared at all and why "introspection" was unveiling it. I'll probably never understand ...
Nevertheless, I would like to thank you guys for helping me to solve it. |
|
| Back to top |
|
 |
|
|
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
|
|