Dear Dennis,
thank you for taking the time to help.
I am not completely familiar with some of those terms, so I will try to rephrase what you wrote:
-
the alienv enter
command lets me enter this runtime environment which only allows me to run pre-built files, and not build new ones like what is done in the tutorial.
-
to build new files, I need to use aliBuild to install O2 properly, even on my lxplus7 session
Assuming this is what you mean: I am a bit confused because the tutorial (https://alisw.github.io/o2-tutorial/) and the installation guide (🧪 Installation via alibuild · ALICE Analysis Tutorial) both gives different sets of instruction, that I will call respectively set-I and set-II. The latter mentions a lot more steps, and prerequisites, than the O2-tutorial. So I don’t really know which one is the one to follow.
To get around this issue, I simply tried to follow both and see if I could get one to work on my lxplus7 session.
Unfortunately, even though it looks like I manage to install aliBuild, after adding the --user option because I don’t have any root permission on this lxplus7 account, the build of O2 fails no matter which of the two sets of instructions I follow.
The O2-tutorial one, set-I, is the shortest one, with no mention of any prerequisite of any kind, saying that aliBuild will take care of that by itself. It is also the version that gets me an error the quickest: typing the command line aliBuild init O2@dev
as instructed immediately gives me this error:
[alandou@lxplus084 alice2]$ aliBuild init O2@dev
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 5705 (delta 4), reused 6 (delta 2), pack-reused 5691
Receiving objects: 100% (5705/5705), 1.37 MiB | 879.00 KiB/s, done.
Resolving deltas: 100% (3682/3682), done.
ERROR: Specified default `release’ is not compatible with the packages you want to build.
ERROR: Valid defaults:
ERROR:
ERROR: - alo
ERROR: - o2
ERROR: - o2-dataflow
ERROR: - o2-dev-fairroot
ERROR: - o2-ninja
ERROR: - o2-prod
[alandou@lxplus084 alice2]$
I don’t really know what to make of that, except that it seems an option is missing in the command line, if I refer to set-II.
Indeed, if I look at this page of set-II: 🛠 Build the packages · ALICE Analysis Tutorial, I get another command line, aliBuild build O2 --defaults o2
. Seeing that, I try this command line instead of the simple ‘aliBuild build O2’, and this time the download works!
I try to switch back to following set-I, using the command aliBuild build O2
, but get a log similar to the one above. Again, I try the same command adding --defaults o2
and the build starts! However, after several minutes, the build fails when it starts to build GCC-Toolchain@v7.3.0-alice1, and I get an error message. Here is the log I get:
[alandou@lxplus084 alice]$ aliBuild build O2 --defaults o2
==> Packages will be built in the following order:
- ms_gsl@b014508
- autotools@v1.5.0
- cub@v1.8.0
- GCC-Toolchain@v7.3.0-alice1
- FreeType@v2.6
- sqlite@v3.15.0
- lzma@v5.2.3
- CMake@v3.13.1
- protobuf@v3.5.2
- zlib@v1.2.8
- lz4@v1.8.3
- ZeroMQ@v4.1.5
- GSL@release-1-16
- msgpack@cpp-3.1.1
- FairLogger@v1.2.0
- googlebenchmark@v1.3.0
- pythia6@428-alice1
- googletest@release-1.8.0
- Vc@1.3.3-alice2
- nanomsg@1.1.3
- hijing@v1.36
- libpng@v1.6.34
- AliTPCCommon@alitpccommon-v2.3.2
- GEANT4@v10.4.2
- RapidJSON@v1.1.0-alice1
- libxml2@v2.9.3
- OpenSSL@OpenSSL_1_0_2o
- flatbuffers@v1.10.0
- Python@alice/v2.7.10
- Python-modules@1.0
- boost@v1.68.0
- Common-O2@v1.4.0
- Monitoring@v2.0.0
- DDS@2.2
- yaml-cpp@yaml-cpp-0.6.2
- Ppconsul@f39961cdcfddc630616658fc9c1e833b51cba21b
- thrift@0.12.0
- libInfoLogger@v1.0.5
- FairMQ@v1.3.8
- lhapdf@v6.2.1-alice2
- Configuration@v2.2.0
- arrow@apache-arrow-0.12.0-alice3
- pythia@v8235-alice2
- ROOT@v6-14-04
- generators@v1.0
- HepMC3@d43693ce0e7731e9b787dbd6176cb6245fd770b3
- vgm@v4-4
- MCStepLogger@master
- GEANT3@v2-6
- GEANT4_VMC@v3-6-p1
- simulation@v1.0
- FairRoot@c672f280ec8382cb2dc10b85c5fa4e64e13c5975
- O2@O2-1.0.0
remote: Enumerating objects: 26, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 662846 (delta 7), reused 10 (delta 3), pack-reused 662820
Receiving objects: 100% (662846/662846), 705.77 MiB | 10.64 MiB/s, done.
Resolving deltas: 100% (478888/478888), done.
remote: Enumerating objects: 7160, done.
remote: Counting objects: 100% (7160/7160), done.
remote: Compressing objects: 100% (1998/1998), done.
remote: Total 7160 (delta 4649), reused 7149 (delta 4643)
Receiving objects: 100% (7160/7160), 22.43 MiB | 14.60 MiB/s, done.
Resolving deltas: 100% (4649/4649), done.
remote: Enumerating objects: 11074, done.
remote: Total 11074 (delta 0), reused 0 (delta 0), pack-reused 11074
Receiving objects: 100% (11074/11074), 5.13 MiB | 1.25 MiB/s, done.
Resolving deltas: 100% (7507/7507), done.
remote: Enumerating objects: 124, done.
remote: Counting objects: 100% (124/124), done.
remote: Compressing objects: 100% (74/74), done.
remote: Total 124 (delta 51), reused 110 (delta 46), pack-reused 0
Receiving objects: 100% (124/124), 82.56 KiB | 0 bytes/s, done.
Resolving deltas: 100% (51/51), done.
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 5728 (delta 4), reused 9 (delta 3), pack-reused 5710
Receiving objects: 100% (5728/5728), 11.89 MiB | 1.01 MiB/s, done.
Resolving deltas: 100% (3747/3747), done.
remote: Enumerating objects: 15698, done.
remote: Total 15698 (delta 0), reused 0 (delta 0), pack-reused 15698
Receiving objects: 100% (15698/15698), 29.90 MiB | 1.51 MiB/s, done.
Resolving deltas: 100% (12202/12202), done.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 75905 (delta 0), reused 0 (delta 0), pack-reused 75902
Receiving objects: 100% (75905/75905), 190.41 MiB | 2.18 MiB/s, done.
Resolving deltas: 100% (58883/58883), done.
remote: Enumerating objects: 7, done.
remote: Counting objects: 100% (7/7), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 70951 (delta 2), reused 0 (delta 0), pack-reused 70944
Receiving objects: 100% (70951/70951), 104.87 MiB | 12.32 MiB/s, done.
Resolving deltas: 100% (42670/42670), done.
Using cached build for defaults-release
==> Building defaults-release@v1
==> defaults-release is being built (use --debug for full output): ok
Using cached build for defaults-release
Using cached build for ms_gsl
==> Building ms_gsl@1
==> ms_gsl is being built (use --debug for full output): ok
Using cached build for ms_gsl
Using cached build for autotools
==> Building autotools@v1.5.0
==> autotools is being built (use --debug for full output): ok
Using cached build for autotools
Using cached build for cub
==> Building cub@v1.8.0
==> cub is being built (use --debug for full output): ok
Using cached build for cub
Using cached build for GCC-Toolchain
==> Building GCC-Toolchain@v7.3.0-alice1
==> GCC-Toolchain is being built (use --debug for full output): failed
ERROR: Error while executing /afs/cern.ch/user/a/alandou/alice/sw/SPECS/slc7_x86-64/GCC-Toolchain/v7
.3.0-alice1-7/build.sh on `lxplus084.cern.ch’.
ERROR: Log can be found in /afs/cern.ch/user/a/alandou/alice/sw/BUILD/GCC-Toolchain-latest/log.
ERROR: Please upload it to CERNBox/Dropbox if you intend to request support.
ERROR: Build directory is /afs/cern.ch/user/a/alandou/alice/sw/BUILD/GCC-Toolchain-latest/GCC-Toolch
ain.
[alandou@lxplus084 alice]$
I then guess that I might be missing some dependencies, as set-II indeed asks to run a few more command lines to install some dependencies (Prerequisites for CentOS 7 · ALICE Analysis Tutorial).
And indeed, if I run the aliDock, I see that some missing packages should not be missing before I start the installation. Here is the list I get:
- Python-modules ---> specifically specified as something that HAS to be installed
- Vc
- CMake
- protobuf
- flatbuffers
- lz4 ----> not in the list
- GCC-Toolchain ---> not in the list
- msgpack ----> not in the list
- nanomsg
- ZeroMQ
- autotools ----> not in the list
- boost
- GSL
- thrift ----> not in the list
It looks like I need to go through the prerequisites and try to install them.
Unfortunately, this page suggests to install those as a root user! which is something I cannot do on a lxplus7 session. Even the pip command to install python dependencies doesn’t work by adding --user, giving me this log:
[alandou@lxplus084 alice]$ pip install matplotlib==2.0.2 numpy certifi ipython==5.1.0 ipywidgets ipykernel notebook metakernel pyyaml --user
Collecting matplotlib==2.0.2
Downloading https://files.pythonhosted.org/packages/2c/69/362c0a5eca37225c7d451e6c57f07c4fee85a5b6cb3aedf16fe649f411ea/matplotlib-2.0.2-cp27-cp27mu-manylinux1_x86_64.whl (14.5MB)
100% |################################| 14.5MB 58kB/s
Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib64/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): certifi in /afs/cern.ch/user/a/alandou/user_python/lib/python2.7/site-packages
Collecting ipython==5.1.0
Using cached https://files.pythonhosted.org/packages/17/81/edc7c7c2acf4009db35a183e5a898679fdc18c2b078d847d3e745b11faa4/ipython-5.1.0-py2-none-any.whl
Collecting ipywidgets
Using cached https://files.pythonhosted.org/packages/30/9a/a008c7b1183fac9e52066d80a379b3c64eab535bd9d86cdc29a0b766fd82/ipywidgets-7.4.2-py2.py3-none-any.whl
Collecting ipykernel
Using cached https://files.pythonhosted.org/packages/11/0b/95330660f8cc5d63428b9886c800ea8d68842fd866389cf579acca4915be/ipykernel-5.1.0.tar.gz
Complete output from command python setup.py egg_info:
ERROR: ipykernel requires Python version 3.4 or above.
----------------------------------------
Command “python setup.py egg_info” failed with error code 1 in /tmp/alandou/pip-build-YP30rQ/ipykernel/
You are using pip version 8.1.2, however version 19.0 is available.
You should consider upgrading via the ‘pip install --upgrade pip’ command.
[alandou@lxplus084 alice]$
So I guess I am wondering what I am missing in those two tutorials, and which one should I try to follow if I manage to figure out how to solve this issue when trying to build O2 after successfully installing aliBuild.
Bests,
Aimeric