Hi,
I've upgraded Optware-ng uClibc-ng from 1.0.15 to 1.0.26 a while ago. It called for recompilation of most of the packages, but this issue seems to be resolved now. The issue I'd like to report is that when the linker (ld-uClibc.so.0) is built, UCLIBC_RUNTIME_PREFIX seems to evaluate to "/", even though RUNTIME_PREFIX is set to "/opt" (see attached config). I had to resort to patching uClibc-ng sources ( https://github.com/Optware/Optware-ng/blob/master/sources/buildroot-armeabi-..., %OPTWARE_TARGET_PREFIX% is replaced with "/opt") to get this fixed. It wasn't so with 1.0.15, setting RUNTIME_PREFIX to "/opt" made linker look for libs only in "/opt/lib", "/opt/usr/lib", etc., and not in "/lib" and such. Is this change intended, or is it a bug?
Thanks, Alex
P.S. Another thing I noticed that you may want to know. Looking at ldso/ldso/dl-elf.c, this line seems to be wrong:
UCLIBC_RUNTIME_PREFIX "usr" LDSO_MULTILIB_DIR,
since LDSO_MULTILIB_DIR defaults to "lib" -- not "/lib", so I'm guessing you want it this way:
UCLIBC_RUNTIME_PREFIX "usr/" LDSO_MULTILIB_DIR,
On Wed, Oct 25, 2017 at 8:15 PM, Waldemar Brodkorb wbx@uclibc-ng.org wrote:
After waisting an hour or so, I realized that build system I was using set RUNTIME_PREFIX from command line, so it's not uClibc-ng issue. Sorry for false-alarm.
The MULTILIB_DIR issue, however, is valid. One can see line similar to the following when opening the built linker with nano ("/" runtime prefix, default MULTILIB_DIR="lib"):
^@$ORIGIN^@.^@/lib/:/usrlib/^@/lib:/usr/lib:/usr/X11R6/lib^@ld-uClibc.so.1^@Standalone
execution is not enabled
which after using the attached patch changes to valid
^@$ORIGIN^@.^@/lib/:/usr/lib/^@/lib:/usr/lib:/usr/X11R6/lib^@ld-uClibc.so.1^@Standalone
execution is not enabled