IRATI / stack

RINA implementation for OS/Linux
http://irati.github.io/stack
73 stars 39 forks source link

Some builds make binaries that can't find librina .so's like librina-api.so.0 #1353

Open TRIA opened 3 years ago

TRIA commented 3 years ago

In downloading and building the stack on several machines in the last weeks, some of the builds produce binaries for ipcm, ipcp, rinacat, etc., that do not incorporate the correct path location for the rina libraries, such as librina.so.0 and librina-api.so.0. This may be due to a difference in how libtool is applied to the binaries or a difference in how libtool works.

Executing the binary with LD_LIBRARY_PATH=/usr/local/lib (or appending this library to your preexisting LD_LIBRARY_PATH) allows the libraries to be found, such as: srb@sdr2:~$ rinacat --help rinacat: error while loading shared libraries: librina-api.so.0: cannot open shared object file: No such file or directory srb@sdr2:~$ LD_LIBRARY_PATH=/usr/local/lib rinacat --help (works correctly) (Note that when executing commands with 'sudo', the environment variable is stripped out for security reasons and that command line does not work. You have to first create an su shell, then you can export the LD_LIBRARY_PATH=/usr/local/lib variable.)

Most of my failing Raspberry Pi W test machines were freshly-downloaded and installed Raspbian, and I did an apt-get update and apt-get upgrade immediately before pulling the stack on all of them, then configuring it (always into /usr/local), and installing it. (One Raspberry Pi W machine was installed previously, debian_version 8.8, but was upgraded (apt-update upgrade) prior to use -- it also failed.) The Raspberry Pi 4 machines were installed in late 2019/early 2020, but were upgraded (apt-get dist-upgrade) prior to testing. The pattern observed on several such installations is: Ubuntu 18.04, has the problem Raspberry Pi W, has the problem Raspberry Pi model 4 (2 different machines), programs are built correctly

"sdr2", a recently updated/upgraded x86 Ubuntu 18.04 system also had the problem. At first I was assuming that this might be a Raspbian problem, but seeing the exact same failure on x86 seems to dispute that.

Output of several ./configure and make install commands are attached, with the names of the systems they're from. (The original razzy4 build log was overwritten by a rebuild that did not remake the binaries, so the also-working raz4 log is attached - sorry! raz4-log.txt razzyw3-log.txt sdr2-log.txt )

(Note that the x86 (64-bit) version links far fewer libraries, which means I had probably failed to install all options, and since the command doesn't run at all it's hard to tell if the stack would run correctly. But the library link error occurs independent of that, as the log shows. UPDATE: it works fine, enrolls over LAN with another similar machine.)

Below is output from trying rinacat, doing an ldd to see what shared objects the program links, the system and tools versions, and an ls of the library directory showing that the needed binaries are present (razzyw3 is a Raspberry Pi W, razzy4 is a Raspberry Pi 4, sdr2 is an x86 Ubuntu 18.04). Note the "not found" for the librina libraries on razzyw3 and sdr2, which seems to reflect a libtool problem:


srb@razzyw3:~ $ rinacat --help

rinacat: error while loading shared libraries: librina.so.0: cannot open shared object file: No such file or directory srb@razzyw3:~ $ cat /etc/debian_version 10.10 srb@razzyw3:~ $ srb@razzyw3:~ $ ldd /usr/local/bin/rinacat /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v6l.so (0xb6f67000) librina.so.0 => not found libprotobuf.so.17 => /lib/arm-linux-gnueabihf/libprotobuf.so.17 (0xb6cef000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6cd8000) librina-api.so.0 => not found libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6cae000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6b60000) libatomic.so.1 => /lib/arm-linux-gnueabihf/libatomic.so.1 (0xb6b47000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb6b1c000) libstdc++.so.6 => /lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb69d5000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6953000) /lib/ld-linux-armhf.so.3 (0xb6f7a000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6926000) srb@razzyw3:~ $ uname -a Linux razzyw3 5.10.52+ #1441 Tue Aug 3 18:08:18 BST 2021 armv6l GNU/Linux srb@razzyw3:~ $ c++ --version c++ (Raspbian 8.3.0-6+rpi1) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

srb@razzyw3:~ $ cc --version cc (Raspbian 8.3.0-6+rpi1) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

srb@razzyw3:~ $ ls -l /usr/local/lib total 68836 -rw-r--r-- 1 root root 23019504 Aug 16 21:35 librina.a -rw-r--r-- 1 root root 127690 Aug 16 21:35 librina-api.a -rwxr-xr-x 1 root root 1099 Aug 16 21:35 librina-api.la lrwxrwxrwx 1 root root 20 Aug 16 21:35 librina-api.so -> librina-api.so.0.0.0 lrwxrwxrwx 1 root root 20 Aug 16 21:35 librina-api.so.0 -> librina-api.so.0.0.0 -rwxr-xr-x 1 root root 110872 Aug 16 21:35 librina-api.so.0.0.0 -rw-r--r-- 1 root root 21018864 Aug 16 21:46 librinad.a -rwxr-xr-x 1 root root 1106 Aug 16 21:46 librinad.la lrwxrwxrwx 1 root root 17 Aug 16 21:46 librinad.so -> librinad.so.0.0.0 lrwxrwxrwx 1 root root 17 Aug 16 21:46 librinad.so.0 -> librinad.so.0.0.0 -rwxr-xr-x 1 root root 10915720 Aug 16 21:46 librinad.so.0.0.0 -rw-r--r-- 1 root root 275904 Aug 16 21:35 librinairati.a -rwxr-xr-x 1 root root 976 Aug 16 21:34 librinairati.la lrwxrwxrwx 1 root root 21 Aug 16 21:34 librinairati.so -> librinairati.so.0.0.0 lrwxrwxrwx 1 root root 21 Aug 16 21:34 librinairati.so.0 -> librinairati.so.0.0.0 -rwxr-xr-x 1 root root 215936 Aug 16 21:34 librinairati.so.0.0.0 -rw-r--r-- 1 root root 2074730 Aug 16 21:34 librinajsoncpp.a -rwxr-xr-x 1 root root 990 Aug 16 21:34 librinajsoncpp.la lrwxrwxrwx 1 root root 23 Aug 16 21:34 librinajsoncpp.so -> librinajsoncpp.so.0.0.0 lrwxrwxrwx 1 root root 23 Aug 16 21:34 librinajsoncpp.so.0 -> librinajsoncpp.so.0.0.0 -rwxr-xr-x 1 root root 1210356 Aug 16 21:34 librinajsoncpp.so.0.0.0 -rwxr-xr-x 1 root root 1045 Aug 16 21:34 librina.la lrwxrwxrwx 1 root root 16 Aug 16 21:34 librina.so -> librina.so.0.0.0 lrwxrwxrwx 1 root root 16 Aug 16 21:34 librina.so.0 -> librina.so.0.0.0 -rwxr-xr-x 1 root root 11456584 Aug 16 21:34 librina.so.0.0.0

srb@razzyw3:~ $ grep rinacat configlog config.status: creating src/rinacat/Makefile Making install in rinacat make[4]: Entering directory '/stack/build/rina-tools/src/rinacat' gcc -DHAVE_CONFIG_H -I. -I/stack/rina-tools/src/rinacat -I../../src -std=gnu11 -pthread -I/usr/local/include -I/stack/rina-tools/src/rinacat/../common -g -O2 -MT rinacat-rinacat.o -MD -MP -MF .deps/rinacat-rinacat.Tpo -c -o rinacat-rinacat.o test -f 'rinacat.c' || echo '/stack/rina-tools/src/rinacat/'rinacat.c mv -f .deps/rinacat-rinacat.Tpo .deps/rinacat-rinacat.Po /bin/bash ../../libtool --tag=CC --mode=link gcc -std=gnu11 -pthread -I/usr/local/include -I/stack/rina-tools/src/rinacat/../common -g -O2 -o rinacat rinacat-rinacat.o -L/usr/local/lib -lrina -lprotobuf -pthread -lrt -lrina-api libtool: link: gcc -std=gnu11 -pthread -I/usr/local/include -I/stack/rina-tools/src/rinacat/../common -g -O2 -o rinacat rinacat-rinacat.o -pthread -L/usr/local/lib /usr/local/lib/librina.so -lprotobuf -lrt /usr/local/lib/librina-api.so -pthread make[5]: Entering directory '/stack/build/rina-tools/src/rinacat' /bin/bash ../../libtool --mode=install /usr/bin/install -c rinacat '/usr/local/bin' libtool: install: /usr/bin/install -c rinacat /usr/local/bin/rinacat make[5]: Leaving directory '/stack/build/rina-tools/src/rinacat' make[4]: Leaving directory '/stack/build/rina-tools/src/rinacat' Making installcheck in rinacat make[3]: Entering directory '/stack/build/rina-tools/src/rinacat' bad=0; pid=$$; list="rinacat"; for p in $list; do \ case ' rinacat ' in \ " $p " | " /stack/rina-tools/src/rinacat/$p ") continue;; \ make[3]: Leaving directory '/stack/build/rina-tools/src/rinacat' srb@razzyw3:~ $

srb@razzy4:~ $ rinacat --help

rinacat: option '--help' requires an argument ERROR: Command line error. Usage:rinacat [-l] [-a ] [-A ] [-c ] [-p ] [-v] [-V] [-I ] [-i ] [-d ] [-s ] [-h] [--] Where:

-l, --listen Register this app, run in server mode awaiting incoming flow request(s) ----cut... rinacat ran as expected----

srb@razzy4:~ $ cat /etc/debian_version 10.10 srb@razzy4:~ $ srb@razzy4:~ $ ldd /usr/local/bin/rinacat linux-vdso.so.1 (0xbeea9000) /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so (0xb6f64000) librina.so.0 => /usr/local/lib/librina.so.0 (0xb6d9e000) libprotobuf.so.17 => /usr/lib/arm-linux-gnueabihf/libprotobuf.so.17 (0xb6b3a000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6b23000) librina-api.so.0 => /usr/local/lib/librina-api.so.0 (0xb6b0e000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6ae4000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6996000) libssl.so.1.1 => /usr/lib/arm-linux-gnueabihf/libssl.so.1.1 (0xb6917000) libcrypto.so.1.1 => /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1 (0xb66fd000) librinajsoncpp.so.0 => /usr/local/lib/librinajsoncpp.so.0 (0xb66d6000) librinairati.so.0 => /usr/local/lib/librinairati.so.0 (0xb66b9000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb66a6000) libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb655f000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb64dd000) /lib/ld-linux-armhf.so.3 (0xb6f79000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb64b0000) libatomic.so.1 => /usr/lib/arm-linux-gnueabihf/libatomic.so.1 (0xb6497000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb646c000) srb@razzy4:~ $ uname -a Linux razzy4 5.10.52-v7l+ #1441 SMP Tue Aug 3 18:11:56 BST 2021 armv7l GNU/Linux srb@razzy4:~ $ c++ --version c++ (Raspbian 8.3.0-6+rpi1) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

srb@razzy4:~ $ cc --version cc (Raspbian 8.3.0-6+rpi1) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

srb@razzy4:~ $ ls -l /usr/local/lib total 68840 -rw-r--r-- 1 root root 23020556 Aug 17 10:15 librina.a -rw-r--r-- 1 root root 127762 Aug 17 10:15 librina-api.a -rwxr-xr-x 1 root root 1099 Aug 17 10:15 librina-api.la lrwxrwxrwx 1 root root 20 Aug 17 10:15 librina-api.so -> librina-api.so.0.0.0 lrwxrwxrwx 1 root root 20 Aug 17 10:15 librina-api.so.0 -> librina-api.so.0.0.0 -rwxr-xr-x 1 root root 110932 Aug 17 10:15 librina-api.so.0.0.0 -rw-r--r-- 1 root root 21019172 Aug 17 10:16 librinad.a -rwxr-xr-x 1 root root 1106 Aug 17 10:16 librinad.la lrwxrwxrwx 1 root root 17 Aug 17 10:16 librinad.so -> librinad.so.0.0.0 lrwxrwxrwx 1 root root 17 Aug 17 10:16 librinad.so.0 -> librinad.so.0.0.0 -rwxr-xr-x 1 root root 10915812 Aug 17 10:16 librinad.so.0.0.0 -rw-r--r-- 1 root root 275976 Aug 17 10:15 librinairati.a -rwxr-xr-x 1 root root 976 Aug 17 10:15 librinairati.la lrwxrwxrwx 1 root root 21 Aug 17 10:15 librinairati.so -> librinairati.so.0.0.0 lrwxrwxrwx 1 root root 21 Aug 17 10:15 librinairati.so.0 -> librinairati.so.0.0.0 -rwxr-xr-x 1 root root 216000 Aug 17 10:15 librinairati.so.0.0.0 -rw-r--r-- 1 root root 2074862 Aug 17 10:15 librinajsoncpp.a -rwxr-xr-x 1 root root 990 Aug 17 10:15 librinajsoncpp.la lrwxrwxrwx 1 root root 23 Aug 17 10:15 librinajsoncpp.so -> librinajsoncpp.so.0.0.0 lrwxrwxrwx 1 root root 23 Aug 17 10:15 librinajsoncpp.so.0 -> librinajsoncpp.so.0.0.0 -rwxr-xr-x 1 root root 1210448 Aug 17 10:15 librinajsoncpp.so.0.0.0 -rwxr-xr-x 1 root root 1045 Aug 17 10:15 librina.la lrwxrwxrwx 1 root root 16 Aug 17 10:15 librina.so -> librina.so.0.0.0 lrwxrwxrwx 1 root root 16 Aug 17 10:15 librina.so.0 -> librina.so.0.0.0 -rwxr-xr-x 1 root root 11457376 Aug 17 10:15 librina.so.0.0.0

srb@razzy4:~ $ grep rinacat configlog config.status: creating src/rinacat/Makefile Making install in rinacat make[4]: Entering directory '/home/srb/stack/build/rina-tools/src/rinacat' gcc -DHAVE_CONFIG_H -I. -I/home/srb/stack/rina-tools/src/rinacat -I../../src -std=gnu11 -pthread -I/usr/local/include -I/home/srb/stack/rina-tools/src/rinacat/../common -g -O2 -MT rinacat-rinacat.o -MD -MP -MF .deps/rinacat-rinacat.Tpo -c -o rinacat-rinacat.o test -f 'rinacat.c' || echo '/home/srb/stack/rina-tools/src/rinacat/'rinacat.c mv -f .deps/rinacat-rinacat.Tpo .deps/rinacat-rinacat.Po /bin/bash ../../libtool --tag=CC --mode=link gcc -std=gnu11 -pthread -I/usr/local/include -I/home/srb/stack/rina-tools/src/rinacat/../common -g -O2 -o rinacat rinacat-rinacat.o -L/usr/local/lib -lrina -lprotobuf -pthread -lrt -lrina-api libtool: link: gcc -std=gnu11 -pthread -I/usr/local/include -I/home/srb/stack/rina-tools/src/rinacat/../common -g -O2 -o rinacat rinacat-rinacat.o -pthread -L/usr/local/lib /usr/local/lib/librina.so -lprotobuf -lrt /usr/local/lib/librina-api.so -pthread make[5]: Entering directory '/home/srb/stack/build/rina-tools/src/rinacat' /bin/bash ../../libtool --mode=install /usr/bin/install -c rinacat '/usr/local/bin' libtool: install: /usr/bin/install -c rinacat /usr/local/bin/rinacat make[5]: Leaving directory '/home/srb/stack/build/rina-tools/src/rinacat' make[4]: Leaving directory '/home/srb/stack/build/rina-tools/src/rinacat' Making installcheck in rinacat make[3]: Entering directory '/home/srb/stack/build/rina-tools/src/rinacat' bad=0; pid=$$; list="rinacat"; for p in $list; do \ case ' rinacat ' in \ " $p " | " /home/srb/stack/rina-tools/src/rinacat/$p ") continue;; \ make[3]: Leaving directory '/home/srb/stack/build/rina-tools/src/rinacat' srb@razzy4:~ $

srb@sdr2:~$ rinacat --help

rinacat: error while loading shared libraries: librina-api.so.0: cannot open shared object file: No such file or directory srb@sdr2:~$ which rinacat /usr/local/bin/rinacat srb@sdr2:~$ ldd /usr/local/bin/rinacat linux-vdso.so.1 (0x00007ffc5f7f8000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f77f0bc8000) librina-api.so.0 => not found libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f77f07d7000) /lib64/ld-linux-x86-64.so.2 (0x00007f77f0fed000) srb@sdr2:~$ ls -l /usr/local/bin/rinacat -rwxr-xr-x 1 root root 61648 Aug 17 15:45 /usr/local/bin/rinacat srb@sdr2:~$ uname -a Linux sdr2 4.15.0-153-generic #160-Ubuntu SMP Thu Jul 29 06:54:29 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux srb@sdr2:~$ c++ --version c++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

srb@sdr2:~$ cc --version cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

srb@sdr2:~$ ls -l /usr/local/lib total 68732 -rw-r--r-- 1 root root 26634144 Aug 17 15:41 librina.a -rw-r--r-- 1 root root 180514 Aug 17 15:41 librina-api.a -rwxr-xr-x 1 root root 1099 Aug 17 15:41 librina-api.la lrwxrwxrwx 1 root root 20 Aug 17 15:41 librina-api.so -> librina-api.so.0.0.0 lrwxrwxrwx 1 root root 20 Aug 17 15:41 librina-api.so.0 -> librina-api.so.0.0.0 -rwxrwxr-x 1 root root 110120 Aug 17 15:41 librina-api.so.0.0.0 -rw-r--r-- 1 root root 19434314 Aug 17 15:41 librinad.a -rwxr-xr-x 1 root root 1106 Aug 17 15:41 librinad.la lrwxrwxrwx 1 root root 17 Aug 17 15:41 librinad.so -> librinad.so.0.0.0 lrwxrwxrwx 1 root root 17 Aug 17 15:41 librinad.so.0 -> librinad.so.0.0.0 -rwxr-xr-x 1 root root 8126456 Aug 17 15:41 librinad.so.0.0.0 -rw-r--r-- 1 root root 367244 Aug 17 15:41 librinairati.a -rwxr-xr-x 1 root root 976 Aug 17 15:41 librinairati.la lrwxrwxrwx 1 root root 21 Aug 17 15:41 librinairati.so -> librinairati.so.0.0.0 lrwxrwxrwx 1 root root 21 Aug 17 15:41 librinairati.so.0 -> librinairati.so.0.0.0 -rwxr-xr-x 1 root root 245464 Aug 17 15:41 librinairati.so.0.0.0 -rw-r--r-- 1 root root 2391794 Aug 17 15:41 librinajsoncpp.a -rwxr-xr-x 1 root root 990 Aug 17 15:41 librinajsoncpp.la lrwxrwxrwx 1 root root 23 Aug 17 15:41 librinajsoncpp.so -> librinajsoncpp.so.0.0.0 lrwxrwxrwx 1 root root 23 Aug 17 15:41 librinajsoncpp.so.0 -> librinajsoncpp.so.0.0.0 -rwxr-xr-x 1 root root 1047640 Aug 17 15:41 librinajsoncpp.so.0.0.0 -rwxr-xr-x 1 root root 1045 Aug 17 15:41 librina.la lrwxrwxrwx 1 root root 16 Aug 17 15:41 librina.so -> librina.so.0.0.0 lrwxrwxrwx 1 root root 16 Aug 17 15:41 librina.so.0 -> librina.so.0.0.0 -rwxr-xr-x 1 root root 11795568 Aug 17 15:41 librina.so.0.0.0

TRIA commented 3 years ago

Adding build information for rinacat from x86 machine sdr2:

$ grep rinacat configlog config.status: creating src/rinacat/Makefile Making install in rinacat make[4]: Entering directory '/stack/build/rina-tools/src/rinacat' gcc -DHAVE_CONFIG_H -I. -I/stack/rina-tools/src/rinacat -I../../src -std=gnu11 -pthread -I/usr/local/include -I/stack/rina-tools/src/rinacat/../common -g -O2 -MT rinacat-rinacat.o -MD -MP -MF .deps/rinacat-rinacat.Tpo -c -o rinacat-rinacat.o test -f 'rinacat.c' || echo '/stack/rina-tools/src/rinacat/'rinacat.c mv -f .deps/rinacat-rinacat.Tpo .deps/rinacat-rinacat.Po /bin/bash ../../libtool --tag=CC --mode=link gcc -std=gnu11 -pthread -I/usr/local/include -I/stack/rina-tools/src/rinacat/../common -g -O2 -o rinacat rinacat-rinacat.o -L/usr/local/lib -lrina -lprotobuf -pthread -lpthread -lrt -lrina-api libtool: link: gcc -std=gnu11 -pthread -I/usr/local/include -I/stack/rina-tools/src/rinacat/../common -g -O2 -o rinacat rinacat-rinacat.o -pthread -L/usr/local/lib /usr/local/lib/librina.so -lprotobuf -lpthread -lrt /usr/local/lib/librina-api.so -pthread make[5]: Entering directory '/stack/build/rina-tools/src/rinacat' /bin/bash ../../libtool --mode=install /usr/bin/install -c rinacat '/usr/local/bin' libtool: install: /usr/bin/install -c rinacat /usr/local/bin/rinacat make[5]: Leaving directory '/stack/build/rina-tools/src/rinacat' make[4]: Leaving directory '/stack/build/rina-tools/src/rinacat' Making installcheck in rinacat make[3]: Entering directory '/stack/build/rina-tools/src/rinacat' bad=0; pid=$$; list="rinacat"; for p in $list; do \ case ' rinacat ' in \ " $p " | " /stack/rina-tools/src/rinacat/$p ") continue;; \ make[3]: Leaving directory '/stack/build/rina-tools/src/rinacat' srb@sdr2:~$