plugin loads, but crash in shared library

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

plugin loads, but crash in shared library

Brad Fuller
Hi All,

I now assuming that I'm not linking the shared library correctly. Is
there anything special that I need to understand and do with an external
plugin calling a shared library? (i know, wide open question, sorry)

I built the shared library, but it's built from the vendor's makefile
and works perfectly fine as is. As mentioned in a previous msg, other
apps can call this shared library fine with no problem.

Maybe the library is linked incorrectly? However, there are no undefined
references so something is finding the symbol.

Here is the output of the makefile relevant to linking:

/bin/sh /home/bfuller/projects/squeak/branches/platforms/unix/libtool
--mode=link gcc -g -O2 -fomit-frame-pointer -DLSB_FIRST=1    
-avoid-version -module -rpath /usr/local/lib/squeak/3.7-7 -o
SoundPAPlugin.la SoundPAPlugin.lo patest_sine.lo
-Wl,/usr/local/lib/libportaudio.so

(if you've been following this saga, I couldn't get the Makefile.inc to
be recognized so I manually edited the Makefile to include this shared
library for resolving references)

 libtool/gcc experts: does that look right?  Do I need to also add a
runtime switch for the library at /usr/local/lib? -rpath?
The environment var "LD_LIBRARY_PATH" is set to /usr/local/lib -- I
assumed this was enough.

Or, maybe I'm linking the shared library all wrong.

Any pointers  or docs would be helpful and appreciated.

brad


--
Brad Fuller
(408) 799-6124
** Sonaural Audio Studios **
(408) 799-6123  West San Jose
(408) 799-6124  Cambrian
________________________________
Hear us online: www.Sonaural.com
See me on O'Reilly: http://www.oreillynet.com/pub/au/2184


Reply | Threaded
Open this post in threaded view
|

Re: plugin loads, but crash in shared library

Bert Freudenberg-3

Am 15.11.2005 um 01:36 schrieb Brad Fuller:
>
> /bin/sh /home/bfuller/projects/squeak/branches/platforms/unix/
> libtool --mode=link gcc -g -O2 -fomit-frame-pointer -
> DLSB_FIRST=1    -avoid-version -module -rpath /usr/local/lib/squeak/
> 3.7-7 -o SoundPAPlugin.la SoundPAPlugin.lo patest_sine.lo -Wl,/usr/
> local/lib/libportaudio.so

I don't know much about libtool, but the "normal" linker options I'd  
give in that case would be:

        -L/usr/local/lib -lportaudio

Did you try that?

- Bert -


Reply | Threaded
Open this post in threaded view
|

Re: plugin loads, but crash in shared library

Brad Fuller
Bert Freudenberg wrote:

>
> Am 15.11.2005 um 01:36 schrieb Brad Fuller:
>
>>
>> /bin/sh /home/bfuller/projects/squeak/branches/platforms/unix/
>> libtool --mode=link gcc -g -O2 -fomit-frame-pointer - DLSB_FIRST=1    
>> -avoid-version -module -rpath /usr/local/lib/squeak/ 3.7-7 -o
>> SoundPAPlugin.la SoundPAPlugin.lo patest_sine.lo -Wl,/usr/
>> local/lib/libportaudio.so
>
>
> I don't know much about libtool, but the "normal" linker options I'd  
> give in that case would be:
>
>     -L/usr/local/lib -lportaudio
>
> Did you try that?

that's what I tried originally. I rcv an error:
/usr/bin/ld: cannot find -llibportaudio

That's why I figured that you had to pass the arg thru libtool to ld.
Strange that there is no error on -L/usr/local/lib

Reply | Threaded
Open this post in threaded view
|

Re: plugin loads, but crash in shared library

Brad Fuller
Brad Fuller wrote:

> Bert Freudenberg wrote:
>
>>
>> Am 15.11.2005 um 01:36 schrieb Brad Fuller:
>>
>>>
>>> /bin/sh /home/bfuller/projects/squeak/branches/platforms/unix/
>>> libtool --mode=link gcc -g -O2 -fomit-frame-pointer -
>>> DLSB_FIRST=1    -avoid-version -module -rpath /usr/local/lib/squeak/
>>> 3.7-7 -o SoundPAPlugin.la SoundPAPlugin.lo patest_sine.lo -Wl,/usr/
>>> local/lib/libportaudio.so
>>
>>
>>
>> I don't know much about libtool, but the "normal" linker options I'd  
>> give in that case would be:
>>
>>     -L/usr/local/lib -lportaudio
>>
>> Did you try that?
>
>
> that's what I tried originally. I rcv an error:
> /usr/bin/ld: cannot find -llibportaudio
>
> That's why I figured that you had to pass the arg thru libtool to ld.
> Strange that there is no error on -L/usr/local/lib
>
>
oppss... I put the 'lib' part in and I see you have to remove that for
libtool.

It compiled and linked.

Thanks.. as always.. there are multiple problems. Still tracking them
down. Thanks for your help.

brad

--
Brad Fuller
(408) 799-6124
** Sonaural Audio Studios **
(408) 799-6123  West San Jose
(408) 799-6124  Cambrian
________________________________
Hear us online: www.Sonaural.com
See me on O'Reilly: http://www.oreillynet.com/pub/au/2184


Reply | Threaded
Open this post in threaded view
|

Re: plugin loads, but crash in shared library

Bert Freudenberg-3

Am 15.11.2005 um 19:46 schrieb Brad Fuller:

> Brad Fuller wrote:
>
>> Bert Freudenberg wrote:
>>
>>>
>>>     -L/usr/local/lib -lportaudio
>>
>> /usr/bin/ld: cannot find -llibportaudio
>>
> oppss... I put the 'lib' part in and I see you have to remove that  
> for libtool.
>
> It compiled and linked.

;-)

- Bert -