OpenWrt Forum Archive

Topic: Problem in uClibc v0.9.28.2 config

The content of this topic has been archived on 2 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Since asterisk won't run properly on uClibc-0.9.29, I have to compile my OpenWRT SVN trunk with a uClibc-0.9.28 (read this). In doing so, I have noticed a problem with uClibc v0.9.28 configuration on the .config file. The problem regards to the PKG_EXTRAVERSION. During the make menuconfig, if Extra uClibc version is left blank when uClibc Version is set to 0.9.28, make will fail to compile uClibc-0.9.28 library. If Extra uClibc version is set to ".2", make will also fail to compile uClibc-0.9.28 library unless you manually edit the .config file (after the make menuconfig) and search/replace 0.9.28.2 with 0.9.28. The following is the excerpt of the .config file pertaining to uClibc-0.9.28 (before the manual intervention) that causes make to fail to compile uClibc-0.9.28:

CONFIG_UCLIBC_VERSION_0_9_28=y
# CONFIG_UCLIBC_VERSION_0_9_29 is not set
CONFIG_UCLIBC_EXTRA_VERSION=".2"
# CONFIG_GDB is not set
CONFIG_LARGEFILE=y
CONFIG_SHADOW_PASSWORDS=y
CONFIG_TARGET_OPTIMIZATION="-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time"
CONFIG_GCC_VERSION="4.2.4"
CONFIG_UCLIBC_VERSION="0.9.28.2"

I am hoping OpenWRT developers will see this post and make the necessary changes to correct this problem.

Is this in trac as a bug?

Honestly, I have no idea.

IMHO I think it should be.
The current build (R12080) has this error. After removing the development paths out of the configure files, people get the following message when connecting to the asterisk-console (asterisk -r):
Unable to connect to remote asterisk (does /var/run/asterisk.ctl exist?)
asterisk is started by boot, but the file /var/run/asterisk.ctl is not created. The cause is uClibc-0.9.29 which behaves different as to previous versions. (as found by mazilo) Asterisk does not make this file when it starts with the default start script. If started by hand, it does work....(very strange but true)

I think there are 3 possible solutions:
1) revert back to uClibc-0.9.28 (some other people might not want this)
2) try to compile and run the newest version of asterisk (hopefully asterisk has already addressed this problem and solved it)
3) figure out why it is not working, and solve this (difficult and taking a lot of resources)

A difficult workaround is as follows:
kill all asterisk processes
start asterisk in one terminal session (the vvv's are optional):/usr/sbin/asterisk -cvvvv -C /etc/asterisk/asterisk.conf
start the asterisk console connection in an other: asterisk -r
You have to do this after each reboot.

I hope this helps.

First of all, you probably replied to the wrong topic.

tjibbe wrote:

The current build (R12080) has this error. After removing the development paths out of the configure files, ...

How to remove development path?

I think there are 3 possible solutions:
1) revert back to uClibc-0.9.28 (some other people might not want this)

This is what I have my OpenWRT SVN trunk configured with uClibc-0.9.28.2

2) try to compile and run the newest version of asterisk (hopefully asterisk has already addressed this problem and solved it)

AFAIK and I hope I am wrong, asterisk won't even bother to address this issue since its main purpose isn't to support an embedded system.

3) figure out why it is not working, and solve this (difficult and taking a lot of resources)

Does anyone want to take this challenge?

A difficult workaround is as follows:
kill all asterisk processes
start asterisk in one terminal session (the vvv's are optional):/usr/sbin/asterisk -cvvvv -C /etc/asterisk/asterisk.conf
start the asterisk console connection in an other: asterisk -r
You have to do this after each reboot.

If you go this route, asterisk would seem to work; however, I had encountered some other issues using this approach, i.e. time stamp looks incorrect, etc.

The discussion might have continued from here.