Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 12959 - xfree 4.2.1-r2 fails on light.o bad directory
Summary: xfree 4.2.1-r2 fails on light.o bad directory
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Martin Schlemmer (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-30 18:17 UTC by Alan
Modified: 2003-01-07 12:57 UTC (History)
0 users

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 Alan 2002-12-30 18:17:42 UTC
xfree 4.2.1-r2 fails with a bad or missing directory when trying to compile
light.o (ie: it's trying to put it into a directory that doesn't exist).

The directory I'm in:
/var/tmp/portage/xfree-4.2.1-r2/work/xc/lib/GL/mesa/src/OSmesa

What happens when make is run here:
phoenix OSmesa # make
rm -f ../../../../../lib/GL/mesa/src/light.o
unshared/../../../../../lib/GL/mesa/src/light.o
gcc -c -ansi -pedantic -Wall -Wpointer-arith
-I../../../../../exports/include/X11 -I../../../../../include/extensions
-I../../../../../extras/Mesa/src/OSmesa -I../../../../../extras/Mesa/src   
-I../../../../../extras/Mesa/include   -I../../../../..
-I../../../../../exports/include   -Dlinux -D__i386__
-D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE
-D_SVID_SOURCE  -D_GNU_SOURCE   -DFUNCPROTO=15 -DNARROWPROTO -DXTHREADS
-D_REENTRANT -DXUSE_MTSAFE_API    -DMALLOC_0_RETURNS_NULL
-march=athlon -O2 -pipe -fno-merge-constants
../../../../../lib/GL/mesa/src/light.c -o
unshared/../../../../../lib/GL/mesa/src/light.o
Assembler messages:
FATAL: can't create unshared/../../../../../lib/GL/mesa/src/light.o: No
such file or directory
make: *** [../../../../../lib/GL/mesa/src/light.o] Error 2

The contents of the local directory:
phoenix OSmesa # ll
total 1572
drwxr-xr-x    3 root     root         4096 Dec 30 12:31 .
drwxr-xr-x    7 root     root         4096 Dec 30 12:31 ..
-rw-r--r--    1 root     root         1972 Jun  4  2001 Imakefile
-rw-r--r--    1 root     root        51614 Dec 30 10:52 Makefile
-rw-r--r--    1 root     root        48759 Dec 30 10:40 Makefile.bak
-rw-r--r--    1 root     root          567 Aug  9  2000 OSmesa-def.cpp
-rw-r--r--    1 root     root      1446918 Dec 30 12:30 libOSMesa.a
lrwxr-xr-x    1 root     root           46 Dec 30 10:44 osmesa.c ->
../../../../../extras/Mesa/src/OSmesa/osmesa.c
-rw-r--r--    2 root     root        25232 Dec 30 11:14 osmesa.o
drwxr-xr-x    2 root     root         4096 Dec 30 11:14 unshared


It *almost* looks like the local directory's unshared directory should
be a symlink to ../unshared, which has a light.o in it, but creating
a symlink from `pwd`/unshared to ../unshared only makes things puke even worse.

I've tried both the normal "extreme" compile flags as well as plain old "-O2",
and my USE flags look like this:

USE="-gpm xv slang readline berkdb mmx 3dnow ddbm tcpd pam libwww
        ssl mitshm arts lame perl python gif imlib sdl
        oggvorbis gnome gtk X qtmt kde opengl avi mpeg quicktime
        png tiff gif pda slp cups dga bonobo evo gtkhtml esd xmms
        crypt imap mozilla spell truetype xml xml2 mysql
        -postgres samba "

This is on gentoo 1.3 (gcc 3.1) on a athlon-900 with 450mb ram.
Comment 1 Martin Schlemmer (RETIRED) gentoo-dev 2002-12-31 16:34:40 UTC
You will have to create a detailed log:

  # emerge xfree &> xfree.log

And bzip2 and attatch it.  It is most likely somewhere earlier that it
failed, and this is a result ...
Comment 2 Alan 2002-12-31 17:05:36 UTC
Sorry for not updating sooner, but I've been working with this trying to find 
out exactly what is going on.  It appears that this error is caused by an 
internal gcc error earlier on:

gcc -c -mcpu=athlon -O2 -fno-merge-constants  -ansi -pedantic -Wall -Wpointer-
arith  -I../../../../exports/include -I../../../../exports/include/X11 -
I../../../../include/extensions     -I../../../../extras/Mesa/src -
I../../../../lib/GL/dri  -I../../../.. -I../../../../exports/include   -
Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -
D_BSD_SOURCE -D_SVID_SOURCE  -D_GNU_SOURCE   -DFUNCPROTO=15 -DNARROWPROTO -
DXTHREADS  -D_REENTRANT -DXUSE_MTSAFE_API    -DMALLOC_0_RETURNS_NULL -DGLXEXT -
DXF86DRI -DGLX_DIRECT_RENDERING -DGLX_USE_DLOPEN -DGLX_USE_MESA        -
DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_KATMAI_ASM      -fPIC 
translate.c
In file included from translate.c:779:
../../../../extras/Mesa/src/trans_tmp.h: In function 
`trans_1_GLdouble_1ub_elt':
../../../../extras/Mesa/src/trans_tmp.h:124: could not find a spill register
(insn 99 97 100 (set (subreg:SF (reg:QI 76) 0)
        (plus:SF (reg:SF 8 st(0) [77])
            (reg:SF 9 st(1) [81]))) 525 {*fop_sf_comm_nosse} (insn_list 90 
(nil))
    (expr_list:REG_DEAD (reg:SF 8 st(0) [77])
        (nil)))
../../../../extras/Mesa/src/trans_tmp.h:124: Internal compiler error in 
failed_reload, at reload1.c:5050
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[5]: *** [translate.o] Error 1

This is gcc 3.1.1:

phoenix xfree # gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs
Configured with: /var/tmp/portage/gcc-3.1-r7/work/gcc-3.1/configure --
prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared -
-host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --target=i686-pc-linux-gnu --
enable-threads=posix --enable-long-long --enable-cstdio=stdio --enable-
clocale=generic --disable-checking --with-gxx-include-dir=/usr/include/g++-
v31 --with-local-prefix=/usr/local --with-system-zlib --enable-shared --enable-
nls --without-included-gettext
Thread model: posix
gcc version 3.1
phoenix xfree # emerge -s ^gcc$
Searching...
[ Results for search key : ^gcc$ ]
[ Applications found : 1 ]

*  sys-devel/gcc
      Latest version available: 3.1.1-r1
      Latest version installed: 3.1.1-r1
      Size of downloaded files: 20,063 kB
      Homepage:    http://www.gnu.org/software/gcc/gcc.html
      Description: Modern GCC C/C++ compiler
phoenix xfree # cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 4
model name      : AMD Athlon(tm) Processor
stepping        : 2
cpu MHz         : 908.242
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat 
pse36 mmx fxsr syscall mmxext 3dnowext 3dnow
bogomips        : 1789.95

I've tried just about every combination of CFLAGS settings except for none, 
currently it's compiling with "-mcpu=athlon -O2" just in case the -
march=athlon was messing something up.  

After trying with no CFLAGS (even though the ebuild sets up -mno-mmx -mno-
3dnow), my next step is to go down a level of gcc to 3.1-r8, as it was the 
previous version to this, and I don't remember updating gcc except for once a 
month or so back, so hopefully the downgrade will resolve the error.

I *could* seem to get that file to compile by stripping out the march cflag 
out, or setting no cflags at all, so hopefully that'll do it until I can 
upgrade to the full gcc 3.2 or whatever is standard when 1.4 comes out.
Comment 3 Alan 2002-12-31 17:16:10 UTC
Additional info:
http://bugs.gentoo.org/show_bug.cgi?id=5613
http://forums.gentoo.org/viewtopic.php?
t=10998&highlight=xfree+gcc+register+spill
Comment 4 Martin Schlemmer (RETIRED) gentoo-dev 2002-12-31 17:26:01 UTC
And if you had:  CFLAGS="-march=i686 -O2 -pipe" ?

The other alternative is to update to gcc-3.2.1, but afiak, the safest
and least painful method will be a clean install :(
Comment 5 Alan 2003-01-05 23:35:33 UTC
I finally got this to with no CFLAGS at all.  I found about that time that I 
couldn't compile GCC either (I thought that I might be able to downgrade from 
the -rx version I was running) due to similar assembler type messages.

I recently moved to gentoo 1.4rc2 though, so I think this bug can go on the 
scrapheap.  I am still getting some __glxFree and __glxMalloc errors on 
startx, but it doesn't seem to affect things, though I haven't tried quake yet.

Not sure if this is fixed or cantfix or wontfix... marking fixed for now.
Comment 6 Martin Schlemmer (RETIRED) gentoo-dev 2003-01-07 12:53:07 UTC
Did you upgrade from 1.2 ?  If so, then its a known issue for things to go
wonky with the gcc upgrade.  Also from gcc-3.1 there are issues.  Best thing
is to do a clean install :(
Comment 7 Alan 2003-01-07 12:57:34 UTC
No, no upgrade, the problem occurred on a straight 1.3 system (1.3b I think
actually) that was a fresh install.  My install to 1.4rc2 was fresh as well, and
I haven't had any problems with this yet.