From: Mike Frysinger <[EMAIL PROTECTED]>
To: [email protected]
CC: "Mr. Miyagi" <[EMAIL PROTECTED]>
Subject: Re: MIPS32 Dynamic Linker Characteristics ...no
Date: Thu, 10 May 2007 19:49:44 -0400

On Wednesday 09 May 2007, Mr. Miyagi wrote:
> I can't get dynamic shared object loading for C++ sources. Apparently, the > linker is not even capable of creating shared libraries for C++ while it's
> reported being capable of producing shared libraries for C.

incorrect ... you've hit some issues with libtool not recognizing your tuple
properly, nothing more ... uClibc is fully capable of doing C and C++ code
(not that it should even really matter ... that's mostly gcc's realm)


Ok, thanks for pointing this out. This helped me find the problem/solution (below).



> The build of the toolchain produced libstdc++ (6.0.3) which is reported to
> be an ELF 32bit LSB shared object, MIPS, version 1 (SYSV).
>
> 'configure' (on my own sources) reports (below) shared libraries are
> possible when using ...gcc as the linker, but not when using ...g++ as the
> linker, although the same linker is apparently used in both instances.

this is probably partly libtool's fault and partly file's fault and partly
other random autotool stuff

your best bet is to update to the very latest package
of "file", "libtool", "automake", and "autoconf" and then regenerate all the
autotool files in the package you're trying to compile


That's a money-making bet.

I'm using libtool 1.5.22, autoconf 2.59. I have a src dir (top_srcdir) and then separte build dirs per target. I actually regenerate most of the autotools files in the top_srcdir from my own script which takes global parameters/directives to generate the autotool files.

The problem is that after running configure, a libtool script is installed in $top_builddir (apparently) coming from the host (x86_32). This works fine when targetting the host architecture (produces shared libraries and dynamically loadable modules) but this script prevents shared libraries from being built when targetting MIPS. (After a whole lot of investigating) I found the libtool script from the (OpenWRT) SDK (in it's 'bin' directory), copied that to the top_builddir pertaining to a MIPS build (after running $top_srcdir/configure) and voila, shared libraries, dynamically shared modules and sliced bread.

That was a great tip, thanks for this.

Miyagi

_________________________________________________________________
Now you can see troubleĀ…before he arrives http://newlivehotmail.com/?ocid=TXT_TAGHM_migration_HM_viral_protection_0507

_______________________________________________
uClibc mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/uclibc

Reply via email to