Mailing List Archive

Comments on uclibc-ng install
I've finished a basic uclibc-ng install as a 32-bit QEMU VM using
http://distfiles.gentoo.org/experimental/x86/uclibc-ng/stage3-i686-uclibc-vanilla-20160712.tar.bz2
There are a few departures from the standard x86 install. Are they
cosmetic, or are they problematic?

1) Timezone

no /usr/share/zoneinfo/ directory

I still did...

echo "Canada/Eastern" > /etc/timezone

==========================================================
(chroot) livecd ~ # emerge --config sys-libs/timezone-data

No packages found.
==========================================================


2) Locale stuff

nano -w /etc/locale.gen

No file... created one, and then ran...

==========================================================
(chroot) livecd ~ # locale-gen
bash: locale-gen: command not found

(chroot) livecd ~ # eselect locale list
/usr/share/eselect/modules/locale.eselect: line 14: /usr/bin/locale: No such file or directory
Available targets for the LANG variable:
(none found)
==========================================================

manually created /etc/env.d/02locale as follows

LANG="en_US.UTF-8"
LC_COLLATE="C"


3) Emerges are followed by the message...
/sbin/ldconfig: You should remove `/lib' from `/etc/ld.so.conf'
/sbin/ldconfig: You should remove `/usr/lib' from `/etc/ld.so.conf'

4) /etc/portage/ directories? files?
The following entries in /etc/portage are files, rather than directories
like in current Gentoo

package.accept_keywords
package.mask
package.unmask


I still have to install X and a bunch of apps. The reason I'm doing
this is to see if I can eventually build Pale Moon web browser under
uclibc-ng.

--
Walter Dnes <waltdnes@waltdnes.org>
Re: Comments on uclibc-ng install [ In reply to ]
2016-09-30 1:22 GMT-04:00 <waltdnes@waltdnes.org>:
>
>
> 1) Timezone
uclibc will not use the zoneinfo database. This is why the package is
masked. You have to use use a POSIX timezone, like EST5EDT (I don't
remember the variant to take into account the North American daylight
saving change of 2009). The syntax is described at
http://leaf.sourceforge.net/doc/buci-tz3.html

> 2) Locale stuff
Locale support in uclibc and uclibc-ng is sketchy, so it's disabled.
However, locale-gen is glibc-specific

> 3) Emerges are followed by the message...
This is a glitch in the stages. Edit /etc/ld.so.conf to remove
duplicate entries and run the the same commands as when you change
your environment variables.

> 4) /etc/portage/ directories? files?
Not a problem in itself. You can rename them, then put them in directories

> I still have to install X and a bunch of apps. The reason I'm doing
> this is to see if I can eventually build Pale Moon web browser under
> uclibc-ng.
For X, it should be correct with uclibc-ng. For Pale Moon, I don't
know, However, I know this is hard to get Firefox working on uclibc.
See https://bugs.gentoo.org/show_bug.cgi?id=475754
Re: Comments on uclibc-ng install [ In reply to ]
Thank you for the information about timezone, locale, and portage
files/directories. Most of the Firefox bugs seem to involve the use of
"--with-system-<lib-whatever>". The Pale Moon developers strongly urge
to *NOT* use "--with-system-<lib-whatever> when building Pale Moon. You
never know if your system libs are ahead of or behind the version that
Pale Moon expects. It's better to statically build the library version
bundled in the source code, and have a slightly larger binary. This
guarantees that Pale Moon gets the library version (ABI and API) that it
expects.

One further question; the messages after "emerge" say...

/sbin/ldconfig: You should remove `/lib' from `/etc/ld.so.conf'
/sbin/ldconfig: You should remove `/usr/lib' from `/etc/ld.so.conf'

My /etc/ld.so.conf file is...

# ld.so.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory
/lib
/usr/lib
/usr/local/lib
/usr/lib/gcc/i686-gentoo-linux-uclibc/4.9.3

This says that /etc/ld.so.conf will be re-done each time I run
env-update. It implies that changes should be made in /etc/env.d I
executed "cd /etc/env.d" and then "grep -R /lib *". The output is...

00basic:LDPATH='/lib:/usr/lib:/usr/local/lib'
04gcc-i686-gentoo-linux-uclibc:LDPATH="/usr/lib/gcc/i686-gentoo-linux-uclibc/4.9.3"
binutils/i686-gentoo-linux-uclibc-2.25.1:LIBPATH="/usr/lib/binutils/i686-gentoo-linux-uclibc/2.25.1"
gcc/i686-gentoo-linux-uclibc-4.9.3:LDPATH="/usr/lib/gcc/i686-gentoo-linux-uclibc/4.9.3"
gcc/i686-gentoo-linux-uclibc-4.9.3:MULTIOSDIRS="../lib"
gcc/.NATIVE:LDPATH="/usr/lib/gcc/i686-gentoo-linux-uclibc/4.9.3"
gcc/.NATIVE:MULTIOSDIRS="../lib"

What should I change?

--
Walter Dnes <waltdnes@waltdnes.org>
Re: Comments on uclibc-ng install [ In reply to ]
> One further question; the messages after "emerge" say...
>
> /sbin/ldconfig: You should remove `/lib' from `/etc/ld.so.conf'
> /sbin/ldconfig: You should remove `/usr/lib' from `/etc/ld.so.conf'
>
> My /etc/ld.so.conf file is...
>
> # ld.so.conf autogenerated by env-update; make all changes to
> # contents of /etc/env.d directory
> /lib
> /usr/lib
> /usr/local/lib
> /usr/lib/gcc/i686-gentoo-linux-uclibc/4.9.3
>
> This says that /etc/ld.so.conf will be re-done each time I run
> env-update. It implies that changes should be made in /etc/env.d I
> executed "cd /etc/env.d" and then "grep -R /lib *". The output is...
>
> 00basic:LDPATH='/lib:/usr/lib:/usr/local/lib'
> 04gcc-i686-gentoo-linux-uclibc:LDPATH="/usr/lib/gcc/i686-gentoo-linux-uclibc/4.9.3"
> binutils/i686-gentoo-linux-uclibc-2.25.1:LIBPATH="/usr/lib/binutils/i686-gentoo-linux-uclibc/2.25.1"
> gcc/i686-gentoo-linux-uclibc-4.9.3:LDPATH="/usr/lib/gcc/i686-gentoo-linux-uclibc/4.9.3"
> gcc/i686-gentoo-linux-uclibc-4.9.3:MULTIOSDIRS="../lib"
> gcc/.NATIVE:LDPATH="/usr/lib/gcc/i686-gentoo-linux-uclibc/4.9.3"
> gcc/.NATIVE:MULTIOSDIRS="../lib"

Remove /lib:/usr/lib: from LDPATH in /etc/env.d/00basic, then run
env-update again