List Info

Thread: static build issue (was: Re: contrib/tcl music on hold patch)




static build issue (was: Re: contrib/tcl music on hold patch)
country flaguser name
Italy
2008-04-22 04:58:13
Hi all,

tclers on that list will really appreciate if someone
with a better knowledge of iaxclient building system help
us to get rid of that annoying problem 

let me summarize:

- goal: build a "self-contained"
libtcliaxclient0.2.so with speex and
         portaudio statically linked in.

- building iaxclient and tcl extensions (placed in
contrib/tcl)
   the usual way lead me to a working .so file of 34 KB with
this
   dependencies

  sickpigsuino:/usr/lib/tcliaxclient0.2$ldd
libtcliaxclient0.2.so
         linux-gate.so.1 =>  (0xffffe000)
         libspeexdsp.so.1 =>
/usr/local/lib/libspeexdsp.so.1 (0xb7f5a000)
         libspeex.so.1 => /usr/local/lib/libspeex.so.1
(0xb7f43000)
         libiaxclient.so.1 =>
/usr/local/lib/libiaxclient.so.1 (0xb7f1c000)
         libpthread.so.0 =>
/lib/tls/i686/cmov/libpthread.so.0 (0xb7f04000)
         libasound.so.2 => /usr/lib/libasound.so.2
(0xb7e3e000)
         libc.so.6 => /lib/tls/i686/cmov/libc.so.6
(0xb7cf4000)
         libm.so.6 => /lib/tls/i686/cmov/libm.so.6
(0xb7cce000)
         libportaudio.so.2 =>
/usr/local/lib/libportaudio.so.2 (0xb7ca7000)
         libgsm.so.1 => /usr/lib/libgsm.so.1
(0xb7c97000)
         /lib/ld-linux.so.2 (0x80000000)
         libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2
(0xb7c93000)
         libjack.so.0 => /usr/lib/libjack.so.0
(0xb7c7a000)
         librt.so.1 => /lib/tls/i686/cmov/librt.so.1
(0xb7c70000)

- building the bit following instructions contained in
contrib/tcl/build-iaxclient.txt,
   trying to get a tcl extensions with speex and portaudio
linked statically,
   give me a not working library due to:

   sickpigsuino:~$ tclsh
   % package require iaxclient
   couldn't load file
"/usr/lib/tcliaxclient0.2/libtcliaxclient0.2.so":
/usr/lib/tcliaxclient0.2/libtcliaxclient0.2.so: undefined
symbol: speex_preprocess_ctl

   size of tcl extensions is bigger but still...

   sickpigsuino:~/src/iaxclient-svn-tree/trunk/contrib/tcl$ ls
-lh libtcliaxclient0.2.so
   -rwxr-xr-x 1 sickpig sickpig 320K 2008-04-18 14:34
libtcliaxclient0.2.so

   with those shared library dependencies

   sickpigsuino:~/src/iaxclient-svn-tree/trunk/contrib/tcl$ ldd
libtcliaxclient0.2.so
          linux-gate.so.1 =>  (0xffffe000)
          libpthread.so.0 =>
/lib/tls/i686/cmov/libpthread.so.0 (0xb7efe000)
          libc.so.6 => /lib/tls/i686/cmov/libc.so.6
(0xb7db4000)
          /lib/ld-linux.so.2 (0x80000000)


any hints? am I missing something obvious?

thanks

andrea

Mats Bengtsson wrote:
> On Mon, Apr 21, 2008 at 3:54 PM, Andrea Suisani
<sickpigopinioni.net> wrote:
>> Hi mats,
>>
>>  any news ?
>>
> 
> No. I have absolutely no idea what is going wrong.
> The very same build system (configure && make,
not Xcode) on MacOSX
> works OK. I have:
> 
> Macintosh:build mats$ ll /usr/local/lib/ | grep speex
> -rw-r--r--   1 root  wheel   375056 14 Mar 08:21
libspeex.a
> -rwxr-xr-x   1 root  wheel      763 14 Mar 08:21
libspeex.la
> -rw-r--r--   1 root  wheel   278032 14 Mar 08:21
libspeexdsp.a
> -rwxr-xr-x   1 root  wheel      772 14 Mar 08:21
libspeexdsp.la
> 
> and the actual link stage reads:
> 
> gcc -pipe -dynamiclib -Os -Wall -Wno-implicit-int
-fno-common -prebind
> -headerpad_max_install_names -Wl,-search_paths_first
> -Wl,-single_module -o libtcliaxclient0.2.dylib
iaxclient.o tones.o
> XThreadUtil.o -lportaudio -lspeexdsp -lspeex
-liaxclient -framework
> CoreAudio -framework AudioToolbox -framework AudioUnit
-framework
> CoreServices  -L/Library/Frameworks/Tcl.framework
-ltclstub8.5
> 
> Excluding the Mac specific stuff, this looks the same
as on linux.
> There are a few switches I don't know:
-Wl,-search_paths_first
> Also, the dylib is larger (352k) than on linux (280k).
> 
> I also explicitly checked that the missing symbol on
linux is there:
> nm libtcliaxclient0.2.dylib |grep speex_preprocess_ctl
> 00012be0 T _speex_preprocess_ctl
> 
> Mats the clueless...
> 
>
------------------------------------------------------------
-------------
> This SF.net email is sponsored by the 2008 JavaOne(SM)
Conference 
> Don't miss this year's exciting event. There's still
time to save $100. 
> Use priority code J8TL2D2. 
> http://ad.doubleclick.net/clk;1987
57673;13503038;p?http://java.sun.com/javaone
> _______________________________________________
> Iaxclient-devel mailing list
> Iaxclient-devellists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/iaxclie
nt-devel
> 


------------------------------------------------------------
-------------
This SF.net email is sponsored by the 2008 JavaOne(SM)
Conference 
Don't miss this year's exciting event. There's still time to
save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;1987
57673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Iaxclient-devel mailing list
Iaxclient-devellists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iaxclie
nt-devel

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )