Error building ROOT 6.06.00 with 32bit

Hi,
I’m trying to build ROOT6 on openSUSE 32bit, but it fails with the following error:

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

The complete build log is visible here:
build.opensuse.org/package/live … _13.1/i586

I’m using the following cmake command:

cmake \ -DCMAKE_CXX_FLAGS="-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -fstack-protector -O2 -Wall -D_FORTIFY_SOURCE=2 -funwind-tables -fasynchronous-unwind-tables -g" \ -DCMAKE_INSTALL_LIBDIR=lib/root6 \ -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/root-6.06.00 \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_BINDIR=bin \ -DCMAKE_INSTALL_INCLUDEDIR=include/root6 \ -DCMAKE_INSTALL_SYSCONFDIR=/usr/share/root6 \ -DCMAKE_INSTALL_DATAROOTDIR=share \ -DCMAKE_INSTALL_DATADIR=share/root6 \ -DCMAKE_INSTALL_MANDIR=/usr/share/man \ -DCMAKE_INSTALL_FONTDIR=share/root6/fonts \ -DCMAKE_INSTALL_MACRODIR=share/root6/macros \ -DCMAKE_INSTALL_TESTDIR=/usr/share/doc/root-6.06.00/test \ -DCMAKE_INSTALL_TUTDIR=/usr/share/doc/root-6.06.00/tutorials \ -DCMAKE_INSTALL_ICONDIR=share/root6/icons \ -DCMAKE_INSTALL_CMAKEDIR=share/cmake \ -DCMAKE_INSTALL_ELISPDIR=share/emacs/site-lisp/ \ -Dbuiltin_afterimage=ON \ -Dbuiltin_fftw3=OFF \ -Dbuiltin_ftgl=ON \ -Dbuiltin_freetype=OFF \ -Dbuiltin_glew=OFF \ -Dbuiltin_pcre=OFF \ -Dbuiltin_zlib=OFF \ -Dbuiltin_lzma=OFF \ -Dbuiltin_davix=OFF \ -Dbuiltin_gsl=OFF \ -Dbuiltin_cfitsio=OFF \ -Dbuiltin_xrootd=OFF \ -Dbuiltin_llvm=ON \ -Dbuiltin_tbb=OFF \ -Dcxx14=OFF \ -Dcastor=OFF \ -Doracle=OFF \ -Dalien=OFF \ -Dmonalisa=OFF \ -Dgfal=OFF \ -Ddcache=OFF \ -Dchirp=OFF \ -Dhdfs=OFF \ -Ddavix=OFF \ -Dglite=OFF \ -Dsapdb=OFF \ -Dsrp=OFF \ -Drfio=OFF \ -Dpythia6_nolink=ON \ -Dgnuinstall=OFF \ -Dgsl_shared=ON \ -Dhttp=ON \ -Dminuit2=ON \ -Dqt=ON \ -Dqtgsi=ON \ -Droofit=ON \ -Druby=OFF \ -Drpath=OFF \ -Dxrootd=ON \ -Dsoversion=ON \ ..
Is this a general 32bit problem? Or something special with my configuration?

Thanks for your help.

Thomas

I’ve just seen that in the few days between I’ve checked the Forum and posting my question a similar Thread was opened: Root-6.06.00 on Ubuntu 14.04 32 bit
But there is also no solution.

So it seems it’s a general 32bit problem…

Edit:
I’ve looked a bit around and found out, that the __int128 types are only supported on 64bit.
This means ROOT is broken on x86 32bit since this commit: github.com/root-mirror/root/com … a9bde2bcb7

Hi Thomas,

that issue is (kind of) tracked here (you may subscribe / vote there):
https://sft.its.cern.ch/jira/browse/ROOT-7827
but of course also only relevant for < openSUSE 42.1 :wink:.

Cheers,
Oliver

Hi,

ROOT’s master and head of v6-06-00-patches now work on 32bit. We are planning a patch release 6.06.02 including this.

Cheers, Axel.