I have been spending a few days compiling Scilab 6.1.0 git on my Ubuntu 19.10 arm64 OS running inside a proot container.
After patching for the newer jogl2 packages and getting a few more extra dependencies I have managed to configure and make up to this point:
make[1]: Entering directory '/opt/Scilab/scilab/scilab'
/bin/bash ./libtool --tag=CXX --mode=link g++ -std=c++17 -DNDEBUG -g1 -O2 -fno-stack-protector -lstdc++ -lgfortran -Wl,--no-as-needed -o scilab-bin modules/startup/src/cpp/scilab_bin-scilab.o ./modules/libscilab.la ./modules/libscilab-cli.la -lxml2 -L/usr/lib/aarch64-linux-gnu/valgrind -lcoregrind-arm64-linux -lvex-arm64-linux -lgcc -L/usr/lib/gcc/aarch64-linux-gnu/9 -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/9/../../.. -lpthread -ldl -lcurses -lgfortran -lm ./modules/console/libsciconsole.la ./modules/jvm/libscijvm.la ./modules/commons/libscicommons.la ./modules/libscilab.la -lopenblas -L/usr/lib/gcc/aarch64-linux-gnu/9 -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/aarch64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/9/../../.. -lpthread -ldl -lcurses -lgfortran -lm -lpthread -ldl -lcurses -lm
libtool: link: g++ -std=c++17 -DNDEBUG -g1 -O2 -fno-stack-protector -Wl,--no-as-needed -o .libs/scilab-bin modules/startup/src/cpp/scilab_bin-scilab.o -lstdc++ -L/usr/lib/jvm/java-8-openjdk-arm64/jre/lib/aarch64 -L/usr/lib/jvm/java-8-openjdk-arm64/jre/lib/aarch64/server -L/usr/lib/aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/9 -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu -L/usr/lib/gcc/aarch64-linux-gnu/9/../../../../lib -L/lib/aarch64-linux-gnu -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/aarch64-linux-gnu/9/../../.. ./modules/.libs/libscilab-cli.so -L/usr/lib/aarch64-linux-gnu/valgrind -lcoregrind-arm64-linux -lvex-arm64-linux -lgcc ./modules/console/.libs/libsciconsole.so ./modules/jvm/.libs/libscijvm.so ./modules/commons/.libs/libscicommons.so ./modules/.libs/libscilab.so /opt/Scilab/scilab/scilab/modules/gui/.libs/libscigui.so /opt/Scilab/scilab/scilab/modules/renderer/.libs/libscirenderer.so /opt/Scilab/scilab/scilab/modules/graphics/.libs/libscigraphics.so /opt/Scilab/scilab/scilab/modules/graphic_export/.libs/libscigraphic_export.so /opt/Scilab/scilab/scilab/modules/console/.libs/libsciconsole.so /opt/Scilab/scilab/scilab/modules/action_binding/.libs/libsciaction_binding.so /opt/Scilab/scilab/scilab/modules/graphic_objects/.libs/libscigraphic_objects.so /opt/Scilab/scilab/scilab/modules/scinotes/.libs/libsciscinotes.so /opt/Scilab/scilab/scilab/modules/ui_data/.libs/libsciui_data.so /opt/Scilab/scilab/scilab/modules/history_browser/.libs/libscihistory_browser.so /opt/Scilab/scilab/scilab/modules/types/.libs/libscitypes-java.so /opt/Scilab/scilab/scilab/modules/preferences/.libs/libscipreferences.so /opt/Scilab/scilab/scilab/modules/external_objects_java/.libs/libsciexternal_objects_java.so /opt/Scilab/scilab/scilab/modules/jvm/.libs/libscijvm.so -ljava -lverify -ljvm /opt/Scilab/scilab/scilab/modules/helptools/.libs/libscihelptools.so /opt/Scilab/scilab/scilab/modules/commons/.libs/libscicommons.so /opt/Scilab/scilab/scilab/modules/tclsci/.libs/libscitclsci.so -ltk8.6 -ltcl8.6 /opt/Scilab/scilab/scilab/modules/.libs/libscilab-cli.so /usr/lib/aarch64-linux-gnu/libcurl-gnutls.so /opt/Scilab/scilab/scilab/modules/functions/.libs/libscifunctions.so /opt/Scilab/scilab/scilab/modules/call_scilab/.libs/libscicall_scilab.so /opt/Scilab/scilab/scilab/modules/localization/.libs/libscilocalization.so /opt/Scilab/scilab/scilab/modules/special_functions/.libs/libscispecial_functions.so /opt/Scilab/scilab/scilab/modules/completion/.libs/libscicompletion.so /opt/Scilab/scilab/scilab/modules/history_manager/.libs/libscihistory_manager.so -lpcreposix -lpcre /opt/Scilab/scilab/scilab/modules/hdf5/.libs/libscihdf5.so -lhdf5_serial -lhdf5_serial_hl -lfftw3 /opt/Scilab/scilab/scilab/modules/statistics/.libs/libscistatistics.so /opt/Scilab/scilab/scilab/modules/ast/.libs/libsciast.so /opt/Scilab/scilab/scilab/modules/functions_manager/.libs/libscifunctions_manager.so /opt/Scilab/scilab/scilab/modules/xml/.libs/libscixml.so /opt/Scilab/scilab/scilab/modules/external_objects/.libs/libsciexternal_objects.so /opt/Scilab/scilab/scilab/modules/slint/.libs/libscislint.so /opt/Scilab/scilab/scilab/modules/coverage/.libs/libscicoverage.so -lxml2 /opt/Scilab/scilab/scilab/modules/gui/.libs/libscigui-disable.so /opt/Scilab/scilab/scilab/modules/graphics/.libs/libscigraphics-disable.so /opt/Scilab/scilab/scilab/modules/graphic_export/.libs/libscigraphic_export-disable.so /opt/Scilab/scilab/scilab/modules/console/.libs/libsciconsole-minimal.so /opt/Scilab/scilab/scilab/modules/action_binding/.libs/libsciaction_binding-disable.so /opt/Scilab/scilab/scilab/modules/jvm/.libs/libscijvm-disable.so /opt/Scilab/scilab/scilab/modules/xcos/.libs/libscixcos-disable.so /opt/Scilab/scilab/scilab/modules/graphic_objects/.libs/libscigraphic_objects-disable.so /opt/Scilab/scilab/scilab/modules/scinotes/.libs/libsciscinotes-disable.so /opt/Scilab/scilab/scilab/modules/ui_data/.libs/libsciui_data-disable.so /opt/Scilab/scilab/scilab/modules/history_browser/.libs/libscihistory_browser-disable.so /opt/Scilab/scilab/scilab/modules/commons/.libs/libscicommons-disable.so /opt/Scilab/scilab/scilab/modules/preferences/.libs/libscipreferences-cli.so /opt/Scilab/scilab/scilab/modules/tclsci/.libs/libscitclsci-disable.so -lstdc++fs -lopenblas -lgfortran -lpthread -ldl -lcurses -lm -pthread -Wl,-rpath -Wl,/usr/local/lib/scilab
/bin/ld: /usr/lib/aarch64-linux-gnu/valgrind/libcoregrind-arm64-linux.a(libnolto_coregrind_arm64_linux_a-m_main.o): in function `_start':
(.text+0x0): multiple definition of `_start'; /usr/lib/gcc/aarch64-linux-gnu/9/../../../aarch64-linux-gnu/Scrt1.o:(.text+0x0): first defined here
/bin/ld: /usr/lib/aarch64-linux-gnu/valgrind/libcoregrind-arm64-linux.a(libnolto_coregrind_arm64_linux_a-m_main.o): in function `valgrind_main':
(.text+0x18ac): undefined reference to `vgPlain_tl_pre_clo_init'
/bin/ld: (.text+0x18b0): undefined reference to `vgPlain_tl_pre_clo_init'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:1216: scilab-bin] Error 1
make[1]: Leaving directory '/opt/Scilab/scilab/scilab'
make: *** [Makefile:1608: all-recursive] Error 1
I have installed the latest Valgrind for my distro, version 1:3.15.0-1ubuntu3.1.
Anyone can enlighten me why it's failing with undefined reference to vgPlain_tl_pre_clo_init? I can't directly access the valgrind main class either. My only guess is either my valgrind is to old or new.
I know scilab 6.0.1 works on ubuntu 20 on arm64 so I dont think its an architecture limitation. Have compiled openfoam, elmerfem, gmsh, getdp, freecad, paraview and su2 no issues, so what am I missing for scilab?