Problem in installing root from source


I’m trying to compile root from source (there is no ubuntu binary for arm, that is what I need), but after the command

cmake --build . --target install -j4

at 78% the process stops and show this error message:
“/usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o: in function TPRegexp::operator=(TPRegexp const&)': TPRegexp.cxx:(.text+0x34): undefined reference to pcre_free’
/usr/bin/ld: TPRegexp.cxx:(.text+0x38): undefined reference to pcre_free' /usr/bin/ld: TPRegexp.cxx:(.text+0x54): undefined reference to pcre_free’
/usr/bin/ld: TPRegexp.cxx:(.text+0x58): undefined reference to pcre_free' /usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o: in function TPRegexp::Optimize()‘:
TPRegexp.cxx:(.text+0x1dc): undefined reference to pcre_free' /usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o:TPRegexp.cxx:(.text+0x1e0): more undefined references to pcre_free’ follow
/usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o: in function TPRegexp::Optimize()': TPRegexp.cxx:(.text+0x224): undefined reference to pcre_study’
/usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o: in function TPRegexp::MatchInternal(TString const&, int, int, TArrayI*) const': TPRegexp.cxx:(.text+0x30c): undefined reference to pcre_exec’
/usr/bin/ld: TPRegexp.cxx:(.text+0x370): undefined reference to pcre_exec' /usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o: in function TPRegexp::~TPRegexp()‘:
TPRegexp.cxx:(.text+0x834): undefined reference to pcre_free' /usr/bin/ld: TPRegexp.cxx:(.text+0x838): undefined reference to pcre_free’
/usr/bin/ld: TPRegexp.cxx:(.text+0x850): undefined reference to pcre_free' /usr/bin/ld: TPRegexp.cxx:(.text+0x854): undefined reference to pcre_free’
/usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o: in function TPRegexp::Compile()': TPRegexp.cxx:(.text+0xa1c): undefined reference to pcre_free’
/usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o:TPRegexp.cxx:(.text+0xa20): more undefined references to pcre_free' follow /usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o: in function TPRegexp::Compile()‘:
TPRegexp.cxx:(.text+0xa84): undefined reference to pcre_compile' /usr/bin/ld: CMakeFiles/Core.dir/base/src/TPRegexp.cxx.o: in function TPRegexp::SubstituteInternal(TString&, TString const&, int, int, bool) const’:
TPRegexp.cxx:(.text+0x1020): undefined reference to `pcre_exec’
collect2: error: ld returned 1 exit status
make[2]: *** [core/CMakeFiles/Core.dir/build.make:2885: lib/libCore.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:39098: core/CMakeFiles/Core.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…
– clad build command succeeded. See also /home/camillaberti/builddir/interpreter/cling/tools/plugins/clad/clad-prefix/src/clad-stamp/clad-build-*.log”

I checked and the library PCRE is installed and correctly found by cmake apparently (I also tried to explictly state the path with the options -DPCRE_LIBRARY=/usr/lib/aarch64-linux-gnu/libpcre.so -DPCRE_INCLUDE_DIR=/usr/include) and I don’t know anymore what to do:(
Glad if someone can help :slight_smile:
_ROOT Version:_v6.32.04
Platform: Microsoft surface pro x
_Compiler:_gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0


Hi Camilla,

Sorry to read you encountered this issue.

Indeed you are right, at the moment we provide binaries for Apple Silicon architectures but we do not integrate nor provide binaries for ARM platforms.

My immediate suggestion would be to try the builtin pcre package, by configuring with the -Dbuiltin_pcre=ON CMake command line argument.

Cheers,
D

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.