Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 227275 - sys-libs/glibc-2.8_p20080602 fails to compile on alpha: undefined reference to creat64
Summary: sys-libs/glibc-2.8_p20080602 fails to compile on alpha: undefined reference t...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: Alpha Linux
: High normal (vote)
Assignee: Alpha Porters
URL: http://sourceware.org/bugzilla/show_b...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-15 18:11 UTC by Raúl Porcel (RETIRED)
Modified: 2008-06-17 13:15 UTC (History)
1 user (show)

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


Attachments
build.log.bz2 (build.log.bz2,130.08 KB, application/octet-stream)
2008-06-15 18:12 UTC, Raúl Porcel (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Raúl Porcel (RETIRED) gentoo-dev 2008-06-15 18:11:17 UTC
Not a big issue, though, since 2.7 is still unkeyworded.

I'll attach a log
Comment 1 Raúl Porcel (RETIRED) gentoo-dev 2008-06-15 18:12:12 UTC
Created attachment 156963 [details]
build.log.bz2

The important part:

alpha-unknown-linux-gnu-gcc   -shared -static-libgcc -Wl,-O1  -Wl,-z,defs -Wl,-dynamic-linker=/lib/ld-linux.so.2  -B/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/csu/   -Wl,-soname=libmemusage.so -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both  -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/math -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/elf -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/dlfcn -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/nss -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/nis -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/rt -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/resolv -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/crypt -L/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/nptl -Wl,-rpath-link=/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/math:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/elf:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/dlfcn:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/nss:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/nis:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/rt:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/resolv:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/crypt:/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/nptl -o /var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/malloc/libmemusage.so -T /var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/shlib.lds /var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/csu/abi-note.o -Wl,--whole-archive /var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/malloc/libmemusage_pic.a -Wl,--no-whole-archive /var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/elf/interp.os /var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/dlfcn/libdl.so /var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/elf/ld.so
/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/malloc/libmemusage_pic.a(memusage.os): In function `me':
(.text+0xcd8): undefined reference to `creat64'
/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/malloc/libmemusage_pic.a(memusage.os): In function `me':
(.text+0xce4): undefined reference to `creat64'
collect2: ld returned 1 exit status
make[2]: *** [/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/build-default-alpha-unknown-linux-gnu-nptl/malloc/libmemusage.so] Error 1
make[2]: Leaving directory `/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/glibc-2.8-20080602/malloc'
make[1]: *** [malloc/others] Error 2
make[1]: Leaving directory `/var/tmp/portage/sys-libs/glibc-2.8_p20080602/work/glibc-2.8-20080602'
make: *** [all] Error 2
Comment 2 SpanKY gentoo-dev 2008-06-17 02:31:32 UTC
glibc-2.8 has introduced a creat64.c file in sysdeps/unix/sysv/linux/wordsize-64/ which is a stub ... previously, the creat64 symbol came from io/creat64.c

that implies the alpha port is supposed to be doing something special with creat64 that other 64-bit arches are doing ...
Comment 3 SpanKY gentoo-dev 2008-06-17 02:52:32 UTC
the difference is that on alpha, io/creat.c is used where as on x86-64, the creat.o is generated on the fly using the syscall.list ... dont know why the syscall.list isnt being used for alpha though ...
Comment 4 SpanKY gentoo-dev 2008-06-17 03:39:16 UTC
alpha lacks a creat() syscall ... glibc assumes that all 64bit ports do

for an in-depth explanation, see upstream URL ... i think a workaround is to update sysdeps/unix/sysv/linux/wordsize-64/creat64.c:
#include <sysdep.h>
#ifndef __NR_creat
#include "../../../../../io/creat64.c"
#endif
Comment 5 SpanKY gentoo-dev 2008-06-17 13:15:44 UTC
there was another (unrelated) alpha problem, but ive fixed them both and glibc-2.8 seems to be working OK for me on alpha.

the patches are in cvs now ...

http://sources.gentoo.org/gentoo/src/patchsets/glibc/2.8/6017_all_alpha-glibc-2.8-creat.patch?rev=1.1
http://sources.gentoo.org/gentoo/src/patchsets/glibc/2.8/6018_all_alpha-glibc-2.8-cache-shape.patch?rev=1.1