0

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?

  • The auto suggest topic that this was marked as duplicate didn't really help. – CuriousBit0110 Sep 10 '20 at 01:03
  • Actually, the **first error** you got is `multiple definition of `_start'` one, not the one about `undefined reference to`. It really looks like some sort of incompatibility between you valgrind and the compiler libraries. – Tsyvarev Sep 11 '20 at 12:29
  • @Tsyvarev is the multiple definition of _start part of the valgrind issue too? Scilab website said as long as you have any recent release of gcc and valgrind you should be okay. The config file didn't show any error either. – CuriousBit0110 Sep 11 '20 at 23:34

0 Answers0