playing at long last with uClibc++

Christian MICHON christian.michon at gmail.com
Sat Nov 1 07:54:14 UTC 2008


On Sat, Nov 1, 2008 at 8:01 AM, Rob Landley <rob at landley.net> wrote:
> On Friday 31 October 2008 08:07:41 Christian MICHON wrote:
>> Hi,
>>
>> I *finally* managed to compile uclibc++ and it now complains about
>> powl, sqrtl, etc... missing on my system.
>> I'm still using uclibc-0.9.29 :(
>
> I've been fighting with that sucker all week.

well, it almost took me a year since I tried it first :)

>
> Have you figured out how to get the gcc build to compile libsupc++.a without
> building the rest of the libstdc++-v3 directory?  (For some reason, that
> directory's ./configure is not figuring out what exception handling model the
> g++ it _already_built_ is using, unless I explicitly
> say --disable-sjlj-exceptions on the command line, which is probably bad on
> some non-x86 architecture.  And then when I _do_ pass that it goes:
>
> make[4]: Entering directory
> `/home/landley/firmware/firmware/build/temp-i686/build-gcc/i686-unknown-linux/libstdc++-v3/include'
> make[4]: *** No rule to make target
> `/home/landley/firmware/firmware/build/temp-i686/gcc-core/libstdc++-v3/../gcc/gthr-.h',
> needed by `i686-unknown-linux/bits/gthr-default.h'.  Stop.
>
> and the build goes all pear shaped from there.  All I really _need_ is a
> half-dozen .o files bundled into that .a file, but the gcc build is a big
> tightly integrated hairball and the only way I've found so far to build that
> one library is "make all".  (Not even all-gcc, which skips libstdc++ but
> gives me a working g++.  Go figure.)
>
> I suppose I can just disable IMPORT_LIBSUP in uClibc++ defconfig, but then the
> result seems unlikely to work.  (Not that I'm any sort of expert on what C++
> needs, I avoid it as much as possible...)
>
> Rob
>

what I usually do is to build both gcc-core and gcc-g++ at the same
time (same directory).
I do also a bootstrap of gcc at the same time. In the end, libstdc++
is compiled.

when doing so with uclibc, you usually get an error after long minutes
of compilation.

the solution I found last year (before I released c++ with D*B) was:

> when compiling g++, it usually ends up using a soft link to liststdc++/config/os/gnu-linux/ctype_noninline.h
> what I did was to replace this file, too glibc dependent, by this one:
> liststdc++/config/os/generic/ctype_noninline.h
> and it finally worked

what I have not tried yet is to compile uClibc++ with g++ but without
libstdc++. (I'll try that tonight, in > than 12h)

-- 
Christian
--
http://detaolb.sourceforge.net/, a linux distribution for Qemu with Git inside !



More information about the uClibc mailing list