Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 154827 - Can't compile media-libs/mesa-6.5.1-r1 for mach64
Summary: Can't compile media-libs/mesa-6.5.1-r1 for mach64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-11 11:13 UTC by Juergen Rose
Modified: 2006-12-06 19:09 UTC (History)
7 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2006-11-11 11:13:44 UTC
i686-pc-linux-gnu-gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../include/GL/internal -I../../../../../src/mesa -I../../../../../src/mesa/main -I../../../../../src/mesa/glapi -I../../../../../src/mesa/math -I../../../../../src/mesa/transform -I../../../../../src/mesa/shader -I../../../../../src/mesa/swrast -I../../../../../src/mesa/swrast_setup -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri `pkg-config --cflags libdrm`  -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -m32 -DGLX_USE_TLS -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN   mach64_ioctl.c -o mach64_ioctl.o
mach64_ioctl.c: In function 'mach64FireBlitLocked':
mach64_ioctl.c:190: error: 'drm_mach64_blit_t' has no member named 'idx'


root@scorpion:/root(46)# emerge --info
Portage 2.1.2_rc1-r5 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.19-rc4 i686)
=================================================================
System uname: 2.6.19-rc4 i686 AMD Duron(tm) processor
Gentoo Base System version 1.12.6
Last Sync: Sat, 11 Nov 2006 08:31:01 +0000
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks fixpackages metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp
://ftp.caliu.info/pub/gentoo/ http://ftp.caliu.info/pub/gentoo/ ftp://vlaai.snt.ipv6.utwente.nl/pub/os/linux/gentoo/ http://www.gi
gaload.org/gentoo.org/"
LC_ALL="POSIX"
LINGUAS="de fr"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --sta
ts --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X Xaw3d a52 aac acpi amrr aotuv ap apache2 asf atlas auctex audiofile automount berkdb bitmap-fonts blas bonobo bzi
p2 cairo cdda cddb cdf cdio cdparanoia cdr cgi cli corba cracklib crypt cups curl daap dbus devmap dga dlloader dvb dvd dvi dynagr
aph effects elf elibc_glibc emacs epiphany esd evo evolution exif expat fam fame ffmpeg fftw fits flac fltk fortran fpx gdal gdbm 
geos ginac glade gml gmp gnome gnuplot gphoto2 gpm graphviz grass gs gsl gsm gtk guile hal hardened hddtemp hdf hdf5 hlapi iconv i
cq id3 imagemagick innodb input_devices_keyboard input_devices_mouse ipv6 isdnlog jabber jbig john jp2 jpeg jpeg2k kernel_linux ke
xi lame lapack latex lcms ldap libg++ libgda libsamplerate linguas_de linguas_fr lirc lua lzo lzw math matroska mmx mmxext mng mod
 mono mozcalendar mozdevelop mozsvg mozxmlterm mp4live mpeg2 mplayer musicbrainz mysql mysqli nautilus ncurses netcdf network nfs 
nls nntp nptl nptlonly ntfs ntptonly numarray numeric ocaml octave odbc ogdi pam pcre pdf perl plotutils plugin png posix postgres
 ppds pppd proj python qhull readline real reflection reiserfs rhythmbox rle rrdcgi rrdtool samba session slang slp sndfile snmp s
ox spl sqlite sse ssl subtitles svg t1lib tcltk tcpd tetex theora tidy tiff tk truetype-fonts type1-fonts udev unicode userland_GN
U v4l2 video_cards_ati video_cards_fbdev video_cards_mach64 video_cards_vesa win32codecs wmf xemacs xext xine xml2 xmlreader xmlrp
c xorg xpm xvid xvmc zlib zvbi"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Any hint?
Comment 1 Juergen Rose 2006-11-12 06:22:04 UTC
I forget to say, that I have set

VIDEO_CARDS="mach64 vesa fbdev"

in /etc/make.conf

    Juergen
Comment 2 Joshua Baergen (RETIRED) gentoo-dev 2006-11-12 10:13:27 UTC
What version of mesa is this?
Comment 3 Joshua Baergen (RETIRED) gentoo-dev 2006-11-12 10:15:10 UTC
Bleh, ignore me, I just read the summary :P
Comment 4 Joshua Baergen (RETIRED) gentoo-dev 2006-11-12 10:27:07 UTC
Do you have x11-drm installed?  If so, what version?
Comment 5 F Vincken 2006-11-13 13:17:37 UTC
(In reply to comment #4)
> Do you have x11-drm installed?  If so, what version?
>

I have the same problem with roughly same configuration, my version of x11-drm:

[ebuild   R   ] x11-base/x11-drm-20060608  VIDEO_CARDS="mach64 -i810 -mga -nv -r128 -radeon -savage -sis (-sunffb) -tdfx -via" 0 kB

I'm going to compile to a lower version of mesa and see if that solves the problem.
Comment 6 Juergen Rose 2006-11-13 20:50:27 UTC
I have two machines with the VIDEO_CARDS="mach64" settings:
- penguin, which works for some month with gentoo
- scorpion, where I just try to install gentoo, i.e. it is a old slackware system
  and I have a partially working gentoo in a chroot environment.

At penguin x11-drm is not installed, but mesa-6.5.1-r1 is installed:
root@penguin:/root(1)# emerge -pvD x11-drm  mesa
...
[ebuild  N    ] x11-base/x11-drm-20060608  VIDEO_CARDS="mach64 -i810 -mga -nv -r128 -radeon -savage -sis (-sunffb) -tdfx -via" 556 kB 
[ebuild   R   ] media-libs/mesa-6.5.1-r1  USE="hardened nptl -debug -doc -motif" VIDEO_CARDS="mach64 -i810 -mga -none -r128 -radeon -s3virge -savage -sis (-sunffb) -tdfx -trident -via" 0 kB 

If I try to install mesa once more, it fails with:
root@penguin:/root(3)# emerge -vD mesa
...
i686-pc-linux-gnu-gcc -c ... mach64_ioctl.c -o mach64_ioctl.o
mach64_ioctl.c: In function 'mach64FireBlitLocked':
mach64_ioctl.c:190: error: 'drm_mach64_blit_t' has no member named 'idx'


At scorpion, where the installation of gentoo is stopped, because of failed installation of mesa, which is needed by xorg-server, x11-drm was at first also not installed. Now I installed it. 
root@scorpion:/(5)# emerge -pvD x11-drm mesa
...
Calculating dependencies... done!
[ebuild   R   ] x11-base/x11-drm-20060608  VIDEO_CARDS="mach64 -i810 -mga -nv -r128 -radeon -savage -sis (-sunffb) -tdfx -via" 0 kB 
[ebuild  N    ] media-libs/mesa-6.5.1-r1  USE="hardened nptl -debug -doc -motif" VIDEO_CARDS="mach64 -i810 -mga -none -r128 -radeon -s3virge -savage -sis (-sunffb) -tdfx -trident -via" 0 kB 

But the installation of mesa still failes with the same error:
root@scorpion:/(5)# emerge -pvD x11-drm mesa
...
mach64_ioctl.c: In function 'mach64FireBlitLocked':
mach64_ioctl.c:190: error: 'drm_mach64_blit_t' has no member named 'idx'


So I assume the error is not related to x11-drm.
Comment 7 Mart Raudsepp gentoo-dev 2006-11-25 03:46:08 UTC
drm_mach64_blit_t declaration comes from /usr/include/drm/mach64_drm.h, which comes from x11-libs/libdrm
I have libdrm-2.3.0 on one system, and on there drm_mach64_blit_t struct doesn't have an idx member and mesa compilation fails with video_cards_mach64
int idx was replaced with void *buf on 2nd Oct 2006, as can be seen from
http://gitweb.freedesktop.org/?p=mesa/drm.git;a=commitdiff;h=c9e3aa961eb90265ec024ff57013786e4d47d0e7

As such, libdrm 2.2.0 or greater can't work with mesa mach64 dri bits that require idx in drm_mach64_blit_t typedef.

mesa was adapted to the change on the same date, as can be seen from
http://gitweb.freedesktop.org/?p=users/krh/mesa.git;a=commitdiff;h=735c89e8243f6f57148aee3dc9b4b68d5b2c6de4
I don't see any tags after that on mesa - only mesa_6_5_1 BEFORE the adapting.
Perhaps we need to patch the change ourselves meanwhile (I don't know if the referenced diff is the only necessary one), or back out libdrm-2.3.0 to lower ebuild visibility meanwhile. But here's the information and xorg team knows better what to do with it :)
Cheers, and hope it helps to speed things up ;)
Comment 8 Juergen Rose 2006-11-26 06:31:58 UTC
Emerging mesa-6.5.1-r2 also fails with 
mach64_ioctl.c: In function 'mach64FireBlitLocked':
mach64_ioctl.c:190: error: 'drm_mach64_blit_t' has no member named 'idx'

   Juergen
Comment 9 Joshua Baergen (RETIRED) gentoo-dev 2006-11-26 17:17:08 UTC
(In reply to comment #7)
Thanks for this - it should indeed speed things up :)

Donnie, this week is going to be horrible for time, so hopefully you'll have time to commit this before me.

A workaround for now is to use libdrm-2.0.2 until we are able to patch this.
Comment 10 Joshua Baergen (RETIRED) gentoo-dev 2006-12-06 19:09:38 UTC
Fixed in mesa-6.5.1-r3.  Thanks for your patience.