Installing ROOT6 on AArch64

Hi all

I have a simple question. Ive checked that building ROOT6 in a linuxarm64 is still in preparation. What are the plans for such architecture? I really need ROOT6 because I plan to implement a fully parallelized code in the easiest way.

I am asking because I would like to install ROOT6 in a Jetson TK1 development board, and before starting the whole thing I would like to be sure that it can be done.

Thank you very much in advance!
Y.

Hi Francesc,
Building ROOT6 on AArch64 should work (modulo a hand full of tests that we are currently debugging). Please use the CMake build for this.
Pere

Hi Pere

Thank you again for your help. I will test it and report any useful information. As you may imagine I want to make use of CUDA if thats possible.

Gracies! :slight_smile:

Dear all:

As expected, I failed :slight_smile:.

The first problem I encountered is with the free type library:

*** [graf2d/freetype/freetype-2.3.12/objs/.libs/libfreetype.a] Error 2

Since it was not very clear to me I decided to disable it in the CMake configuration.

Then everything was ok until I built cling. This is essentially the error, with a beautiful segmentation fault:

...
Linking CXX executable ../../bin/rootcling
[ 54%] Built target rootcling
Scanning dependencies of target G__Matrix
Scanning dependencies of target G__Hist
Scanning dependencies of target G__MathCore
Scanning dependencies of target G__Minuit
Scanning dependencies of target G__Tree
Scanning dependencies of target G__Net
Scanning dependencies of target G__Fumili
Scanning dependencies of target G__TMVA
[ 54%] [ 54%] [ 54%] Generating G__Hist.cxx, ../../lib/libHist_rdict.pcm, ../../lib/libHist.rootmap
[ 54%] [ 55%] [ 55%] Generating G__Minuit.cxx, ../../lib/libMinuit_rdict.pcm, ../../lib/libMinuit.rootmap
[ 55%] Generating G__Matrix.cxx, ../../lib/libMatrix_rdict.pcm, ../../lib/libMatrix.rootmap
Generating G__Net.cxx, ../../lib/libNet_rdict.pcm, ../../lib/libNet.rootmap
[ 55%] Generating G__Fumili.cxx, ../../lib/libFumili_rdict.pcm, ../../lib/libFumili.rootmap
Generating G__MathCore.cxx, ../../lib/libMathCore_rdict.pcm, ../../lib/libMathCore.rootmap
Generating G__TMVA.cxx, ../../lib/libTMVA_rdict.pcm, ../../lib/libTMVA.rootmap
Generating G__Tree.cxx, ../../lib/libTree_rdict.pcm, ../../lib/libTree.rootmap
Error in <TInterpreter::InspectMembers>: TClass and cling disagree on the size of the class TString, respectively 16 24

Error in <TInterpreter::InspectMembers>: TClass and cling disagree on the size of the class TString, respectively 16 24

Error in <TInterpreter::InspectMembers>: TClass and cling disagree on the size of the class TNamed, respectively 44 64

...
...
** Break *** segmentation violation
[ 55%] Built target G__Minuit
Scanning dependencies of target G__Physics
[ 55%] Generating G__Physics.cxx, ../../lib/libPhysics_rdict.pcm, ../../lib/libPhysics.rootmap
[ 55%] Built target G__Net
Scanning dependencies of target G__MLP
[ 55%] [ 55%] Built target G__Tree
Generating G__MLP.cxx, ../../lib/libMLP_rdict.pcm, ../../lib/libMLP.rootmap
Scanning dependencies of target G__Quadp
[ 55%] Generating G__Quadp.cxx, ../../lib/libQuadp_rdict.pcm, ../../lib/libQuadp.rootmap
[ 55%] Built target G__Matrix
Scanning dependencies of target G__Foam
[ 55%] Generating G__Foam.cxx, ../../lib/libFoam_rdict.pcm, ../../lib/libFoam.rootmap
Error in <TInterpreter::InspectMembers>: TClass and cling disagree on the size of the class TObjArray, respectively 48 64

Error in <TInterpreter::InspectMembers>: TClass and cling disagree on the size of the class TSeqCollection, respectively 36 48

Error in <TInterpreter::InspectMembers>: TClass and cling disagree on the size of the class TCollection, respectively 32 48

I am trying to build root 6.04.14 with gcc 4.8 (I believe).

Any hint will be helpful!

Thank you in advance!
Y.

Just in case is helpful, the Cmake output

-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- A system not supported by Vc, aarch64, was detected. Disabling Vc by default.
-- The Fortran compiler identification is GNU
-- Check for working Fortran compiler: /usr/bin/gfortran
-- Check for working Fortran compiler: /usr/bin/gfortran  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/gfortran supports Fortran 90
-- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
-- Found GCC. Major version 4, minor version 8
-- Performing Test HAS_CXX11
-- Performing Test HAS_CXX11 - Success
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found a 64bit system
-- Found GNU compiler collection
-- ROOT Platform: linux
-- ROOT Architecture: linuxarm64
-- Build Type: RelWithDebInfo
-- Compiler Flags:  -pipe  -Wall -W -Woverloaded-virtual -fsigned-char -fPIC -pthread -std=c++11 -Wno-deprecated-declarations -O2 -g -DNDEBUG
-- Looking for ZLib
-- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.8") 
-- Looking for Freetype
-- checking for module 'freetype2'
--   found freetype2, version 17.1.11
-- Found Freetype: /usr/lib/arm-linux-gnueabihf/libfreetype.so (found version "17.1.11") 
-- Looking for PCRE
-- Found PCRE version 8.31 using /usr/bin/pcre-config
-- Looking for LZMA
-- Found LZMA includes at /usr/include
-- Found LZMA library at /usr/lib/arm-linux-gnueabihf/liblzma.so
-- Looking for X11
-- Looking for XOpenDisplay in /usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so
-- Looking for XOpenDisplay in /usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/arm-linux-gnueabihf/libX11.so
-- X11_INCLUDE_DIR: /usr/include
-- X11_LIBRARIES: /usr/lib/arm-linux-gnueabihf/libSM.so;/usr/lib/arm-linux-gnueabihf/libICE.so;/usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so
-- X11_Xpm_INCLUDE_PATH: /usr/include
-- X11_Xpm_LIB: /usr/lib/arm-linux-gnueabihf/libXpm.so
-- X11_Xft_INCLUDE_PATH: /usr/include
-- X11_Xft_LIB: /usr/lib/arm-linux-gnueabihf/libXft.so
-- X11_Xext_INCLUDE_PATH: 
-- X11_Xext_LIB: /usr/lib/arm-linux-gnueabihf/libXext.so
-- Could NOT find GIF (missing:  GIF_LIBRARY GIF_INCLUDE_DIR) 
-- Found TIFF: /usr/lib/arm-linux-gnueabihf/libtiff.so (found version "4.0.3") 
-- Found PNG: /usr/lib/arm-linux-gnueabihf/libpng.so (found version "1.2.50") 
-- Found JPEG: /usr/lib/arm-linux-gnueabihf/libjpeg.so  
-- Looking for GSL
-- Found GSL: /usr/include (found suitable version "1.16", minimum required is "1.10") 
-- Looking for Python
-- Found PythonInterp: /usr/bin/python (found version "2.7.6") 
-- Found Python interpreter version 2.7
-- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython2.7.so (found version "2.7.6") 
-- Looking for OpenGL
-- Found OpenGL: /usr/lib/arm-linux-gnueabihf/libGL.so  
-- Looking for Graphviz
-- Found GRAPHVIZ: /usr/include  
-- Looking for Bonjour
-- Checking whether Bonjour/Avahi is supported
-- Looking for Kerberos 5
-- Found KRB5: /usr/lib/arm-linux-gnueabihf/libkrb5.so  
-- Looking for LibXml2
-- Found LibXml2: /usr/lib/arm-linux-gnueabihf/libxml2.so (found version "2.9.1") 
-- Looking for OpenSSL
-- Found OpenSSL: /usr/lib/arm-linux-gnueabihf/libssl.so;/usr/lib/arm-linux-gnueabihf/libcrypto.so (found version "1.0.1f") 
-- Looking for Castor
-- Castor not found. Switching off castor/rfio option
-- Looking for MySQL
-- Found MYSQL: /usr/include/mysql  
-- Looking for Oracle
-- Oracle not found.
-- Oracle: You can specify includes: -DORACLE_PATH_INCLUDES=/usr/include/oracle/10.2.0.3/client
--    currently found includes: 
-- Oracle: You can specify libs: -DORACLE_PATH_LIB=/usr/lib/oracle/10.2.0.3/client/lib
--    currently found libs: ORACLE_LIBRARY_OCCI-NOTFOUND;ORACLE_LIBRARY_CLNTSH-NOTFOUND;ORACLE_LIBRARY_LNNZ-NOTFOUND
-- Oracle not found. Switching off oracle option
-- Looking for ODBC
-- ODBC not found. Switching off odbc option
-- Looking for PostgreSQL
-- Could NOT find PostgreSQL (missing:  POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES) 
-- PostgreSQL not found. Switching off pgsql option
-- Looking for SQLite
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") 
-- Could NOT find Sqlite (missing:  SQLITE_INCLUDE_DIR SQLITE_LIBRARIES) 
-- SQLite not found. Switching off sqlite option
-- Looking for Pythia6
-- Pythia6 not found. Switching off pythia6 option
-- Looking for Pythia8
-- Could NOT find Pythia8 (missing:  PYTHIA8_INCLUDE_DIR PYTHIA8_LIBRARY) 
-- Pythia8 not found. Switching off pythia8 option
-- Looking for FFTW3
-- Found fftw3 includes at /usr/include
-- Found fftw3 library at /usr/lib/arm-linux-gnueabihf/libfftw3.so
-- Looking for CFITSIO
-- Found CFITSIO: /usr/include  
-- Found CFITSIO version: 3.34
-- Alien API not found. Set variable ALIEN_DIR to point to your Alien installation
-- For the time being switching OFF 'alien' option
-- Monalisa not found. Set variable MONALISA_DIR to point to your Monalisa installation
-- For the time being switching OFF 'monalisa' option
-- Looking for XROOTD
-- XROOTD not found. Set environment variable XRDSYS to point to your XROOTD installation
--                   Alternatively, you can also enable the option 'builtin_xrootd' to build XROOTD  internally'
--                   For the time being switching OFF 'xrootd' option
-- Could NOT find GFAL (missing:  GFAL_INCLUDE_DIR SRM_IFCE_INCLUDE_DIR GFAL_LIBRARIES) 
-- GFAL library not found. Set variable GFAL_DIR to point to your gfal installation
                      and the variable SRM_IFCE_DIR to the srm_ifce installation
-- For the time being switching OFF 'gfal' option
-- Could NOT find DCAP (missing:  DCAP_INCLUDE_DIR DCAP_LIBRARY) 
-- dCap library not found. Set variable DCAP_DIR to point to your dCache installation
-- For the time being switching OFF 'dcache' option
-- Found LDAP: /usr/include  
-- Could NOT find CHIRP (missing:  CHIRP_INCLUDE_DIR CHIRP_LIBRARY) 
-- chirp library not found. Set variable CHIRP_DIR to point to your chirp installation
-- For the time being switching OFF 'chirp' option
-- Could NOT find HDFS (missing:  HDFS_INCLUDE_DIR HDFS_LIBRARY) 
-- hdfs library not found. Set variable HDFS_DIR to point to your hdfs installation
-- For the time being switching OFF 'hdfs' option
-- Looking for DAVIX
-- Could NOT find DAVIX (missing:  DAVIX_INCLUDE_DIRS DAVIX_LIBRARIES) 
-- Davix not found. You can enable the option 'builtin_davix' to build the library internally'
--                  For the time being switching off 'davix' option
-- >>> Option 'glite' not implemented yet! Signal your urgency to pere.mato@cern.ch
-- >>> Option 'sapdb' not implemented yet! Signal your urgency to pere.mato@cern.ch
-- >>> Option 'srp' not implemented yet! Signal your urgency to pere.mato@cern.ch
-- Enabled support for:  asimage astiff bonjour builtin_afterimage builtin_ftgl builtin_glew builtin_llvm cxx11 cling exceptions explicitlink fftw3 fitsio fortran gviz genvector krb5 ldap mathmore memstat mysql opengl pch python shadowpw shared ssl thread tmva vdt xft xml x11
-- Performing Test CXX_HAS_fvisibility_hidden
-- Performing Test CXX_HAS_fvisibility_hidden - Success
-- Looking for dirent.h
-- Looking for dirent.h - found
-- Looking for dlfcn.h
-- Looking for dlfcn.h - found
-- Looking for errno.h
-- Looking for errno.h - found
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for limits.h
-- Looking for limits.h - found
-- Looking for link.h
-- Looking for link.h - found
-- Looking for malloc.h
-- Looking for malloc.h - found
-- Looking for malloc/malloc.h
-- Looking for malloc/malloc.h - not found
-- Looking for ndir.h
-- Looking for ndir.h - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for signal.h
-- Looking for signal.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for sys/dir.h
-- Looking for sys/dir.h - found
-- Looking for sys/ioctl.h
-- Looking for sys/ioctl.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for sys/ndir.h
-- Looking for sys/ndir.h - not found
-- Looking for sys/param.h
-- Looking for sys/param.h - found
-- Looking for sys/resource.h
-- Looking for sys/resource.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/uio.h
-- Looking for sys/uio.h - found
-- Looking for sys/wait.h
-- Looking for sys/wait.h - found
-- Looking for termios.h
-- Looking for termios.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for utime.h
-- Looking for utime.h - found
-- Looking for valgrind/valgrind.h
-- Looking for valgrind/valgrind.h - not found
-- Looking for zlib.h
-- Looking for zlib.h - found
-- Looking for fenv.h
-- Looking for fenv.h - found
-- Looking for FE_ALL_EXCEPT
-- Looking for FE_ALL_EXCEPT - found
-- Looking for FE_INEXACT
-- Looking for FE_INEXACT - found
-- Looking for mach/mach.h
-- Looking for mach/mach.h - not found
-- Looking for mach-o/dyld.h
-- Looking for mach-o/dyld.h - not found
-- Looking for histedit.h
-- Looking for histedit.h - not found
-- Performing Test HAVE_CXXABI_H
-- Performing Test HAVE_CXXABI_H - Success
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for pthread_getspecific in pthread
-- Looking for pthread_getspecific in pthread - found
-- Looking for pthread_rwlock_init in pthread
-- Looking for pthread_rwlock_init in pthread - found
-- Looking for pthread_mutex_lock in pthread
-- Looking for pthread_mutex_lock in pthread - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for compress2 in z
-- Looking for compress2 in z - found
-- Looking for setupterm in tinfo
-- Looking for setupterm in tinfo - not found
-- Looking for setupterm in terminfo
-- Looking for setupterm in terminfo - not found
-- Looking for setupterm in curses
-- Looking for setupterm in curses - not found
-- Looking for setupterm in ncurses
-- Looking for setupterm in ncurses - not found
-- Looking for setupterm in ncursesw
-- Looking for setupterm in ncursesw - not found
-- Looking for arc4random
-- Looking for arc4random - not found
-- Looking for backtrace
-- Looking for backtrace - found
-- Looking for getpagesize
-- Looking for getpagesize - found
-- Looking for getrusage
-- Looking for getrusage - found
-- Looking for setrlimit
-- Looking for setrlimit - found
-- Looking for isatty
-- Looking for isatty - found
-- Looking for isinf
-- Looking for isinf - not found
-- Looking for isinf
-- Looking for isinf - found
-- Looking for finite
-- Looking for finite - not found
-- Looking for isnan
-- Looking for isnan - not found
-- Looking for isnan
-- Looking for isnan - found
-- Looking for ceilf
-- Looking for ceilf - found
-- Looking for floorf
-- Looking for floorf - found
-- Looking for fmodf
-- Looking for fmodf - found
-- Looking for log
-- Looking for log - found
-- Looking for log2
-- Looking for log2 - found
-- Looking for log10
-- Looking for log10 - found
-- Looking for exp
-- Looking for exp - found
-- Looking for exp2
-- Looking for exp2 - found
-- Looking for exp10
-- Looking for exp10 - not found
-- Looking for futimens
-- Looking for futimens - found
-- Looking for futimes
-- Looking for futimes - found
-- Looking for writev
-- Looking for writev - found
-- Looking for nearbyintf
-- Looking for nearbyintf - found
-- Looking for mallinfo
-- Looking for mallinfo - found
-- Looking for malloc_zone_statistics
-- Looking for malloc_zone_statistics - not found
-- Looking for mkdtemp
-- Looking for mkdtemp - found
-- Looking for mkstemp
-- Looking for mkstemp - found
-- Looking for mktemp
-- Looking for mktemp - found
-- Looking for closedir
-- Looking for closedir - found
-- Looking for opendir
-- Looking for opendir - found
-- Looking for readdir
-- Looking for readdir - found
-- Looking for getcwd
-- Looking for getcwd - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for getrlimit
-- Looking for getrlimit - found
-- Looking for posix_spawn
-- Looking for posix_spawn - found
-- Looking for pread
-- Looking for pread - found
-- Looking for realpath
-- Looking for realpath - found
-- Looking for sbrk
-- Looking for sbrk - found
-- Looking for srand48
-- Looking for srand48 - found
-- Looking for lrand48
-- Looking for lrand48 - found
-- Looking for drand48
-- Looking for drand48 - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtoq
-- Looking for strtoq - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for strerror_s
-- Looking for strerror_s - not found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for dlerror
-- Looking for dlerror - found
-- Looking for dlopen
-- Looking for dlopen - found
-- Looking for __GLIBC__
-- Looking for __GLIBC__ - found
-- Performing Test HAVE_INT64_T
-- Performing Test HAVE_INT64_T - Success
-- Performing Test HAVE_UINT64_T
-- Performing Test HAVE_UINT64_T - Success
-- Performing Test HAVE_U_INT64_T
-- Performing Test HAVE_U_INT64_T - Success
-- Looking for __atomic_fetch_add_4 in atomic
-- Looking for __atomic_fetch_add_4 in atomic - found
-- Performing Test LLVM_HAS_ATOMICS
-- Performing Test LLVM_HAS_ATOMICS - Success
-- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG
-- Performing Test SUPPORTS_NO_VARIADIC_MACROS_FLAG - Success
-- Performing Test HAS_MAYBE_UNINITIALIZED
-- Performing Test HAS_MAYBE_UNINITIALIZED - Success
-- Target triple: aarch64-unknown-linux-gnu
-- Native target architecture is AArch64
-- Threads disabled.
-- Doxygen disabled.
-- Sphinx disabled.
-- Go bindings disabled.
-- Could NOT find OCaml (missing:  OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- Could NOT find OCaml (missing:  OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) 
-- OCaml bindings disabled.
-- Performing Test C_SUPPORTS_FPIC
-- Performing Test C_SUPPORTS_FPIC - Success
-- Performing Test CXX_SUPPORTS_FPIC
-- Performing Test CXX_SUPPORTS_FPIC - Success
-- Building with -fPIC
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test CXX_SUPPORTS_CXX11
-- Performing Test CXX_SUPPORTS_CXX11 - Success
-- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS
-- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS - Success
-- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS
-- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS - Success
-- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS
-- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS - Success
-- Performing Test C_SUPPORTS_FDATA_SECTIONS
-- Performing Test C_SUPPORTS_FDATA_SECTIONS - Success
-- Performing Test CXX_SUPPORTS_FDATA_SECTIONS
-- Performing Test CXX_SUPPORTS_FDATA_SECTIONS - Success
-- Constructing LLVMBuild project information
-- Targeting AArch64
-- Clang version: 3.7.0
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Failed
-- Performing Test CXX_HAS_fno_rtti
-- Performing Test CXX_HAS_fno_rtti - Success
-- Performing Test found_stdstringview
-- Performing Test found_stdstringview - Failed
-- Performing Test found_stdexpstringview
-- Performing Test found_stdexpstringview - Failed
-- Configuring done
WARNING: Target "clang" has EXCLUDE_FROM_ALL set and will not be built by default but an install rule has been provided for it.  CMake does not define behavior for this case.
WARNING: Target "clang-format" has EXCLUDE_FROM_ALL set and will not be built by default but an install rule has been provided for it.  CMake does not define behavior for this case.
WARNING: Target "clang-check" has EXCLUDE_FROM_ALL set and will not be built by default but an install rule has been provided for it.  CMake does not define behavior for this case.
-- Generating done
-- Build files have been written to: /home/ubuntu/data/root-6.04.14/build

We do build regularly in our nightlies the master branch on AArch64. I am not sure now if 6.04 is good enough. Please give it try with 6.06.

Hello again

Sorry for the late reply. Ive downloaded 6.06 as you suggested but now there is a problem with the configure:

ubuntu@tegra-ubuntu:/media/ubuntu/disk2/root-6.06.00$ ./configure
Checking for source directory ... /media/ubuntu/disk2/root-6.06.00
Configuring for linuxarm64
Checking for GNU Make version >= 3.80 ... ok
Checking for C compiler ... gcc
Checking for C++ compiler ... g++
Checking for linker (LD) ... g++
Checking for F77 compiler ... gfortran
Checking whether compiler can generate dependencies ... yes
Checking whether c++11 mode is supported ... yes
Checking for string_view implementation ... using builtin string_view
Checking for Python version >= 2.7 ... yes
Checking for libX11 ... no
configure: libX11 MUST be installed

Needless to say that everything is installed, because with 6.04 the configure succeeded.

Thank you very much in advance…again!

EDIT: Ok, I forgot that I have to use CMake so I am testing it right now.

Y.

Hello again:

Now it stops with this error:

In file included from /home/ubuntu/root-6.06.00/math/mathcore/src/MixMaxEngine.cxx:19:0:
/home/ubuntu/root-6.06.00/math/mathcore/src/mixmax.h:98:19: error: ‘__uint128_t’ was not declared in this scope
myuint mod128(__uint128_t s);

But I am pretty sure that this is the problem:

/sbin/init: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=289a0061854bb8d2f7ed8286c0a18aa1207141a5, stripped.

Any hope to compile it in 32 bit?

Thanks!
Y.

Hola Francesc,
I am confused. Are you trying to build for 64 or 32 bits?

Hola Pere!

Yes, I know it is weird, this is a 64bit architecture but it has a 32bit Ubuntu installed on it:

At the time of launch, Jetson TX1 comes with 64-bit 3.10.67 aarch64 kernel and 32-bit armhf sample filesystem (Ubuntu 14.04).

This is from devtalk.nvidia.com/default/topi … son-tx1/11

This is linux for tegra (L4T) system 23.1 and I do not think there is a 64 bit version yet. Actually the board is awesome, CUDA and thrust::CUDA work perfectly with pure C++ code. It would be great to use ROOT6 libraries…

Thank you!

Y.

Hola Francesc,
In this case can you give a try to the ‘master’ branch. There was a fix for 32 bit in the mixmax area. Or alternatively apply the following patch github.com/root-mirror/root/com … 4100.patch

Hola Pere

Sorry for the late answer, Ive been very busy this week.

I tried what you told me without success, the 32-bit problem is not there anymore, but there is a segmentation fault while compiling the math library similar to the one described in the first post where I report the problem.

I have tried to apply the patch and also the version you told me. Since this is not easy to debug, I will try again from the scratch just to reproduce the problem and post it here.

Thank you for the invaluable help!

Y.

I am as well interested in ROOT for NanoPI M4 thus ARM 64-bit.
Ideally a recompiled installation like for Ubuntu.
I tried to search some older precompiled version for aarch64 but could not find any,
although support of earlier ROOT versions was mentioned somewhere.

Pawel.

depending on what you want to achieve on this NanoPI (small embedded DAQ?), go-hep/groot might be easier to setup and to work with.

OK, thank you, what I wish to have are some real-time histograms and capability to view them online as JPG pictures. I would like to write the code in C++ and as it is real-time it should have as little overhead as posisble.

ok.
If C++ is a hard requirement, then groot is out of the game (it’s in Go).

here is an example of what it looks like, though:

obligatory screenshot:

and a couple of cross-compiled programs:

(the example uses SVG as an output histo display, but PNG, JPG, TIFF, … are possible as well)

hth,
-s

Let me resurrect our Aarch64 nightly builds, your should have a binary on Wednesday!

We have https://root.cern/download/nightly/root_v6.19.01.Linux-centos7-aarch64-gcc4.8.tar.gz

The problem is that any of this is distro-specific - here we’re talking CentOS7.

I don’t know how Conda’s AArch64 support looks like at the moment; https://github.com/jjhelmus/conda4aarch64 seems to exist. We could see whether using Conda as a distro-abstracting distribution mechanism might work if that’s interesting for you?

Axel.

1 Like