You cannot use LD to link on sh, you must use gcc otherwise shared libraries will not work since ld doesn't know about the hidden gcc shared libary requirements. --- perl-5.8.7/Cross/Makefile 2006/09/25 05:52:56 1.1 +++ perl-5.8.7/Cross/Makefile 2006/09/25 05:57:34 @@ -12,7 +12,7 @@ export CC = $(CROSS)gcc export CXX = $(CROSS)g++ -export LD = $(CROSS)ld +export LD = $(CC) export STRIP = $(CROSS)strip export AR = $(CROSS)ar export RANLIB = $(CROSS)ranlib --- perl-5.8.7/Makefile.SH.orig 2003-07-10 14:59:04.000000000 -0700 +++ perl-5.8.7/Makefile.SH 2003-07-10 15:14:08.000000000 -0700 @@ -494,7 +494,7 @@ case "$useshrplib" in true) $spitshell >>Makefile <<'!NO!SUBS!' - $(LD) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs) -soname libperl.so.5 + $(CC) -o $@ $(SHRPLDFLAGS) perl$(OBJ_EXT) $(obj) $(libs) -Wl,-soname,libperl.so.5 !NO!SUBS! case "$osname" in aix)