Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 499984 - x11-libs/wxGTK-2.8.12.1: wrongly assumes that all 64bit arches use /usr/lib64
Summary: x11-libs/wxGTK-2.8.12.1: wrongly assumes that all 64bit arches use /usr/lib64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo wxWidgets project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-01 15:10 UTC by Émeric Maschino
Modified: 2014-05-23 09:17 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,14.95 KB, text/x-log)
2014-02-01 15:14 UTC, Émeric Maschino
Details
environment (environment,91.14 KB, text/plain)
2014-02-01 15:14 UTC, Émeric Maschino
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Émeric Maschino 2014-02-01 15:10:14 UTC
Trying to emerge wxGTK fails with:

[...]

checking for libraries directory... lib64

[...]

checking for -lGL... no
checking for -lMesaGL... no
configure: error: OpenGL libraries not available

There's no such /usr/lib64 directory on ia64, so obviously libGL.so cannot be found there as it relies in /usr/lib:

longspeak emeric ~ ls -l /usr/lib/libGL.so*
lrwxrwxrwx 1 root root 34  1 févr. 15:22 /usr/lib/libGL.so -> opengl/xorg-x11/lib/libGL.so.1.2.0
lrwxrwxrwx 1 root root 34  1 févr. 15:22 /usr/lib/libGL.so.1 -> opengl/xorg-x11/lib/libGL.so.1.2.0

Reproducible: Always

Steps to Reproduce:
1. emerge wxGTK
2.
3.
Actual Results:  
Failed emerge

Expected Results:  
Successful emerge

I'm not a config tools guru, so I'm a bit lost between all these acinclude.m4, autoconf_inc.m4 or configure.in scripts, but looking in top-level configure.in for wxWidgets, I'm a little bit skeptical of how libraries directory path is determined:

    *-*-linux* )
        dnl use ../lib or ../lib64 depending on the size of void*
        if test "$ac_cv_sizeof_void_p" = 8 -a \
                -d "/usr/lib64" -a ! -h "/usr/lib64"; then
            wx_cv_std_libpath="lib64"
        else
            wx_cv_std_libpath="lib"
        fi
        ;;

    *)

Obviously, void* is 8 bytes on ia64, but there's no such /usr/lib64 directory. Don't know for other pure 64-bit architectures, but I bet that there's same problem for alpha or ppc64.
Comment 1 Émeric Maschino 2014-02-01 15:12:55 UTC
emerge --info output:

Portage 2.2.7 (default/linux/ia64/13.0/desktop/gnome/systemd, gcc-4.6.3, glibc-2.17, 3.10.25-gentoo ia64)
=================================================================
System uname: Linux-3.10.25-gentoo-ia64-Madison-with-gentoo-2.2
KiB Mem:    24987264 total,  21348624 free
KiB Swap:     524272 total,    524272 free
Timestamp of tree: Fri, 31 Jan 2014 19:30:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.5-r3, 3.3.2-r2
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.6.3, 4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo my_ebuilds
ACCEPT_KEYWORDS="ia64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="ia64-unknown-linux-gnu"
CFLAGS="-mtune=itanium2 -O2 -pipe"
CHOST="ia64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-mtune=itanium2 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://mirrors.linuxant.fr/distfiles.gentoo.org/"
LANG="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/my_ebuilds"
USE="X a52 aac acl acpi alsa berkdb branding bzip2 cairo cdda cdr cli colord cracklib crypt cups cxx dbus dri dts dvdr eds encode evo exif fam firefox flac fortran gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk ia64 iconv introspection ipv6 jpeg lcms ldap libnotify libsecret mad mng modules mp3 mp4 mpeg nautilus ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt3support qt4 readline sdl session socialweb spell ssl startup-notification svg systemd tcpd tiff truetype udev udisks unicode upower usb vorbis wxwidgets xcb xml xv 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" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 sheets stage tables krita karbon braindump author" 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 ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="fr" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" 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, SYNC, USE_PYTHON
Comment 2 Émeric Maschino 2014-02-01 15:14:12 UTC
Created attachment 369270 [details]
build.log
Comment 3 Émeric Maschino 2014-02-01 15:14:28 UTC
Created attachment 369272 [details]
environment
Comment 4 Émeric Maschino 2014-02-01 15:15:40 UTC
emerge --pqv output:

[ebuild  N    ] x11-libs/wxGTK-2.8.12.1  USE="X gnome gstreamer opengl sdl tiff (-aqua) -debug -doc -odbc -pch"
Comment 5 SpanKY gentoo-dev 2014-02-03 13:26:33 UTC
this breaks on other arches too, and in cases where people have customized their multilib layout.  the ebuild should force wx_cv_std_libpath to $(get_libdir).
Comment 6 Émeric Maschino 2014-02-03 22:35:41 UTC
(In reply to SpanKY from comment #5)
> this breaks on other arches too, and in cases where people have customized
> their multilib layout.  the ebuild should force wx_cv_std_libpath to
> $(get_libdir).

Thanks for the wx_cv_std_libpath keywoard. This quickly lead me to [1], where this issue was reported upstream 3 years ago. Don't know against which version though.

BTW, should the use of wx_cv_std_libpath be in wxGTK configure scripts or ebuild?

     Émeric


[1] http://trac.wxwidgets.org/ticket/13375
Comment 7 Ryan Hill (RETIRED) gentoo-dev 2014-02-04 03:46:05 UTC
Yes I've fixed this a few times already but people keep fucking with it when I'm not looking.

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/wxGTK/wxGTK-2.8.12.1.ebuild?r1=1.14&r2=1.15
Comment 8 SpanKY gentoo-dev 2014-02-04 04:16:14 UTC
(In reply to Ryan Hill from comment #7)

rev 1.14 looks like the right one to me.  maybe it needs a stronger comment in there like "please do not change this unless you know what you're doing".
Comment 9 Émeric Maschino 2014-02-08 21:41:37 UTC
(In reply to SpanKY from comment #8)
> (In reply to Ryan Hill from comment #7)
> 
> rev 1.14 looks like the right one to me.  maybe it needs a stronger comment
> in there like "please do not change this unless you know what you're doing".

I can testify that rev 1.17 fixed the problem. Thanks for this.

BTW, I've reported a similar issue against OpenSceneGraph (bug #500716) that makes me wondering if there's some kind of a centralized logic on Gentoo to determine where libraries (i.e. /usr/lib or /usr/lib64) should be linked from/installed to?

     Émeric
Comment 10 SpanKY gentoo-dev 2014-02-09 03:06:36 UTC
(In reply to Émeric Maschino from comment #9)

yes, you inherit the multilib eclass and use $(get_libdir)
Comment 11 Émeric Maschino 2014-02-10 19:55:49 UTC
(In reply to SpanKY from comment #10)
> (In reply to Émeric Maschino from comment #9)
> 
> yes, you inherit the multilib eclass and use $(get_libdir)

OK, thanks.

     Émeric
Comment 12 Émeric Maschino 2014-02-10 19:57:00 UTC
Well, brand new wxGTK-2.8.12.1-r1 is broken again... Would it be possible to include the patch from wxGTK-2.8.12.1, please?

     Émeric
Comment 13 Émeric Maschino 2014-02-10 20:25:03 UTC
(In reply to Émeric Maschino from comment #9)
> I can testify that rev 1.17 fixed the problem. Thanks for this.

Oops, my bad, it's not rev 1.17, but 1.14 (last working).

     Émeric
Comment 14 Ryan Hill (RETIRED) gentoo-dev 2014-05-23 08:18:46 UTC
(In reply to Émeric Maschino from comment #12)
> Well, brand new wxGTK-2.8.12.1-r1 is broken again... Would it be possible to
> include the patch from wxGTK-2.8.12.1, please?

I'm not sure what you're talking about.  2.8.12.1-r1 is the fixed version.  

Also fixed in 3.0.0.0.
Comment 15 Émeric Maschino 2014-05-23 09:17:31 UTC
(In reply to Ryan Hill from comment #14)
> 
> I'm not sure what you're talking about.  2.8.12.1-r1 is the fixed version.  
> 
> Also fixed in 3.0.0.0.

Huh, right! BTW, I'm using 2.8.12.1-r1 for quite some time. I don't know why I've asked for reporting the patch into 2.8.12.1-r1: I've probably mismatched versions at time of testing.

Sorry, by bad,

     Émeric