You are not logged in.

#1 2007-11-08 12:57:26

dongiovanni
Member
From: Germany
Registered: 2006-10-06
Posts: 110

Compile error under x86_64 but not under i686

Hi all,

I'm maintaining splashy in AUR. It compiles fine under i686, but fails under x86_64. With glibc 2.6 it also compiles also under x86_64, but not with glibc 2.7. This is the output:

gcc -march=x86-64 -march=native -O2 -pipe -Wall -Werror -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -o 
splashy -static -static-libgcc -Wl,-uIDirectFBFont_Default -Wl,-uIDirectFBFont_FT2 -Wl,-uIDirectFBImageProvider_PNG 
splashy-splashy_main.o 
splashy-splashy_functions.o /usr/lib/directfb-1.0-0/systems/libdirectfb_fbdev.o /usr/lib/directfb-1.0-0/wm/libdirectfbwm_default.o /usr/lib/directfb-1.0-0/interfaces/IDirectFBFont/libidirectfbfont_ft2.o /usr/lib/directfb-1.0-0/interfaces/IDirectFBFont/libidirectfbfont_default.o /usr/lib/directfb-1.0-0/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.o /usr/lib/directfb-1.0-0/inputdrivers/libdirectfb_keyboard.o  ./.libs/libsplashycnf.a ./.libs/libsplashy.a /home/imachine/Work/archlinux-pkg/splashy/src/splashy-0.3.6/src/.libs/libsplashycnf.a -lglib-2.0 -lsysfs -lfreetype -lpng -lm -L/usr/lib -ldirectfb -lfusion -ldirect -lpthread -lz
/usr/lib/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0x134f): warning: Using 'getpwuid' in statically linked applications 
requires at runtime the shared libraries from the glibc version used for 
linking
/usr/lib/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0x1343): warning: Using 'setpwent' in statically linked applications 
requires at runtime the shared libraries from the glibc version used for 
linking
/usr/lib/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0x135c): warning: Using 'endpwent' in statically linked applications 
requires at runtime the shared libraries from the glibc version used for 
linking
/usr/lib/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0x105e): warning: Using 'getpwnam_r' in statically linked applications 
requires at runtime the shared libraries from the glibc version used for 
linking
/usr/lib/libglib-2.0.a(gutils.o): In function `g_get_any_init_do':
(.text+0x1093): warning: Using 'getpwuid_r' in statically linked applications 
requires at runtime the shared libraries from the glibc version used for 
linking
/usr/lib/libdirect.a(stream.o): In function `ftp_open_pasv':
(.text+0xd07): warning: Using 'getaddrinfo' in statically linked applications 
requires at runtime the shared libraries from the glibc version used for 
linking
/usr/lib/libpthread.a(pthread_cond_timedwait.o): In function 
`pthread_cond_timedwait':
(.text+0xa7): undefined reference to `__vdso_clock_gettime'
collect2: ld returned 1 exit status
make[2]: *** [splashy] Error 1
make[2]: Leaving directory 
`/home/imachine/Work/archlinux-pkg/splashy/src/splashy-0.3.6/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
`/home/imachine/Work/archlinux-pkg/splashy/src/splashy-0.3.6'
make: *** [all] Error 2
==> ERROR: Build Failed.  Aborting...

What could cause such an error? Threre is this undefined reference... but in libpthread?

Thanks for now, dongiovanni (sry for my english)

Offline

#2 2007-11-08 13:31:24

AndyRTR
Developer
From: Magdeburg/Germany
Registered: 2005-10-07
Posts: 1,641

Re: Compile error under x86_64 but not under i686

/usr/lib/libpthread.a(pthread_cond_timedwait.o): In function 
`pthread_cond_timedwait':
(.text+0xa7): undefined reference to `__vdso_clock_gettime'
collect2: ld returned 1 exit status
make[2]: *** [splashy] Error 1

check where it has gone from glibc2.6 to 2.7 wink

maybe the header changed. it's also possible that we have a header file missing due to smp build failures.

Offline

#3 2007-11-08 14:13:43

dongiovanni
Member
From: Germany
Registered: 2006-10-06
Posts: 110

Re: Compile error under x86_64 but not under i686

The __vdso_clock_gettime funktion was added in glibc 2.7. It didn't exist for x86_64 in glibc 2.6 (only for powerpc). I looked in the source files and the glibc Changelog, but my knowledge isn't good enough to understand, what they are doing. For i386 the source is different and this funktion doesn't exist.

Offline

Board footer

Powered by FluxBB