because they are compiled with -lm
try to build the test program with:
gcc -o bug bug.c -ldl -lm
but this is really strange that the tap .so files
are not linked against the libm.
On 05/18/2014 12:57 PM, Zlobin Nikita wrote:
Yet, on gentoo all right. So, problem seems to be invalid.
But strange, how other hosts can load these ladspa, if loading requires
dlopen() too %/.
This. Is. Weird.
Did you compile the tap plugins yourself?
If yes: what version do you have? how did you compile it?
If no: what linux distribution do you use?
On 05/18/2014 12:42 PM, Zlobin Nikita wrote:
No dependency on libm.
$ ldd /usr/lib/ladspa/tap_echo.so
linux-vdso.so.1 => (0x00007fff9dffe000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9472f16000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9473523000)
Okay, seems there is a problem with the libm
(math library).
Type that and send me the result:
ldd /usr/lib/ladspa/tap_echo.so
If there is a line like:
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
(0x00007f9d59562000)
type:
readelf -a /lib/x86_64-linux-gnu/libm.so.6 | grep powf
and send me the result too.
If there is no "libm" line, then there is indeed a problem
and we'll try new things.
How did you install /usr/lib/ladspa/tap_echo.so?
Did you compile yourself?
Please, answer all my questions so I can help you correctly.
On 05/18/2014 12:17 PM, Zlobin Nikita wrote:
Sorry, i did not know about dlerror().
Output:
dlopen failed: /usr/lib/ladspa/tap_echo.so (dlerror:
/usr/lib/ladspa/tap_echo.so: undefined symbol: __powf_finite)
dlerror? (null)
In my code I call dlerror to print the error.
What is printed?
And can you send me the strace log so I have a look
at what's going on?
On 05/18/2014 11:15 AM, Zlobin Nikita wrote:
I don't see any changes. In my code following check fails:
if (pvPluginHandle)
Shortly - dlopen returns NULL, so futher struggle is useless.
try that:
#include <stdio.h>
#include <dlfcn.h>
int main (int argc, char ** argv)
{
//LADSPAPluginSearch(describePluginLibrary);
char plugpath [] = "/usr/lib/ladspa/tap_echo.so";
void * pvPluginHandle = dlopen(plugpath, RTLD_NOW | RTLD_LOCAL);
if (pvPluginHandle) dlclose (pvPluginHandle);
else printf ("dlopen failed: %s (dlerror: %s)\n",
plugpath, dlerror());
printf("dlerror? %s\n", dlerror());
return 0;
}
compile with:
gcc -Wall bug.c -ldl -o bug
then run:
./bug
what happens?
If it fails, can you run:
strace ./bug 2>&1 > strace.log
and send me the strace.log file.
and also tell me what "gcc --version" says,
and what "uname -a" says.
Thanks.
On 05/18/2014 07:07 AM, Zlobin Nikita wrote:
Fons: i tried with existing path.
Library path is valid - i checked it with ls (doing it for ladspa
dir
before to get libraries list).
Code - includes are omited, line with main() declaration is numbered
30: int main (int argc, char ** argv)
{
//LADSPAPluginSearch(describePluginLibrary);
char plugpath [] = "/usr/lib/ladspa/tap_echo.so";
void * pvPluginHandle = dlopen(plugpath, RTLD_NOW | RTLD_LOCAL);
if (pvPluginHandle) dlclose (pvPluginHandle);
else printf ("dlopen failed: %s\n", plugpath);
return 0;
}
hermann: thanks, will look
On 05/17/2014 10:15 PM, Zlobin Nikita wrote:
Backtrace of scanning crash (gdb output) is in attachement (too
long
lines
in email message are automatically wrapped - don't know, is it
good
to
violate this).
You should provide some code, it's hard to help you without seeing
what
your program really does.
_______________________________________________
Linux-audio-dev mailing list
[email protected]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
_______________________________________________
Linux-audio-dev mailing list
[email protected]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
_______________________________________________
Linux-audio-dev mailing list
[email protected]
http://lists.linuxaudio.org/listinfo/linux-audio-dev
_______________________________________________
Linux-audio-dev mailing list
[email protected]
http://lists.linuxaudio.org/listinfo/linux-audio-dev