Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 399813 - media-libs/mesa-7.11.2: libOSMesa.so undef. ref to_glapi_*
Summary: media-libs/mesa-7.11.2: libOSMesa.so undef. ref to_glapi_*
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
: 407387 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-01-23 09:52 UTC by Helmut Jarausch
Modified: 2012-10-10 21:42 UTC (History)
3 users (show)

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


Attachments
build log (build.log,29.88 KB, text/plain)
2012-01-23 09:52 UTC, Helmut Jarausch
Details
a not really correct hack (fix-OSMesa-linking.patch,490 bytes, patch)
2012-08-02 11:08 UTC, Rafał Mużyło
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut Jarausch 2012-01-23 09:52:33 UTC
Created attachment 299601 [details]
build log

sci-visualization/gfsview-20111003 fails to build :

libtool: link: (cd ".libs" && rm -f "libgfsview3D.so" && ln -s "libgfsview3D-0.0.1.so" "libgfsview3D.so")
/usr/lib/libOSMesa.so: undefined reference to `_glapi_tls_Dispatch'
/usr/lib/libOSMesa.so: undefined reference to `_glapi_tls_Context'
/usr/lib/libOSMesa.so: undefined reference to `_glapi_check_multithread'
/usr/lib/libOSMesa.so: undefined reference to `_glapi_set_context'
/usr/lib/libOSMesa.so: undefined reference to `_glapi_add_dispatch'
/usr/lib/libOSMesa.so: undefined reference to `_glapi_get_proc_address'
/usr/lib/libOSMesa.so: undefined reference to `_glapi_get_context'


eselect opengl list

  [1]   ati *
  [2]   xorg-x11

x11-drivers/ati-drivers-11.12-r1


emerge --info '=sci-visualization/gfsview-20111003'
Portage 2.2.0_alpha84 (default/linux/amd64/10.0/desktop, gcc-4.5.3, glibc-2.14.1-r2, 3.2.1-gentoo x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.2.1-gentoo-x86_64-AMD_Phenom-tm-_II_X4_955_Processor-with-gentoo-2.1
Timestamp of tree: Mon, 23 Jan 2012 07:45:01 +0000
ccache version 3.1.7 [disabled]
app-shells/bash:          4.2_p20
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.7
dev-util/cmake:           2.8.7-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.8.1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.2-r1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.5.3-r2, 4.6.2, 4.7.0_pre9999::local
sys-devel/gcc-config:     1.5-r2
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.2 (virtual/os-headers)
sys-libs/glibc:           2.14.1-r2
Repositories: gentoo local sunrise
Installed sets: 
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-mtune=native -O2 -msse3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb /var/lib/neatx/home"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-mtune=native -O2 -msse3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs buildpkg distlocks ebuild-locks fixlafiles news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo "
LANG="en_US.iso88591"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en de"
MAKEOPTS="-j4"
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="/usr/local/portage /usr/local/portage/layman/sunrise"
SYNC="rsync://rsync.informatik.RWTH-Aachen.de/gentoo-portage"
USE="3dnow 3dnowext 3dnowprefetch X a52 aac acl acpi alsa amd64 atm avahi berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg fftw firefox flac fortran fuse gdbm gdu gfortran gif gimp gnome gpm gtk gtk2 iconv ipv6 jpeg kde lapack lcms libnotify mad mmx mmxext mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf png policykit ppds pppd qt qt3support qt4 readline sdl session smp spell sqlite sqlite3 sse sse2 sse3 sse4a ssl startup-notification svg sysfs tcl tcpd threads tiff tk truetype udev unicode usb vorbis x264 xcb xml xorg xulrunner 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" 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 wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="ati 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
Comment 1 Sébastien Fabbro (RETIRED) gentoo-dev 2012-01-30 00:06:18 UTC
I confirmed, ldd -r /usr/lib/libOSmesa.so gives same undefined symbols. 
Sounds like as-needed problem of media-libs/mesa.
Comment 2 Matt Turner gentoo-dev 2012-01-30 01:29:55 UTC
Is Mesa built with USE=shared-glapi?

The _glapi_* symbols are part of the libglapi library which is a separate shared object when built with USE=shared-glapi and is statically linked without this USE flag.
Comment 3 Matt Turner gentoo-dev 2012-01-30 01:31:25 UTC
Looking at the build log, my guess is that Mesa is build with shared-glapi, and thus when -lOSMesa is linked in, -lglapi should also be used but Mesa's built system didn't put -lglapi into osmesa.pc.
Comment 4 Matt Turner gentoo-dev 2012-03-09 15:12:56 UTC
*** Bug 407387 has been marked as a duplicate of this bug. ***
Comment 5 Rafał Mużyło 2012-08-01 16:30:45 UTC
AFAICT, this has been fixed in master, but is there any chance of getting a hack for it for 8.0 ?
Backport isn't really an option, cause the "fix" was actually a build system overhaul.
Comment 6 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-08-01 17:14:23 UTC
Which commit fixed it?
Comment 7 Matt Turner gentoo-dev 2012-08-01 22:06:27 UTC
(In reply to comment #5)
> AFAICT, this has been fixed in master, but is there any chance of getting a
> hack for it for 8.0 ?
> Backport isn't really an option, cause the "fix" was actually a build system
> overhaul.

Maybe if you can reproduce it you could answer comment #2.

If it's tied to shared-glapi, which I bet it is, let's just force -shared-glapi with OSMesa.
Comment 8 Rafał Mużyło 2012-08-02 11:08:59 UTC
Created attachment 320032 [details, diff]
a not really correct hack

This is what I did for myself.

Obviously, it's not really correct (if nothing else, it's only valid with shared-glapi), but it seems to produce a valid lib and the resulting linker line is similar to the one libGL has in such case.

I haven't dug deep enough to see how to get a line that would be correct regardless of the option yet.

The "fix" I was referring to was obviously that change to automake build.
Comment 9 Andrei Slavoiu 2012-08-11 07:56:07 UTC
This is not actually fixed in master, I'm getting the same with the live build of mesa.
Comment 10 Helmut Jarausch 2012-09-27 11:37:45 UTC
(In reply to comment #0)

The fix is to append the line
export OSMESA_LIBS="-lOSMesa -lglapi"

after the last line of the ebuild file.

Helmut.
Comment 11 Matt Turner gentoo-dev 2012-09-28 03:40:17 UTC
Patch submitted upstream: http://lists.freedesktop.org/archives/mesa-dev/2012-September/028019.html
Comment 14 Matt Turner gentoo-dev 2012-10-10 21:42:13 UTC
Fixed in 9.0.