AdamVStephen / my-dockers

Mix of Dockerfiles and pointers to docker containers I have pushed to hub.docker.com for testing and dev.
MIT License
1 stars 2 forks source link

build-sources.sh fails on Ubuntu 22.04 #20

Open AdamVStephen opened 8 months ago

AdamVStephen commented 8 months ago

Main branch at commit 9a6a210f has an updated install-packages.sh for ubuntu 22.04. After running install-packages.sh and install-source-dependencies.sh the build-sources.sh script bailed building SDN_1.0.12_nonCCS with several errors

1) open62541 does not appear to contain CMakeLists.txt 2) epics-base-7.0.2 : No such file or directory 3) MARTe2-sigtools/MARTe2-dev/MakeDefaults/MakeStdLibRules.gcc-dynamic: No such file or directory 4) SDN_1.0.12_nonCCS svnversion not found 5) Compiling SDN any-object.cpp error in ../include/net-tools.h:204 ordered comparison of pointer with integer zero (Handle < 0)

AdamVStephen commented 8 months ago

The working location is a VirtualBox fresh Ubuntu 22.04 installation.

In respect of sub-issue (2) - the git clone of github.com/epics-base appears to have failed. Repeating the clone command interactively has no error. Perhaps attribute this to a temporary network issue and note a need to make the build process both self contained and to keep a log of all of the standard output - possibly using tmux.

Second comment is on the use of the scripts interactively (outside of a Dockerfile).

The environment as set up having run the installation as follows

/install-source-dependencies.sh /home/astephen/dev/MARTe2_20231026/ ./build-sources.sh/home/astephen/dev/MARTe2_20231026/

has

SCRIPT_DIR=/home/astephen/my-dockers/MARTe2
MARTe2_Demos_Sigtools_DIR=/home/astephen/MARTe2-sigtools/MARTe2-demos-sigtools/
PWD=/home/astephen/github.com/my-dockers/MARTe2
MARTe2_Components_DIR=/home/astephen/MARTe2-sigtools/MARTe2-components
MARTe2_CONFIG_PATH=/home/astephen/MARTe2-sigtools/MARTe2-demos-sigtools//Configurations
SCRIPT_REALPATH=/home/astephen/my-dockers/MARTe2/setenv.sh
MARTe2_DIR=/home/astephen/MARTe2-sigtools/MARTe2-dev
MARTe2_Sigtools_Dependencies_Installed_File=/home/astephen/MARTe2-sigtools/marte2-sigtools.deps.installed
LD_LIBRARY_PATH=:/home/astephen/MARTe2-sigtools/MARTe2-dev/Build/x86-linux/Core/:/home/astephen/epics-base-7.0.6/lib/linux-x86_64:/home/astephen/SDN_1.0.12_nonCCS/target/lib/
MARTe2_Sigtools_Repos_Installed_File=/home/astephen/MARTe2-sigtools/marte2-sigtools.repos.installed
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/astephen/my-dockers/MARTe2:/home/astephen/epics-base-7.0.6/bin/linux-x86_64
MARTe2_PROJECT_ROOT=/home/astephen/MARTe2-sigtools

This has been established through setenv.sh which is NOT invoked by install-source-dependencies.sh.

In a fresh shell without this, we attempt the following repairs

(1) Clone the epics repository so that the build directory is populated as if the install-source-dependencies.sh had worked. (2) Repeat the build : by inspection, this will fail because the symbolic link set up for the OPCUA is broken. (3) Note that issue 3 is to do with the polluted environment which will have the MARTe2 build seeking build files in the wrong location. (4) The absence of svnversion is explained by the failure to install this in the install-dependencies script. (5) The SDN build error could be that on 22.04 the default version of gcc is 11.4.0.