Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 48470 - emerge xmame-0.81.1 fails with a compiler error in src/unix/video.c
Summary: emerge xmame-0.81.1 fails with a compiler error in src/unix/video.c
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-20 08:43 UTC by dongagami
Modified: 2004-04-23 02:24 UTC (History)
1 user (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 dongagami 2004-04-20 08:43:49 UTC
When I ran emerge -UD world, xmame-0.81.1 was compiled. However, compilation failed inside of video.c. See additional info for more verbose details.

Compiling src/unix/video.c ...
In file included from /usr/X11R6/include/GL/glx.h:27,
                 from video-drivers/gltool.h:53,
                 from video-drivers/glmame.h:35,
                 from video.c:10:
/usr/X11R6/include/X11/Xmd.h:134: error: conflicting types for `INT32'
osd_cpu.h:46: error: previous declaration of `INT32'
/usr/X11R6/include/X11/Xmd.h:136: error: redefinition of `INT16'
osd_cpu.h:45: error: `INT16' previously declared here
/usr/X11R6/include/X11/Xmd.h:140: error: redefinition of `INT8'
osd_cpu.h:44: error: `INT8' previously declared here

Reproducible: Always
Steps to Reproduce:
1. emerge xmame-0.81.1 at 4am EST on 4/20/04.
2.
3.

Actual Results:  
compiler finds an error and aborts

Expected Results:  
a clean emerge of the new xmame

Compiling src/unix/video.c ...
In file included from /usr/X11R6/include/GL/glx.h:27,
                 from video-drivers/gltool.h:53,
                 from video-drivers/glmame.h:35,
                 from video.c:10:
/usr/X11R6/include/X11/Xmd.h:134: error: conflicting types for `INT32'
osd_cpu.h:46: error: previous declaration of `INT32'
/usr/X11R6/include/X11/Xmd.h:136: error: redefinition of `INT16'
osd_cpu.h:45: error: `INT16' previously declared here
/usr/X11R6/include/X11/Xmd.h:140: error: redefinition of `INT8'
osd_cpu.h:44: error: `INT8' previously declared here
Compiling src/unix/mode.c ...
make[2]: *** [../../xmame.obj/unix.xgl/video.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory
`/var/tmp/portage/xmame-0.81.1/work/xmame-0.81.1/src/unix'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/var/tmp/portage/xmame-0.81.1/work/xmame-0.81.1/src/unix'
make: *** [xmame.obj/unix.xgl/osdepend.a] Error 2
 
!!! ERROR: games-emulation/xmame-0.81.1 failed.
!!! Function src_compile, Line 171, Exitcode 2
!!! emake failed (xgl)



Portage 2.0.50-r6 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.4.25-gentoo)
=================================================================
System uname: 2.4.25-gentoo i686 Intel(R) Celeron(R) CPU 1.80GHz
Gentoo Base System version 1.4.9
Autoconf: sys-devel/autoconf-2.58-r1
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config
/usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS=""
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X Xaw3d aalib alsa arts avi berkdb bonobo canna cdr crypt cups curl emacs
encode esd foomaticdb gdbm gif gnome gnomedb gpm gtk gtk2 gtkhtml guile hbci
imagemagick imap imlib java javascript joystick jpeg kde lesstif libg++ libwww
mad mikmod mmx motif mozilla moznocompose moznoirc moznomail mpeg mpeg4 mysql
ncurses net nls noreiserfs oci8 oggvorbis opengl oss pam pdflib perl png ppds
python qt quicktime readline sdl slang spell sse ssl svga tcltk tcpd tiff
truetype type1 usb v4l videos vim-with-x x86 xml2 xmms xv zlib zvbi"
Comment 1 Greg Andreou 2004-04-20 10:54:14 UTC
I have exactly the same trouble here. Could this have something to do with the nvidia opengl drivers maybe? I am using them what about the original poster?
Comment 2 Mr. Bones. (RETIRED) gentoo-dev 2004-04-20 11:02:40 UTC
I'm using the nvidia drivers and I don't see this issue.
nvidia-kernel-1.0.4496-r3
nvidia-glx-1.0.4496
Comment 3 dongagami 2004-04-20 11:17:44 UTC
I run the following:

*  media-video/nvidia-glx 1.0.4496
*  media-video/nvidia-kernel 1.0.4496-r3

I would be more than happy to give any additional information.
Comment 4 Mr. Bones. (RETIRED) gentoo-dev 2004-04-20 11:52:32 UTC
Try the usual first:

try it with CFLAGS and CXXFLAGS set to "-pipe"
try it with MAKEOPTS="-j1"
Comment 5 dongagami 2004-04-20 12:00:17 UTC
how do I do that on a package by package basis?

or do I have to edit make.conf and change it back when I'm done?
Comment 6 Mr. Bones. (RETIRED) gentoo-dev 2004-04-20 12:02:49 UTC
On the command-line.

CFLAGS="-pipe" CXXFLAGS="-pipe" emerge ....
Comment 7 dongagami 2004-04-20 12:45:19 UTC
Here is the error that I get with -pipe on CFLAGS and CXXFLAGS:

Compiling in the unix directory...
Compiling src/vidhrdw/vector.c ...
make[1]: Entering directory `/var/tmp/portage/xmame-0.81.1/work/xmame-0.81.1/src/unix'
make ../../xmame.obj/unix.xgl/osdepend.a
make[2]: Entering directory `/var/tmp/portage/xmame-0.81.1/work/xmame-0.81.1/src/unix'
Compiling src/unix/main.c ...
Compiling src/unix/sound.c ...
Compiling src/unix/keyboard.c ...
Compiling src/unix/devices.c ...
Compiling src/unix/video.c ...
Compiling src/unix/mode.c ...
In file included from /usr/X11R6/include/GL/glx.h:27,
                 from video-drivers/gltool.h:53,
                 from video-drivers/glmame.h:35,
                 from video.c:10:
/usr/X11R6/include/X11/Xmd.h:134: error: conflicting types for `INT32'
osd_cpu.h:46: error: previous declaration of `INT32'
/usr/X11R6/include/X11/Xmd.h:136: error: redefinition of `INT16'
osd_cpu.h:45: error: `INT16' previously declared here
/usr/X11R6/include/X11/Xmd.h:140: error: redefinition of `INT8'
osd_cpu.h:44: error: `INT8' previously declared here
make[2]: *** [../../xmame.obj/unix.xgl/video.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/tmp/portage/xmame-0.81.1/work/xmame-0.81.1/src/unix'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/var/tmp/portage/xmame-0.81.1/work/xmame-0.81.1/src/unix'
make: *** [xmame.obj/unix.xgl/osdepend.a] Error 2
 
!!! ERROR: games-emulation/xmame-0.81.1 failed.
!!! Function src_compile, Line 171, Exitcode 2
!!! emake failed (xgl)
 
I'll try with the same flags again, along with -j1.
Comment 8 dongagami 2004-04-20 13:28:23 UTC
With -j1 added, it dies in the same place as with no special flags.

Here's the summary:

With CFLAGS="-pipe" CXXFLAGS="-pipe" it dies on src/unix/mode.c inside of the opengl compile

With CFLAGS="-pipe" CXXFLAGS="-pipe" MAKEOPTS="-j1" it dies on src/unix/video.c inside of the opengl compile

With no special flags besides what's listed in the "emerge info", it dies on src/unix/video.c

Should I try anything else? btw, tuxracer and glxgears work fine so I'm pretty sure my nvidia configuration is okay.
Comment 9 Rincewind 2004-04-20 18:00:22 UTC
I experienced the same problem as the original poster compiling xmame-0.81.1.

This is what fixed it for me (I can't explain why):
su
opengl-update xfree
emerge -U xmame

And then we go back to the nvidia drivers:
opengl-update nvidia

My nvidia-drivers:
nvidia-glx 1.0.4496
nvidia-kernel 1.0.4496-r3

USE="X kde qt ssl pam -gnome arts cdr crypt dvd java libwww opengl perl sse unicode xml alsa"

CXXFLAGS = CFLAGS="-O3 -march=pentium4 -Wall -funroll-loops -fprefetch-loop-arrays -pipe -fomit-frame-pointer -mfpmath=sse -msse2 -mmmx"

MAKEOPTS="-j2"
Comment 10 Mr. Bones. (RETIRED) gentoo-dev 2004-04-20 18:12:17 UTC
Yep.  work around is to use xfree opengl.  I have a patch for this I'm
trying out.  Would be done already but it takes *forever* to link this bad boy.
Comment 11 dongagami 2004-04-20 21:04:47 UTC
if I compile with xfree opengl and then switch back to nvidia, will there be a performance impact when i run xmame as opposed to compiling with nvidia opengl?
Comment 12 dongagami 2004-04-20 22:33:46 UTC
rincewind's suggestion worked for me too. thanks.
Comment 13 Mr. Bones. (RETIRED) gentoo-dev 2004-04-20 23:17:10 UTC
@ Comment #11:  I don't know about the performance aspect of it.  You'd have
to try it both ways and see if you can tell.

I've added back a patch similar to the one for 0.80.1 to address this issue
with compiling against the nvidia stuff.  compiles and links here so resync
and give it a shot.

I was able to reproduce the issue so I'm hopeful this is a good fix.
Comment 14 Mr. Bones. (RETIRED) gentoo-dev 2004-04-23 02:24:53 UTC
*** Bug 48676 has been marked as a duplicate of this bug. ***