help-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cross-compiling glibc/hurd


From: Farid Hajji
Subject: cross-compiling glibc/hurd
Date: Fri, 10 Nov 2000 17:47:34 +0100

I'm having trouble cross-compling glibc for the i586-pc-gnu target:

gmake[2]: Entering directory `/users/farid/Devel/GNU-HURD/gnu-hurd/glibc/iconv'
i586-pc-gnu-gcc -nostdlib -nostartfiles -o 
/users/farid/build/glibc.build/iconv/iconv_prog  
-Wl,-dynamic-linker=/lib/ld.so.1   /users/farid/build/glibc.build/csu/crt1.o 
/users/farid/build/glibc.build/csu/crti.o `i586-pc-gnu-gcc 
--print-file-name=crtbegin.o` /users/farid/build/glibc.build/iconv/iconv_prog.o 
 
-Wl,-rpath-link=/users/farid/build/glibc.build:/users/farid/build/glibc.build/math:/users/farid/build/glibc.build/elf:/users/farid/build/glibc.build/dlfcn:/users/farid/build/glibc.build/nss:/users/farid/build/glibc.build/nis:/users/farid/build/glibc.build/rt:/users/farid/build/glibc.build/resolv:/users/farid/build/glibc.build/crypt:/users/farid/build/glibc.build/mach:/users/farid/build/glibc.build/hurd
 /users/farid/build/glibc.build/libc.so.0.2 
/users/farid/build/glibc.build/libc_nonshared.a -lgcc `i586-pc-gnu-gcc 
--print-file-name=crtend.o` /users/farid/build/glibc.build/csu/crtn.o
/users/farid/build/glibc.build/libc.so.0.2: undefined reference to `__hurd_fail'
/users/farid/build/glibc.build/libc.so.0.2: undefined reference to 
`__thread_stack_pointer'
collect2: ld returned 1 exit status
gmake[2]: *** [/users/farid/build/glibc.build/iconv/iconv_prog] Error 1
gmake[2]: Leaving directory `/users/farid/Devel/GNU-HURD/gnu-hurd/glibc/iconv'
gmake[1]: *** [iconv/others] Error 2
gmake[1]: Leaving directory `/users/farid/Devel/GNU-HURD/gnu-hurd/glibc'
gmake: *** [all] Error 2

Where is __hurd_fail (among others) supposed to be? It it defined in
  /usr/local/i586-pc-gnu/include/hurd.h
as:
  _EXTERN_INLINE int
  __hurd_fail (error_t err)
  {
    /* real code here ... */
  }
and it is referenced in build/glibc.build/libc.so[.0.2] and
in build/glibc.build/libc.a but not defined (nm says U).

Another thing that is puzzling is the -Wl,-dynamic-linker=/lib/ld.so.1
flag: /lib/ld.so.1 is not the cross-linker, but my native FreeBSD linker.
Could that be the root of the problem?

I'm using binutils-2.10, gcc-2.95.2 and gmake-3.79 to compile. I followed
the steps in the cross-compile howto at hurddocs. Arkadi suggested using
older binutils, but that didn't work either (same problem).

The glibc gets build up without problems up to that point and is currently:
  -rw-r--r--  1 farid  users  31191302 Nov  6 20:06 libc.a
  -rw-r--r--  1 farid  users     26119 Nov  6 17:59 libc.map
  -rwxr-xr-x  1 farid  users   4867613 Nov  6 20:07 libc.so
  lrwxr-xr-x  1 farid  users         7 Nov  6 20:18 libc.so.0.2 -> libc.so
  -rw-r--r--  1 farid  users     49162 Nov  6 20:06 libc_nonshared.a
  -rw-r--r--  1 farid  users  30732754 Nov  6 20:05 libc_pic.a
  -rw-r--r--  1 farid  users  29420387 Nov  6 20:06 libc_pic.os
  -rw-r--r--  1 farid  users       107 Nov  6 17:59 libcrypt.map
in size. A whole lot of [__]hurd_* and [__]mach_* sysdeps are already
included in libc.{so,a} as well, so there is no apparent problem with
the cross-gcc and cross-binutils up to that point.

Thanks,

-Farid.

-- 
Farid Hajji -- Unix Systems and Network Admin | Phone: +49-2131-67-555
Broicherdorfstr. 83, D-41564 Kaarst, Germany  | farid.hajji@ob.kamp.net
- - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - -
Murphy's Law fails only when you try to demonstrate it, and thus succeeds.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]