On Wednesday 13 February 2008 00:28, Martinb_ARM_NOMMU_KISSDVD wrote:
> @mike
> 
> you are correct but new toolchain is no option at this time (see pm i send)
> i can build without user root
> but if there is a clean workaround i dont mind
> (wil try to update my toolchain and report back to the list if i ever get
> this working)

I strongly suggest you to build your own toolchain from recent gcc and binutils.
It's actually not that hard.

> @vda
> 
>   LINK    busybox_unstripped
> Running arm-uclinux-elf-gcc -Wl,--sort-section -Wl,alignment -shared -o
> /dev/null -xc /dev/null...
> crwxrwxrwx 1 root root 1, 3 feb 12 01:16 /dev/null
> ...failure: 1
> ls: /dev/null: Bestand of map bestaat niet
> xargs: /dev/null: Bestand of map bestaat niet
> xargs: /dev/null: Bestand of map bestaat niet
> xargs: /dev/null: Bestand of map bestaat niet
> Trying libraries: crypt m
> (cut)
> 
> gcc -v

You heed to say "arm-uclinux-elf-gcc -v"

The workaround is attached.
--
vda
diff -d -urpN busybox.2/scripts/trylink busybox.3/scripts/trylink
--- busybox.2/scripts/trylink	2008-02-11 19:24:26.000000000 +0100
+++ busybox.3/scripts/trylink	2008-02-13 07:41:40.000000000 +0100
@@ -47,15 +47,19 @@ try() {
 }
 
 check_cc() {
-    if $CC $1 -shared -o /dev/null -xc /dev/null >/dev/null 2>&1; then
+    local tempname="/tmp/temp.$$.$RANDOM"
+    # Can use "-o /dev/null", but older gcc tend to *unlink it* on failure! :(
+    # "-xc": C language. "/dev/null" is an empty source file.
+    if $CC $1 -shared -xc /dev/null -o "$tempname".o >/dev/null 2>&1; then
 	echo "$1";
     else
 	echo "$2";
     fi
+    rm "$tempname".o 2>/dev/null
 }
 
 check_libc_is_glibc() {
-    local tempname="/tmp/temp.$$.$RANDOM.c"
+    local tempname="/tmp/temp.$$.$RANDOM"
     echo "\
 	#include <stdlib.h>
 	/* Apparently uclibc defines __GLIBC__ (compat trick?). Oh well. */
@@ -63,12 +67,12 @@ check_libc_is_glibc() {
 	syntax error here
 	#endif
 	" >"$tempname"
-    if $CC "$tempname" -c -o /dev/null >/dev/null 2>&1; then
+    if $CC "$tempname".c -c -o "$tempname".o >/dev/null 2>&1; then
 	echo "$2";
     else
 	echo "$1";
     fi
-    rm "$tempname"
+    rm "$tempname".c "$tempname".o 2>/dev/null
 }
 
 EXE="$1"
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to