I've come across this problem a couple times now. It's quite annoying.
This error message seems to mean there is a library problem.
If a library fails to load during initialization, gap4 continues with the rest of the initialization sequence as if nothing went wrong, and only dies when it hits this "load_alignment_matrix" command. I have no clue why it doesn't detect the library failure immediately and provide a useful error message.
I'm using Debian Testing, and installing the libg2c0 and libstdc++5 packages seems to be sufficient to make gap4 happy at the moment.
If you're using another linux distribution, you'll need to figure out which libraries it needs on your own. The best way I've found to do this is to run:
strace gap4 > output.txt
After this finishes, look at the output.txt file and try to figure out which libraries failed to load.
A successful library load might look something like this:
open("/usr/local/Staden/lib/linux-binaries/tls/i686/sse2/cmov/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/tls/i686/sse2/cmov", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/tls/i686/sse2/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/tls/i686/sse2", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/tls/i686/cmov/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/tls/i686/cmov", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/tls/i686/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/tls/i686", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/tls/sse2/cmov/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/tls/sse2/cmov", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/tls/sse2/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/tls/sse2", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/tls/cmov/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/tls/cmov", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/tls/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/tls", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/i686/sse2/cmov/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/i686/sse2/cmov", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/i686/sse2/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/i686/sse2", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/i686/cmov/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/i686/cmov", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/i686/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/i686", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/sse2/cmov/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/sse2/cmov", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/sse2/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/sse2", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/cmov/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/Staden/lib/linux-binaries/cmov", 0xbfec6da4) = -1 ENOENT (No such file or directory)
open("/usr/local/Staden/lib/linux-binaries/libncurses.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\343\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=268396, ...}) = 0
old_mmap(NULL, 273580, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0
xb7f6f000
old_mmap(0xb7fa9000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENY
WRITE, 3, 0x39000) = 0xb7fa9000
close(3) = 0
(Note that it tried to find the library in a whole bunch of directories, but it eventually found a copy and successfully opened and read it)
A failed library might look something like this:
open("/usr/local/Staden/lib/linux-binaries/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/sse2/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/sse2/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/tls/sse2/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/tls/sse2/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/tls/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/tls/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", {st_mode=S_IFDIR|0755, st_size=1560, ...}) = 0
open("/lib/i686/sse2/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/i686/sse2/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/i686/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/i686/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/sse2/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/sse2/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/lib/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=3976, ...}) = 0
open("/usr/lib/tls/i686/sse2/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/sse2/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/sse2/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/sse2", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/sse2/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/sse2/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/sse2/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/sse2", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls", {st_mode=S_IFDIR|0755, st_size=136, ...}) = 0
open("/usr/lib/i686/sse2/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/sse2/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/sse2", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/cmov", {st_mode=S_IFDIR|0755, st_size=192, ...}) = 0
open("/usr/lib/i686/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686", {st_mode=S_IFDIR|0755, st_size=72, ...}) = 0
open("/usr/lib/sse2/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/sse2/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/sse2", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/cmov/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/cmov", 0xbfbf2e38) = -1 ENOENT (No such file or directory)
open("/usr/lib/libstdc++.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=37168, ...}) = 0
munmap(0xb7b08000, 43978) = 0
munmap(0xb7b13000, 17508) = 0
munmap(0xb7871000, 2353440) = 0
munmap(0xb7ab0000, 196960) = 0
munmap(0xb7849000, 163396) = 0
munmap(0xb7aff000, 34708) = 0
munmap(0xb7822000, 158368) = 0
munmap(0xb7806000, 114596) = 0
(Note that it tried to find the library in a whole bunch of directories again, but this time it never actually found a copy. And after the block of open/stat64 commands, you see a series of memory deallocation commands, instead of the file read/memory allocation/file close commands seen earlier.)
Install whatever files gap4 is failing to load, and hopefully your problems will go away.
-Paul
>Thu Aug 4 04:26:31 EST 2005
>>Hi,
>>I am beginner in using staden and first I fall in to problems with
>installing/running it.
>All staden folders are copied in /usr/local/bin/staden
>and following lines are added to .bashrc
>STADENROOT=/usr/local/bin/staden; export STADENROOT
>source $STADENROOT/staden.profile
>>But when I running gap4 I got followin error
>>[tmargus at localhost ~]$ gap4
>invalid command name "load_alignment_matrix"
> while executing
>"load_alignment_matrix [keylget gap_defs ALIGNMENT.MATRIX_FILE]"
> (file "/usr/local/bin/staden/lib/gap/gap.tcl" line 674)
>>>Any help and suggestions are welcome
>> Tõnu Margus
>>Tartu university
>Riia 23
>Tartu 51010
>Estonia