You are not logged in.
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
/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
maybe the header changed. it's also possible that we have a header file missing due to smp build failures.
Offline
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