Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 375847 - media-libs/mesa-7.11: should depend on =sys-devel/llvm-2.9*
Summary: media-libs/mesa-7.11: should depend on =sys-devel/llvm-2.9*
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
: 377403 393013 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-07-21 09:24 UTC by Helmut Jarausch
Modified: 2011-12-16 16:07 UTC (History)
7 users (show)

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


Attachments
mesa-7.11-gallivm-llvm-3.0.patch (mesa-7.11-gallivm-llvm-3.0.patch,914 bytes, patch)
2011-07-21 09:41 UTC, Chí-Thanh Christopher Nguyễn
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut Jarausch 2011-07-21 09:24:31 UTC
emerging mesa-7.11_rc2 fails with
gallivm/lp_bld_type.c: In function 'lp_typekind_name':
gallivm/lp_bld_type.c:328:9: error: 'LLVMOpaqueTypeKind' undeclared (first use in this function)
gallivm/lp_bld_type.c:328:9: note: each undeclared identifier is reported only once for each function it appears in

(mesa-7.11_rc1-r1 is installed here)
Thanks for looking into it,
Helmut.


Reproducible: Always




emerge --info '=media-libs/mesa-7.11_rc2'
Portage 2.2.0_alpha46 (default/linux/amd64/10.0/desktop, gcc-4.5.2, glibc-2.13-r4, 2.6.39-gentoo-r3 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.39-gentoo-r3-x86_64-AMD_Phenom-tm-_II_X4_955_Processor-with-gentoo-2.0.3
Timestamp of tree: Thu, 21 Jul 2011 06:45:01 +0000
ccache version 3.1.5 [disabled]
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2, 3.2
dev-util/ccache:          3.1.5
dev-util/cmake:           2.8.5-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.3
sys-apps/openrc:          0.8.3-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21.1
sys-devel/gcc:            4.5.2, 4.6.1, 4.7.0_pre9999::local
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.38 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
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/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/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 fixpackages 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 perl png policykit ppds pppd python 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="braindump flow karbon kexi kpresenter krita tables words" 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 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-07-21 09:33:26 UTC
Which version of llvm did you build mesa-7.11_rc1-r1 against, and which version of llvm do you build mesa-7.11_rc2 against?

check "qlop -lu mesa llvm" output if in doubt.
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-07-21 09:41:21 UTC
Created attachment 280511 [details, diff]
mesa-7.11-gallivm-llvm-3.0.patch

Possible fix for llvm-3.0 compatibility, taken from
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4189f2e2e310276136dc06af20062986920e8e2
Comment 3 Helmut Jarausch 2011-07-21 14:10:48 UTC
Unfortunately, that doesn't suffice.

Now I get

draw/draw_llvm.c:287:4: warning: implicit declaration of function 'LLVMAddTypeName' [-Wimplicit-function-declaration]

...

x86_64-pc-linux-gnu-g++ -c -I. -I../../../src/gallium/include -I../../../src/gallium/auxiliary -I../../../src/gallium/drivers  -mtune=native -O2 -msse3 -pipe -ffast-math -Wall -fno-strict-aliasing  -fPIC  -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN -DGALLIUM_LLVMPIPE -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0300 -fvisibility=hidden -I/usr/include  -DNDEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS gallivm/lp_bld_misc.cpp -o gallivm/lp_bld_misc.o
gallivm/lp_bld_debug.cpp: In function 'void lp_disassemble(const void*)':
gallivm/lp_bld_debug.cpp:292:13: error: 'TargetInstrDesc' does not name a type
gallivm/lp_bld_debug.cpp:298:11: error: 'TID' was not declared in this scope
gallivm/lp_bld_debug.cpp:350:11: error: 'TID' was not declared in this scope
Comment 4 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-07-21 15:57:03 UTC
That doesn't answer the question from comment 1.
Comment 5 Helmut Jarausch 2011-07-21 16:07:15 UTC
(In reply to comment #4)
> That doesn't answer the question from comment 1.

OK, mesa-7.11_rc1-r1 was built against llvm-2.9-r2,

currently I have llvm-9999 installed and builing mesa-7.11_rc2 against this
fails.

Helmut.
Comment 6 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-07-21 21:11:08 UTC
At least the following llvm-3.0 patches in mesa git master have not been committed to the 7.11 branch:

http://cgit.freedesktop.org/mesa/mesa/commit/?id=b61e56756c2d61a94a8dd90abb4dc83e0c0349ae
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8fcaf0215f0434baf13bb5c45545c58f97846b6
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4189f2e2e310276136dc06af20062986920e8e2
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9228bfb37519e4a03183ec89e82a80f39addeeeb

I am not fully convinced that it makes sense to track the moving target of llvm-9999, it appears to break the mesa build regularly.
Comment 7 Matt Turner gentoo-dev 2011-08-03 05:19:28 UTC
*** Bug 377403 has been marked as a duplicate of this bug. ***
Comment 8 Matt Turner gentoo-dev 2011-09-16 04:41:42 UTC
The tentative conclusion at XDC was that each Mesa branch (ie, 7.10, 7.11, 7.12) should only track one version of LLVM. LLVM ships its libraries as static binaries and doesn't really offer any guarantees of API stability, so this seems to be what they want as well.

As such, I think we should change the dependency on LLVM to =sys-devel/llvm-2.9* for Mesa 7.11.

Comments?
Comment 9 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-09-29 04:08:05 UTC
As LLVM is not slotted, this might cause downgrades, which are an inconvenience for users. Also the patches mentioned in this bug preserve compatibility for older versions.

You are probably correct that for future mesa versions there is probably no way around it.
Comment 10 Craig Andrews gentoo-dev 2011-12-02 23:02:35 UTC
FYI: sys-devel/llvm-3.0 was marked ~amd64 and ~x86 today, so this issue is about to hit many more users (it just hit me)
Comment 11 Davide Pesavento gentoo-dev 2011-12-03 13:25:59 UTC
(In reply to comment #10)
> FYI: sys-devel/llvm-3.0 was marked ~amd64 and ~x86 today, so this issue is
> about to hit many more users (it just hit me)

+1, and mesa-7.11.2 fails too.
Comment 12 Andrey Grozin gentoo-dev 2011-12-03 15:01:07 UTC
(In reply to comment #11)
> +1, and mesa-7.11.2 fails too.
+1, mesa-7.11.2[gallium,llvm,video_cards_intel] fails with llvm-3.0
Comment 13 Matt Turner gentoo-dev 2011-12-03 16:12:36 UTC
There are a small number of patches that need to be applied to Mesa-7.11.x in order to work with llvm-3.0, see bug 393013.

I've emailed the mesa mailing list and hope to have those patches included in the 7.11 branch.
Comment 14 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-12-03 21:49:05 UTC
*** Bug 393013 has been marked as a duplicate of this bug. ***
Comment 15 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-12-03 23:00:42 UTC
The patches mentioned in bug 393013 (minus 1844ae7e7e2285f52dc0ecd42194ccc47e3137ef) have been applied in 7.11.2, and older versions now depend on <llvm-3.