Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#257 closed Bug Report (fixed)

Segfault when opening ingen installed from svn drobilla-lad

Reported by: Alex Stone Owned by:
Priority: major Component: Ingen
Keywords: Cc:

Description

Hello Dave.

I get the following error after installing the latest (Sat Nov 8) svn drobilla-lad.

All seems to install ok, although i get a few warnings about Raul, during compile.

However, when i attempt to start Ingen, i get this:

[alex@localhost ~]$ ingen -eg Warning: Unable to create "trees" RDF storage. Performance can be improved by upgrading librdf. Loaded module "ingen_engine" from /usr/lib/ingen Unable to find module ingen_engine_http (/usr/lib/ingen/libingen_engine_http.so: cannot open shared object file: No such file or directory) Unable to find module ingen_engine_osc (/usr/lib/ingen/libingen_engine_osc.so: cannot open shared object file: No such file or directory) Unable to find module ingen_engine_queued (/usr/lib/ingen/libingen_engine_queued.so: cannot open shared object file: No such file or directory) Loaded module "ingen_engine_jack" from /usr/lib/ingen Loaded module "ingen_client" from /usr/lib/ingen WARNING: Unknown URI scheme 'osc.udp' Enhanced3DNow! detected SSE2 detected [JackAudioDriver?] Connected to JACK server 'default' [DummyMidiDriver?] Started Dummy MIDI driver. [JackAudioDriver?] Activated Jack client. Loaded module "ingen_gui" from /usr/lib/ingen [GladeFactory?] Loading widgets from /usr/share/ingen/ingen_gui.glade ingen: symbol lookup error: /usr/lib/ingen/libingen_gui.so: undefined symbol: _ZN5Ingen21QueuedEngineInterfaceC1ERNS_6EngineEjj [alex@localhost ~]$

I'm using this on Fedora 8 32bit, CCRMA RT kernel and packages installed. The version of Ingen (and the rest of drobilla-lad) i use on UbuntuStudio? Hardy 64bit, works fine.

Alex.

Change History (13)

comment:1 Changed 13 years ago by David Robillard

This is a fresh checkout and clean build? Uninstall, clean, rebuild, to be sure.

comment:2 Changed 13 years ago by andy@…

I'm getting the same error from a recent (last few days) download:

andy@monkey:~$ ingen -eg
Warning: Unable to create "trees" RDF storage.
Performance can be improved by upgrading librdf.
Loaded module "ingen_engine" from /usr/local/lib/ingen
Unable to find module ingen_engine_http (/usr/local/lib/ingen/libingen_engine_http.so: cannot open shared object file: No such file or directory)
Unable to find module ingen_engine_osc (/usr/local/lib/ingen/libingen_engine_osc.so: cannot open shared object file: No such file or directory)
Unable to find module ingen_engine_queued (/usr/local/lib/ingen/libingen_engine_queued.so: cannot open shared object file: No such file or directory)
Loaded module "ingen_engine_jack" from /usr/local/lib/ingen
Loaded module "ingen_client" from /usr/local/lib/ingen
WARNING: Unknown URI scheme 'osc.udp'
[JackAudioDriver] Connected to JACK server 'default'
[DummyMidiDriver] Started Dummy MIDI driver.
[JackAudioDriver] Activated Jack client.
Loaded module "ingen_gui" from /usr/local/lib/ingen
[GladeFactory] Loading widgets from /usr/local/share/ingen/ingen_gui.glade
ingen: symbol lookup error: /usr/local/lib/ingen/libingen_gui.so: undefined symbol: _ZN5Ingen21QueuedEngineInterfaceC1ERNS_6EngineEjj

I'm running debian testing (recently switched my base system over from 64studio, which is based on debian etch).

Also get a lot of warnings about 'type-punned pointers' while compiling.

andy

comment:3 Changed 13 years ago by andy@…

I just checked that I get the same error after an uninstall, clean and rebuild, and I do:

ingen: symbol lookup error: /usr/local/lib/ingen/libingen_gui.so: undefined symbol: _ZN5Ingen21QueuedEngineInterfaceC1ERNS_6EngineEjj

comment:4 Changed 13 years ago by lievenmoors@…

I'm having exactly the same errors when I try to run Ingen. I installed it on Ubuntu Studio (Intrepid) 32bit from svn. I'll be glad to provide more detailed information when needed...

comment:5 Changed 13 years ago by David Robillard

  • Remove ALL traces of ingen and anything else in my repository from your system.
  • Verify MANUALLY that this is ACTUALLY the case. Really.
  • Completely delete your source tree and check out a fresh one.
  • Try again.
  • No shortcuts :P

comment:6 Changed 13 years ago by andy@…

OK, I've tried this. I checked the system was clean by first doing ./waf uninstall in the top directory of the drobilla svn tree, then went through and manually checked that every file it said it had uninstalled had actually been removed. There isn't much in my /usr/local heirarchy, so if there was anything else I should have noticed it. Then I deleted the whole drobilla svn tree (by deleting the top directory), and reinstalled using the svn commandline on your home page.

First problem is it didn't pick up that libboost is needed:

[ 31/244] cxx: evoral/src/Control.cpp -> build/default/evoral/src/Control_1.o
In file included from ../evoral/src/Control.cpp:20:
../evoral/evoral/Control.hpp:24:32: error: boost/shared_ptr.hpp: No such file or directory

This is cured by installing all the libboost dev packages.

Then it builds OK:

[244/244] cxx_link: build/default/ingen/src/ingen/main_1.o build/default/ingen/src/ingen/cmdline_1.o -> build/default/ingen/src/ingen/ingen
Compilation finished successfully 

Running it fails with this error:

andy@monkey:~$ ingen -eg
Warning: Unable to create "trees" RDF storage.
Performance can be improved by upgrading librdf.
[Module] Loaded "ingen_engine" from /usr/local/lib/ingen
[Module] Unable to find ingen_engine_http (/usr/local/lib/ingen/libingen_engine_http.so: cannot open shared object file: No such file or directory)
[Module] Unable to find ingen_engine_osc (/usr/local/lib/ingen/libingen_engine_osc.so: cannot open shared object file: No such file or directory)
[Module] Unable to find ingen_engine_queued (/usr/local/lib/ingen/libingen_engine_queued.so: cannot open shared object file: No such file or directory)
[Module] Loaded "ingen_engine_jack" from /usr/local/lib/ingen
[Module] Loaded "ingen_client" from /usr/local/lib/ingen
WARNING: Unknown URI scheme 'osc.udp'
[JackAudioDriver] Connected to JACK server 'default'
[DummyMidiDriver] Started Dummy MIDI driver.
[JackAudioDriver] Activated Jack client.
[Module] Loaded "ingen_gui" from /usr/local/lib/ingen
[GladeFactory] Loading widgets from /usr/local/share/ingen/ingen_gui.glade
ingen: symbol lookup error: /usr/local/lib/ingen/libingen_gui.so: undefined symbol: _ZN5Ingen21QueuedEngineInterfaceC1ERNS_6EngineEj

comment:7 Changed 13 years ago by David Robillard

[Module] Unable to find ingen_engine_queued (/usr/local/lib/ingen/libingen_engine_queued.so: cannot open shared object file: No such file or directory)

This is completely catastrophic. Nothing will work without that module.

Full ./waf configure output please.

comment:8 Changed 13 years ago by David Robillard

Please update to 1781 which aborts cleanly when that module is not found.

comment:9 Changed 13 years ago by andy@…

With 1781.

Clean and configure:

monkey drobilla-lad # ./waf clean
Cleaning finished successfully 
monkey drobilla-lad # ./waf configure
Checking for program gcc                                : ok /usr/bin/gcc 
Checking for compiler version                           : ok 4.2.4 
Checking for program cpp                                : ok /usr/bin/cpp 
Checking for program ar                                 : ok /usr/bin/ar 
Checking for program ranlib                             : ok /usr/bin/ranlib 
Checking for compiler could create programs             : ok  
Checking for compiler could create shared libs          : ok  
Checking for compiler could create static libs          : ok  
Checking for flags -O2                                  : ok  
Checking for flags -g -DDEBUG                           : ok  
Checking for flags -g3 -O0 -DDEBUG                      : ok  
Checking for flags -Wall                                : ok  
Checking for gcc                                        : ok  
Checking for program g++                                : ok /usr/bin/g++ 
Checking for compiler version                           : ok 4.2.4 
Checking for program ar                                 : ok /usr/bin/ar 
Checking for program ranlib                             : ok /usr/bin/ranlib 
Checking for compiler could create programs             : ok  
Checking for compiler could create shared libs          : ok  
Checking for compiler could create static libs          : ok  
Checking for flags -O2 -DNDEBUG                         : ok  
Checking for flags -g -DDEBUG                           : ok  
Checking for flags -g3 -O0 -DDEBUG                      : ok  
Checking for flags -Wall                                : ok  
Checking for g++                                        : ok  
Checking for package redland >= 1.0.6                   : ok  
Checking for package jack >= 0.107.0                    : ok  

Global configuration 
Install prefix                                          : /usr/local 
Debuggable build                                        : False 
Build documentation                                     : False 

SLV2 Configuration 
Jack clients                                            : True 

Checking for package glibmm-2.4 >= 2.14.0               : ok  
Checking for package gthread-2.0 >= 2.14.0              : ok  

Checking for package libgvc >= 2.8                      : not found 
Checking for package libgnomecanvasmm-2.6 >= 2.6.0      : ok  
Checking for header boost/shared_ptr.hpp                : ok  
Checking for header boost/weak_ptr.hpp                  : ok  

FlowCanvas Configuration 
Auto-arrange                                            : False 
Anti-Aliasing                                           : True 

Checking for package dbus-1                             : not found 
Checking for package dbus-glib-1                        : not found 
Checking for package libglademm-2.4 >= 2.6.0            : ok  
Checking for package gtkmm-2.4 >= 2.11.12               : ok  
Checking for package alsa                               : ok  

Patchage Configuration 
Install name                                            : 'patchage' 
App human name                                          : 'Patchage' 
Jack (D-Bus)                                            : False 
LASH (D-Bus)                                            : False 
Jack (libjack)                                          : True 
Alsa Sequencer                                          : True 

Checking for package libxml-2.0 >= 2.6.0                : ok  
Checking for package libsoup-2.4 >= 2.4.0               : not found 
Checking for header ladspa.h                            : ok  
Checking for package liblo >= 0.25                      : not found 
Checking for function posix_memalign                    : ok  

Ingen Configuration 
Jack                                                    : True 
OSC                                                     : False 
HTTP                                                    : False 
LV2                                                     : True 
LADSPA                                                  : True 
Build GUI                                               : True 

Configuration finished successfully; project is now ready to build. 

Built OK.

Run:

andy@monkey:~$ ingen -eg
Warning: Unable to create "trees" RDF storage.
Performance can be improved by upgrading librdf.
[Module] Loaded "ingen_engine" from /usr/local/lib/ingen
[Module] Unable to find ingen_engine_http (/usr/local/lib/ingen/libingen_engine_http.so: cannot open shared object file: No such file or directory)
[Module] Unable to find ingen_engine_osc (/usr/local/lib/ingen/libingen_engine_osc.so: cannot open shared object file: No such file or directory)
[Module] Loaded "ingen_engine_jack" from /usr/local/lib/ingen
[Module] Unable to find ingen_engine_queued (/usr/local/lib/ingen/libingen_engine_queued.so: cannot open shared object file: No such file or directory)
ERROR: Unable to load (queued) engine interface module

It looks like the 'queued' engine doesn't get built:

monkey drobilla-lad # ./waf install | grep [Qq]ueued
monkey drobilla-lad # 
monkey drobilla-lad # find . | grep [Qq]ueued
./ingen/src/engine/QueuedEngineInterface.cpp
./ingen/src/engine/QueuedEvent.hpp
./ingen/src/engine/QueuedEvent.cpp
./ingen/src/engine/QueuedEventSource.hpp
./ingen/src/engine/QueuedEngineInterface.hpp
./ingen/src/engine/.svn/text-base/QueuedEvent.hpp.svn-base
./ingen/src/engine/.svn/text-base/QueuedEngineInterface.hpp.svn-base
./ingen/src/engine/.svn/text-base/QueuedEventSource.cpp.svn-base
./ingen/src/engine/.svn/text-base/QueuedEventSource.hpp.svn-base
./ingen/src/engine/.svn/text-base/QueuedEngineInterface.cpp.svn-base
./ingen/src/engine/.svn/text-base/QueuedEvent.cpp.svn-base
./ingen/src/engine/events/PingQueuedEvent.hpp
./ingen/src/engine/events/.svn/text-base/PingQueuedEvent.hpp.svn-base
./ingen/src/engine/QueuedEventSource.cpp
./build/default/ingen/src/engine/QueuedEvent_3.o
./build/default/ingen/src/engine/QueuedEvent_1.o
monkey drobilla-lad # 

comment:10 Changed 13 years ago by andy@…

I had a look at ingen/src/engine/wscript - this seems to require either liblo or libsoup in order for the QueuedEngine? module to be built. I tried installing libsoup-dev (from the Linux Mint repository - I recently switched to this distro), and it builds the module OK but segfaults when you run it:

andy@monkey:~$ ingen -eg
Warning: Unable to create "trees" RDF storage.
Performance can be improved by upgrading librdf.
[Module] Loaded "ingen_engine" from /usr/local/lib/ingen
[Module] Loaded "ingen_engine_http" from /usr/local/lib/ingen
[Module] Unable to find ingen_engine_osc (/usr/local/lib/ingen/libingen_engine_osc.so: cannot open shared object file: No such file or directory)
[Module] Loaded "ingen_engine_jack" from /usr/local/lib/ingen
[Module] Loaded "ingen_engine_queued" from /usr/local/lib/ingen
Segmentation fault

With both liblo and libsoup install, it builds and runs OK (I've got the GUI up at last anyhow.) Hooray!

andy@monkey:~$ ingen -eg
Warning: Unable to create "trees" RDF storage.
Performance can be improved by upgrading librdf.
[Module] Loaded "ingen_engine" from /usr/local/lib/ingen
[Module] Loaded "ingen_engine_http" from /usr/local/lib/ingen
[Module] Loaded "ingen_engine_osc" from /usr/local/lib/ingen
[Module] Loaded "ingen_engine_jack" from /usr/local/lib/ingen
[Module] Loaded "ingen_engine_queued" from /usr/local/lib/ingen
[Module] Loaded "ingen_client" from /usr/local/lib/ingen
[JackAudioDriver] Connected to JACK server 'default'
[DummyMidiDriver] Started Dummy MIDI driver.
[QueuedEventSource Thread] Starting.
[JackAudioDriver] Activated Jack client.
[Module] Loaded "ingen_gui" from /usr/local/lib/ingen
[GladeFactory] Loading widgets from /usr/local/share/ingen/ingen_gui.glade
[ClientBroadcaster] Registered client: (internal)
[Module] Loaded "ingen_serialisation" from /usr/local/lib/ingen
[Loader Thread] Starting.
[QueuedEventSource Thread] Already started.
[NodeFactory] LADSPA_PATH is empty.  Assuming /usr/lib/ladspa:/usr/local/lib/ladspa:~/.ladspa

I don't have all my music programs (e.g. LADSPA) set up on this linux installation yet, so I'll do that then let you know how it goes.

Still trying to submit this bug update. In the meantime I've got it working with LADSPA (except the category browser isn't working so I have to choose them alphabetically). Looks really nice apart from it's a bit buggy - have had quite a few segfaults while using it. Usually when adjusting plugin parameters. The main problem I'm having is getting alsa midi to work - I can't see how to get alsa (not jack) midi data into the system.

andy

comment:11 Changed 13 years ago by mbc@…

I am trying out Ingen for the first time.

I am having the same problem (segfault) and my symptoms are like andy above. I am not able to easily install the required liblo version, because the Ubuntu Hardy repositories only offer version 0.23 while Ingen requires version 0.25.

If Ingen requires liblo to run, it would be nice if the configure script called it an error when the library is missing.

If liblo version 0.23 is enough, it would be nice if the configure script accepted that.

I am looking forward to trying out the capabilities of Ingen once these issues are sorted out.

Best regards Mikkel Christensen

comment:12 Changed 13 years ago by David Robillard

Resolution: fixed
Status: newclosed

That'd to it. Duh.

Fixed in r1782.

For the record, running a remote ingen is currently not stable so liblo (or libsoup which is completely experimental) doesn't matter. Use 'ingen -eg' which should work fine.

comment:13 in reply to:  12 Changed 13 years ago by mbc@…

Replying to dave:

That'd to it. Duh.

Fixed in r1782.

For the record, running a remote ingen is currently not stable so liblo (or libsoup which is completely experimental) doesn't matter. Use 'ingen -eg' which should work fine.

That was quick! I am impressed. In the meantime I have compiled a newer liblo from source, and made Ingen run. Now I can't figure out how to create midi_input ports, and loading patches gives an error (Unable to load node /midi_control_in_0 (you're missing the plugin :midi_control_in (Internal))) But that is not the topic of this bug, so never mind. I may be able to figure it out on my own.

Thanks for your quick fix of the liblo problem.

Mikkel

Note: See TracTickets for help on using tickets.