WARNING!!! OpenWrt trunk uses musl libraries by default!!!

noblepepper
 
Posts: 240
Joined: Sat Nov 29, 2014 3:22 pm

WARNING!!! OpenWrt trunk uses musl libraries by default!!!

Fri Sep 25, 2015 3:48 pm

There have been a few reports here about strange behavior, especially from people who try compiling C programs. It can also pop up from just installing programs with opkg install. This can be very confusing when it happens and can lead to severely broken systems that have to be recovered with das uboot.

The development branch of OpenWrt has switched to the musl c library on June 16. All packages downloaded from the development (trunk) repository since then may need the musl c library instead of the uClibc library which was used before that.

Many if not most packages rely on a c library, if you install a critical package that can't find the c library it needs you will be in a very bad place. Busybox is an excellent example if it doesn't work almost anything on your vocore won't work. A typical failure looks like:
Code: Select all
ls /root
-ash: ls: not found


To see which library your vocore has on it do
Code: Select all
ls -l /lib | grep libc

If you see
Code: Select all
root@VoCore:/# ls -l /lib | grep libc
-rwxr-xr-x    1 root     root         28970 Sep 24 11:37 ld-uClibc-0.9.33.2.so
lrwxrwxrwx    1 root     root            21 Sep 24 20:24 ld-uClibc.so.0 -> ld-uClibc-0.9.33.2.so
lrwxrwxrwx    1 root     root            21 Sep 24 20:24 libc.so.0 -> libuClibc-0.9.33.2.so
-rwxr-xr-x    1 root     root          9310 Sep 24 11:37 libcrypt-0.9.33.2.so
lrwxrwxrwx    1 root     root            20 Sep 24 20:24 libcrypt.so.0 -> libcrypt-0.9.33.2.so
-rwxr-xr-x    1 root     root        355497 Sep 24 11:37 libuClibc-0.9.33.2.so
root@VoCore:/#

You have a uClibc based system and you should NOT use the trunk packages at https://downloads.openwrt.org/snapshots/trunk/ or packages or programs compiled on a buildroot downloaded after June 16.
If you want to use the trunk repository download the full image from it and flash it to your VoCore first.

If you see
Code: Select all
root@VoCore:/# ls -l /lib |grep libc
lrwxrwxrwx    1 root     root             7 Sep 25 14:26 ld-musl-mipsel-sf.so.1 -> libc.so
-rwxr-xr-x    1 root     root        647792 Sep 25 08:41 libc.so
root@VoCore:/#

You have a musl based system and you should not use chaos calmer packages at https://downloads.openwrt.org/chaos_calmer/15.05/ or packages or programs compiled on a buildroot downloaded before June 16.
If you want to use the chaos calmer repository download the full image from it and flash your VoCore first.

Return to VoCore & VoCore+Dock

Who is online

Users browsing this forum: Bing [Bot] and 3 guests