Subject: [ecasound] linking programs against libecasound dumps core
From: MULLER Miklos (mmuller@lbcons.net)
Date: Mon Mar 05 2001 - 11:58:19 EET
Hello ecasounders,
Recently i ran into this really *wonderful* program. All my compliments,
really. I was looking for such a program for years, and now my dream came
true! I primarily use ecasound as a real-time guitar effect processor.
I was amazed, that i can apply effects with almost unnoticable latency.
I decided to write a small program to control the effect settings
via a small GUI, which would display a few basic knobs to play with.
I copied the ecidoc_example.c to my working folder and compiled with the
following command line:
cc -c -o ecidoc_example.o ecidoc_example.c
cc -lecasoundc ecidoc_example.o -o ecidoc_example
I tried to run it, but it exited immediately with a
Segmentation fault (core dumped)
message. So I compiled ecasound again with --enable-debug, stripped down
the ecidoc_example.c to: "int main() { return(0); }", and it still dumped
core. (the only difference was that i linked against "ecasoundc_debug").
I ran gdb to see what is happening, and got the following results:
$ gdb ./ecidoc_example core
[...]
Core was generated by `./ecidoc_example'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libecasoundc_debug.so.0...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /usr/local/lib/libecasound_debug.so.7...done.
Reading symbols from /usr/local/lib/libkvutils.so.2...done.
Reading symbols from /lib/libdl.so.2...done.
Reading symbols from /lib/libpthread.so.0...done.
Reading symbols from /usr/lib/libstdc++-libc6.1-1.so.2...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/ld-linux.so.2...done.
#0 0x403749a4 in basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >::basic_string (this=0xbffff5f8, s=0x0)
at ../../../libstdc++/std/straits.h:125
125 ../../../libstdc++/std/straits.h: No such file or directory.
I did a stack print:
(gdb) bt
#0 0x403749a4 in basic_string<char, string_char_traits<char>, __default_alloc_template<true, 0> >::basic_string (this=0xbffff5f8, s=0x0)
at ../../../libstdc++/std/straits.h:125
#1 0x4021a671 in ECA_RESOURCES::ECA_RESOURCES (this=0xbffff678)
at eca-resources.cpp:26
#2 0x4024fba0 in ECA_PRESET_MAP::ECA_PRESET_MAP (this=0x40328640)
at eca-preset-map.cpp:29
#3 0x4024cf41 in global constructors keyed to register_default_objects ()
at eca-static-object-maps.cpp:94
#4 0x40250e14 in __do_global_ctors_aux ()
at /usr/include/g++-2/stl_vector.h:150
#5 0x401cdbba in ?? () at /usr/include/g++-2/stl_alloc.h:504
from /usr/local/lib/libecasound_debug.so.7
Current language: auto; currently c++
Any clue on what can the problem be? I read the docs, and fixed .ecasoundrc
so that midi-device points to the correct device. ecasound -c runs without
any problems on both two machines I tried. I won't go in too much details
in hardware, since the problem exists on two different machines.
Software I run:
- Stock RedHat 6.2 on two different machines,
- Stock 2.2.14 kernel on the 1st machine,
- 2.2.18 kernel on the other machine
- gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
- ecasound-1.9dev3
Thanks in advance:
MULLER Miklos
http://lbcons.net
-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request@wakkanet.fi>.
This archive was generated by hypermail 2b28 : Mon Mar 05 2001 - 12:10:37 EET