Date: Sun, 4 May 2014 12:55:41 +0300 From: Timo Teras <timo.teras@....fi> To: musl@...ts.openwall.com Cc: lancethepants@...il.com Subject: Re: Minimal asterisk compilation On Sun, 04 May 2014 01:23:02 -0600 Lance Fredrickson <lancethepants@...il.com> wrote: > Musl has caught my eye, and I've compiled various one-off binaries, > but wanted to compile a minimal asterisk setup for an embedded mipsel > device (router). > > I've put my code here. > https://github.com/lancethepants/asterisk-embedded-musl > Sorry, I do things hacky. > > I later moved over libc.so, and created ld-musl-mipsel.so.1 > > All the binaries I've compiled so far work fine, but the modules in > asterisk have issues. > One example is > > # /opt/asterisk/bin/ldd ./codec_ulaw.so /opt/asterisk/bin/ldd > (0x55550000) libc.so => /opt/asterisk/bin/ldd (0x55550000) > Error relocating ./codec_ulaw.so: ast_format_set: symbol not found > Error relocating ./codec_ulaw.so: __ast_mulaw: symbol not found > Error relocating ./codec_ulaw.so: ast_unregister_file_version: symbol > not found > Error relocating ./codec_ulaw.so: ast_module_unregister: symbol not > found Error relocating ./codec_ulaw.so: __ast_lin2mu: symbol not found > Error relocating ./codec_ulaw.so: ast_unregister_translator: symbol > not found > Error relocating ./codec_ulaw.so: __ast_register_translator: symbol > not found > Error relocating ./codec_ulaw.so: ast_register_file_version: symbol > not found > Error relocating ./codec_ulaw.so: ast_module_register: symbol not > found Those are symbols from the main 'asterisk' binary that the modules use. ldd cannot resolve them because it does not know about the main asterisk binary anything. The modules should work just fine in case asterisk loads them. > This happens for each module. The symbols look to be inside when > looking at them with the readelf command. This breaks the all of > asterisk. I tried throwing in -fPIC in the LDFLAGS but did nothing. > In order to get it compile at all, I grabbed some patches from here. > https://github.com/uggedal/aports/blob/master/main/asterisk/musl-glob-compat.patch > and also did some cheating throwing in a cdefs file from the same > repo mentioned, and some sed commands to fix some PTHREAD stuff. > I thought I was home free once it compiled, but I can't figure out > why the modules won't work. Maybe there's something simple I'm > overlooking. Any suggestions are appreciated. Just try running them. I think ldd will give similar errors even with glibc. - Timo
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.