Gentoo Archives: gentoo-embedded

From: Natanael Copa <mlists@××××××.org>
To: gentoo-embedded@l.g.o
Subject: [gentoo-embedded] uclibc++ as default for embedded (was: dansguardian and uclibc++)
Date: Mon, 19 Dec 2005 10:34:40
Message-Id: 1134988434.6865.60.camel@nc
In Reply to: Re: [gentoo-embedded] dansguardian and uclibc++ by Ned Ludd
1 On fre, 2005-12-16 at 20:05 -0500, Ned Ludd wrote:
2 > On Fri, 2005-12-16 at 08:52 +0100, Natanael Copa wrote:
3
4 > > The romour says its possible to compile kde with uclibc++ so I was
5 > > hoping it would be possible to use uclibc++
6 >
7 > It's true. You can replace most of your system with uclibc++. It just
8 > takes some effort.
9 >
10 > I guess this is about as good time as any. Natanael if you can attempt
11 > to swap out all your c++ needs with uclibc++ and report back if you
12 > think we should make that the default for uclibc based profiles I/we
13 > would be thankful.
14
15 It looks like uclibc++ would work for most packages. Here is what I did.
16
17 I added a
18
19 CXX=g++-uc
20
21 in /etc/make.conf
22
23 Then I did a:
24
25 revdep-rebuild --soname libstdc++.so.6
26
27 The packages that got recompiled was:
28 dev-lang/python
29 app-text/silvercity
30 dev-db/mysql
31 dev-libs/gmp
32 dev-libs/libpcre
33 dev-libs/libusb
34 media-libs/tiff
35 media-sound/ermixer
36 sys-apps/groff
37 sys-libs/db
38
39 (I had recompiled nmap manually before)
40
41 There are a few "problems.
42
43 * It looks like revdep-rebuild didnt find dansguardian and tripwire (its
44 in /usr/sbin). I'll get back to those later.
45
46 * There are no RDEPEND's to the packages. If you just install from
47 binaries the uclibc++ lib will not be installed. (not any other package
48 containing the libstdc++ runtime either btw) So there is some runtime
49 dependencies that needs to be resolved by hand.
50
51 * If you install the uclibc++ by hand, the executable will still fail
52 because the path to the ld.so.conf does not contain the path to
53 libuClibc++.so.0. Should uclibc have a symbolic link in /usr/lib where
54 it will be found by default?
55
56 * mysql is still linked against libstdc++.so.6:
57 mail ~ # readelf -d /usr/bin/mysql
58
59 Dynamic section at offset 0xfc68 contains 33 entries:
60 Tag Type Name/Value
61 0x00000001 (NEEDED) Shared library: [libreadline.so.5]
62 0x00000001 (NEEDED) Shared library: [libncurses.so.5]
63 0x00000001 (NEEDED) Shared library: [libstdc++.so.6]
64 0x00000001 (NEEDED) Shared library: [libmysqlclient.so.14]
65 0x00000001 (NEEDED) Shared library: [libcrypt.so.0]
66 0x00000001 (NEEDED) Shared library: [libnsl.so.0]
67 0x00000001 (NEEDED) Shared library: [libm.so.0]
68 0x00000001 (NEEDED) Shared library: [libssl.so.0.9.7]
69 0x00000001 (NEEDED) Shared library: [libcrypto.so.0.9.7]
70 0x00000001 (NEEDED) Shared library: [libz.so.1]
71 0x00000001 (NEEDED) Shared library: [libuClibc++.so.0]
72 0x00000001 (NEEDED) Shared library: [libc.so.0]
73
74 That happens to several (if not all) of the binaries of mysql. Wierd...
75
76 * Dansguardian does not seem to use CXX. I tried to set CPP but it
77 fails. It looks like the openwrt people have an ipkg with
78 dansguardian/uclibc++ so it should work... I looked at is shortly last
79 week and it *might* be a AC_PROG_CXX missing in configure.in, but I
80 don't really understand how dansguardian uses autoconf. The configure is
81 in a autoconf/ subdir.
82
83 I'll try to find the binaries in /usr/sbin manually now and recompile.
84
85 --
86 Natanael Copa
87
88
89 --
90 gentoo-embedded@g.o mailing list