Starting up gives me Illegal Instruction

I installed from slackware package at linuxpackages.net, sorted out a few dependency problems, but when I run ardour I get this message:

Ardour/GTK 0.99.2
(built using 1.3.0 with libardour 0.906.1 and GCC version 3.3.6)
Copyright © 1999-2006 Paul Davis
Some portions Copyright © Steve Harris, Ari Johnson, Brett Viren, Joel Baker

Ardour comes with ABSOLUTELY NO WARRANTY
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This is free software, and you are welcome to redistribute it
under certain conditions; see the source for copying conditions.
Loading UI configuration file /etc/ardour/ardour_ui.rc
jackd 0.100.0
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver …
creating alsa driver … hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames, buffer = 2 periods
Note: audio device hw:0 doesn’t support a 32bit sample format so JACK will try a 24bit format instead
Note: audio device hw:0 doesn’t support a 24bit sample format so JACK will try a 16bit format instead
nperiods = 2 for capture
Note: audio device hw:0 doesn’t support a 32bit sample format so JACK will try a 24bit format instead
Note: audio device hw:0 doesn’t support a 24bit sample format so JACK will try a 16bit format instead
nperiods = 2 for playback
ardour: [INFO]: JACK server started
Loading system configuration file /etc/ardour/ardour_system.rc
Loading user configuration file /etc/ardour/ardour.rc
ALSA lib seq_hw.c:455:(snd_seq_hw_open) open /dev/snd/seq failed: No such file or directory
ardour: [WARNING]: No MMC control (MIDI port “seq” not available)
ardour: [INFO]: No H/W specific optimizations in use
ardour: [WARNING]: Your system generates “Mod2” when the NumLock key is pressed. This can cause problems when editing so Ardour will use Mod3 to mean Meta rather than Mod2
Illegal instruction

Any ideas of what this could be or how I can get more info about the problem?

you will need to use a debugger (i.e. gdb). if you don’t know how to use a debugger, there is no way you can get more information about the problem. its not really acceptable that a packaged version of ardour does this.

gdb doesn’t provide much in the way of info:

Program received signal SIGILL, Illegal instruction.
[Switching to Thread -1218337088 (LWP 18395)]
0x0854d847 in std::operator+<char, std::char_traits, std::allocator > ()

A backtrace just repeats last line

I also tried compiling 0.99.2 from source but get these errors:

libs/ardour/ardour/export.h:28: error: expected class-name before ‘,’ token
libs/ardour/ardour/export.h:47: error: ISO C++ forbids declaration of SNDFILE' with no type libs/ardour/ardour/export.h:47: error: expected;’ before ‘’ token
libs/ardour/ardour/export.h:70: error: SF_INFO' does not name a type libs/ardour/ardour/export.h:71: error:SRC_DATA’ does not name a type
libs/ardour/ardour/export.h:72: error: ISO C++ forbids declaration of SRC_STATE' with no type libs/ardour/ardour/export.h:72: error: expected;’ before '
’ token
scons: *** [libs/ardour/audio_playlist.o] Error 1
scons: building terminated because of errors.

Solved

Could you post the solution to the problem for others who might have a similar problem?

The problem was me: after downloading the various libraries that Ardour needs I installed them all, but somehow missed out libsndfile :slight_smile:

Some Linux distributions package ardour after compiling it to use MMX and/or SSE instructions. If you run such a package on a processor with no MMX and/or SSE support, you will see “Illegal Instruction”. I consider this a mistake by the packagers, and it should be reported if this is what is happening to you.