Open prokoudine opened 1 year ago
If you revert back one commit (to 8b805c674adad536f9dd552b4be75fadcb3c7db6), does it work?
It seems like the failing step is
/usr/local/bin/lemon -q -c -s /home/alex/soft/cad/antimony/lib/fab/src/tree/v2syntax.y
Can you try running that on its own, possibly using ptrace
to figure out where it's trying to find lempar.c
? It appears that lempar.c
is a part of lemon
, but dunno where Ubuntu normally puts it.
If you revert back one commit (to https://github.com/mkeeter/antimony/commit/8b805c674adad536f9dd552b4be75fadcb3c7db6), does it work?
It now fails in a different place:
[22/131] Building CXX object lib/graph/CMakeFiles/SbGraphTest.dir/tests/main.cpp.o
In file included from /usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from /usr/include/boost/smart_ptr/detail/yield_k.hpp:23,
from /usr/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from /usr/include/boost/smart_ptr/detail/spinlock.hpp:42,
from /usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:29,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/boost/python/converter/shared_ptr_to_python.hpp:12,
from /usr/include/boost/python/converter/arg_to_python.hpp:15,
from /usr/include/boost/python/call.hpp:15,
from /usr/include/boost/python/object_core.hpp:14,
from /usr/include/boost/python/args.hpp:22,
from /usr/include/boost/python.hpp:11,
from /home/alex/soft/cad/antimony/lib/graph/inc/graph/proxy.h:3,
from /home/alex/soft/cad/antimony/lib/graph/tests/main.cpp:6:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/boost/detail/iterator.hpp:13:1: note: ‘#pragma message: This header is deprecated. Use <iterator> instead.’
13 | BOOST_HEADER_DEPRECATED("<iterator>")
| ^~~~~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
I'll see about ptracing that command.
strace /usr/local/bin/lemon -q -c -s /home/alex/soft/cad/antimony/lib/fab/src/tree/v2syntax.y
execve("/usr/local/bin/lemon", ["/usr/local/bin/lemon", "-q", "-c", "-s", "/home/alex/soft/cad/antimony/lib"...], 0x7ffeb96d4190 /* 58 vars */) = 0
brk(NULL) = 0x562af5093000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffcb9209d40) = -1 EINVAL (Invalid argument)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f845e2cd000
readlink("/proc/self/exe", "/usr/local/bin/lemon", 4096) = 20
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/glibc-hwcaps/x86-64-v3/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/glibc-hwcaps/x86-64-v3", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/glibc-hwcaps/x86-64-v2/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/glibc-hwcaps/x86-64-v2", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/tls/haswell/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/tls/haswell/x86_64", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/tls/haswell/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/tls/haswell", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/tls/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/tls/x86_64", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/tls", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/haswell/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/haswell/x86_64", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/haswell/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/haswell", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib/x86_64", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}, 0) = 0
openat(AT_FDCWD, "/usr/local/bin/../lib/glibc-hwcaps/x86-64-v3/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/glibc-hwcaps/x86-64-v3", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/glibc-hwcaps/x86-64-v2/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/glibc-hwcaps/x86-64-v2", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/tls/haswell/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/tls/haswell/x86_64", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/tls/haswell/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/tls/haswell", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/tls/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/tls/x86_64", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/tls/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/tls", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/haswell/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/haswell/x86_64", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/haswell/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/haswell", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/x86_64/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib/x86_64", 0x7ffcb9208f60, 0) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/../lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD, "/usr/local/bin/../lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}, 0) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=210767, ...}, AT_EMPTY_PATH) = 0
mmap(NULL, 210767, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f845e299000
close(3) = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\237\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 48, 848) = 48
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0i8\235HZ\227\223\333\350s\360\352,\223\340."..., 68, 896) = 68
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=2216304, ...}, AT_EMPTY_PATH) = 0
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
mmap(NULL, 2260560, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f845e071000
mmap(0x7f845e099000, 1658880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x28000) = 0x7f845e099000
mmap(0x7f845e22e000, 360448, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bd000) = 0x7f845e22e000
mmap(0x7f845e286000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x214000) = 0x7f845e286000
mmap(0x7f845e28c000, 52816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f845e28c000
close(3) = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f845e06e000
arch_prctl(ARCH_SET_FS, 0x7f845e06e740) = 0
set_tid_address(0x7f845e06ea10) = 481707
set_robust_list(0x7f845e06ea20, 24) = 0
rseq(0x7f845e06f0e0, 0x20, 0, 0x53053053) = 0
mprotect(0x7f845e286000, 16384, PROT_READ) = 0
mprotect(0x562af398b000, 4096, PROT_READ) = 0
mprotect(0x7f845e307000, 8192, PROT_READ) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
munmap(0x7f845e299000, 210767) = 0
getrandom("\x7c\x79\xdf\xd2\xad\x8b\x17\x6d", 8, GRND_NONBLOCK) = 8
brk(NULL) = 0x562af5093000
brk(0x562af50b4000) = 0x562af50b4000
openat(AT_FDCWD, "/home/alex/soft/cad/antimony/lib/fab/src/tree/v2syntax.y", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0664, st_size=6336, ...}, AT_EMPTY_PATH) = 0
newfstatat(3, "", {st_mode=S_IFREG|0664, st_size=6336, ...}, AT_EMPTY_PATH) = 0
lseek(3, 4096, SEEK_SET) = 4096
read(3, "L, R)); \t}\nexpr(E)\t\t::= expr(L) "..., 2240) = 2240
lseek(3, 0, SEEK_SET) = 0
read(3, "%include {\n\t#include <math.h>\n\t#"..., 4096) = 4096
read(3, "L, R)); \t}\nexpr(E)\t\t::= expr(L) "..., 4096) = 2240
close(3) = 0
brk(0x562af50d5000) = 0x562af50d5000
brk(0x562af50f6000) = 0x562af50f6000
brk(0x562af5117000) = 0x562af5117000
brk(0x562af5138000) = 0x562af5138000
sysinfo({uptime=667933, loads=[36800, 49248, 56832], totalram=8087867392, freeram=1249296384, sharedram=2203181056, bufferram=30138368, totalswap=9999216640, freeswap=2062397440, procs=1540, totalhigh=0, freehigh=0, mem_unit=1}) = 0
access("/home/alex/soft/cad/antimony/lib/fab/src/tree/v2syntax.lt", R_OK) = -1 ENOENT (No such file or directory)
access("lempar.c", R_OK) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/local/bin/lempar.c", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "Can't open the template file \"le"..., 41Can't open the template file "lempar.c".
) = 41
openat(AT_FDCWD, "/home/alex/soft/cad/antimony/lib/fab/src/tree/v2syntax.h", O_RDONLY) = 3
newfstatat(3, "", {st_mode=S_IFREG|0664, st_size=2891, ...}, AT_EMPTY_PATH) = 0
read(3, "#define TOKEN_PLUS "..., 4096) = 2891
read(3, "", 4096) = 0
close(3) = 0
newfstatat(1, "", {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0x8), ...}, AT_EMPTY_PATH) = 0
write(1, "Parser statistics: 60 terminals,"..., 58Parser statistics: 60 terminals, 8 nonterminals, 58 rules
) = 58
write(1, " 159 states, 0"..., 67 159 states, 0 parser table entries, 0 conflicts
) = 67
exit_group(1) = ?
+++ exited with 1 +++
locate tells me this:
/usr/local/share/lemon/lempar.c /usr/share/lemon/lempar.c
The former one was installed along with brl-cad. The latter one was installed as part of the lemon package on Ubuntu.
Okay, this appears to be a disagreement between the lemon
executable and the Ubuntu package.
lemon
looks for lempar.c
in the same directory as the binary (see pathsearch
here), i.e. /usr/local/bin/lempar.c
, but Ubuntu has put it in /usr/share/lemon/lempar.c
.
Homebrew patches this here; perhaps Ubuntu should be doing something similar?
(I also can't explain why this worked in the past!)
Ubuntu 22.04, lemon 3.37.2-2ubuntu0.1, all steps in BUILDING.md done