Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

install on pilatus with old CentOS 6.5 #7

Closed
PhilLAL opened this issue Dec 8, 2022 · 6 comments
Closed

install on pilatus with old CentOS 6.5 #7

PhilLAL opened this issue Dec 8, 2022 · 6 comments

Comments

@PhilLAL
Copy link

PhilLAL commented Dec 8, 2022

Hello,
we have this Pilatus model

Here are some informations about the OS installed:

[root@decXXXX ~]# lsb_release -a
LSB Version:	:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:	CentOS
Description:	CentOS release 6.5 (Final)
Release:	6.5
Codename:	Final
[root@decXXXX ~]# uname -a
Linux dec1641 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

We tried to install Lima on it following those steps.

  1. installing conda
    I tried to install Lima DS, so I needed to install conda.
    I tried several versions:
  • Miniconda >=4.11, I got
wget -c --no-check-certificate https://repo.anaconda.com/miniconda/Miniconda3-py39_4.12.0-Linux-x86_64.sh
sh Miniconda3-py39_4.12.0-Linux-x86_64.sh
WARNING:
    The installer is not compatible with the version of the Linux distribution
    installed on your system. The version of GLIBC is no longer supported.
    Found version 2.12, which is less than 2.17
Aborting installation.

(same for py38 or py37)

  • Miniconda =4.10 (whatever the Python version), I got an error of conda env uninitialiazed.
  • Miniconda =4.9 (py39, py38 or py37), I got no immediate issue
  1. installing Lima after installing Miniconda 4.9.2
wget -c --no-check-certificate https://repo.anaconda.com/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh
sh ./Miniconda3-py39_4.9.2-Linux-x86_64.sh
# [...]
(base) det@dec1641:~> conda install -c esrf-bcu lima-camera-pilatus-tango
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: | 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                  

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.12=0
  - python=3.9 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']

Your installed version is: 2.12

(same for py38 and py37)

At this point, my understanding is that the version of conda does not influence the result and I need a recent version of glibc.

Trying to update glibc, I searched for the available versions:

det@dec1641:~> yum info glibc
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
epel/metalink                                                                                                    | 4.2 kB     00:00     
 * epel: d2lzkl7pfhq30w.cloudfront.net
Installed Packages
Name        : glibc
Arch        : i686
Version     : 2.12
Release     : 1.132.el6
Size        : 13 M
Repo        : installed
From repo   : anaconda-CentOS-201311291202.x86_64
Summary     : The GNU libc libraries
URL         : http://sources.redhat.com/glibc/
License     : LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Description : The glibc package contains standard libraries which are used by
            : multiple programs on the system. In order to save disk space and
            : memory, as well as to make upgrading easier, common system code is
            : kept in one place and shared between programs. This particular package
            : contains the most important sets of shared libraries: the standard C
            : library and the standard math library. Without these two libraries, a
            : Linux system will not function.

Name        : glibc
Arch        : x86_64
Version     : 2.12
Release     : 1.132.el6
Size        : 12 M
Repo        : installed
From repo   : anaconda-CentOS-201311291202.x86_64
Summary     : The GNU libc libraries
URL         : http://sources.redhat.com/glibc/
License     : LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Description : The glibc package contains standard libraries which are used by
            : multiple programs on the system. In order to save disk space and
            : memory, as well as to make upgrading easier, common system code is
            : kept in one place and shared between programs. This particular package
            : contains the most important sets of shared libraries: the standard C
            : library and the standard math library. Without these two libraries, a
            : Linux system will not function.

No version 2.17 seems available in CentOS 6.5 repositories.

I found https://gist.github.com/harv/f86690fcad94f655906ee9e37c85b174 so I give it a try, but I got an error of dependencies

root@dec1641 x86_64]# sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm glibc-common-2.17-55.el6.x86_64.rpm glibc-devel-2.17-55.el6.x86_64.rpm glibc-headers-2.17-55.el6.x86_64.rpm
attention: glibc-2.17-55.el6.x86_64.rpm: Entête V3 RSA/SHA1 Signature, key ID 73ec361c: NOKEY
erreur: Dépendances requises:
	glibc-common = 2.12-1.132.el6 est nécessaire pour (déjà installé) glibc-2.12-1.132.el6.i686

it seems glibc 2.17 x86-64 is in conflict with glibc-common 2.12 i686

So I forced installation with

sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm glibc-common-2.17-55.el6.x86_64.rpm glibc-devel-2.17-55.el6.x86_64.rpm glibc-headers-2.17-55.el6.x86_64.rpm  --force --nodeps
attention: glibc-2.17-55.el6.x86_64.rpm: Entête V3 RSA/SHA1 Signature, key ID 73ec361c: NOKEY
Préparation...              ########################################### [100%]
   1:glibc-common           ########################################### [ 25%]
/usr/sbin/build-locale-archive: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/sbin/build-locale-archive)
/usr/sbin/build-locale-archive: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/sbin/build-locale-archive)
   2:glibc                  ########################################### [ 50%]
   3:glibc-headers          ########################################### [ 75%]
   4:glibc-devel            ########################################### [100%]

Output is not very conforting and if i tried again installing a Miniconda version (Miniconda3-py39_4.12.0-Linux-x86_64.sh), it does not get an error :

(base) det@dec1641:~> conda install -c esrf-bcu lima-camera-pilatus-tango
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                  

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.17=0
  - feature:|@/linux-64::__glibc==2.17=0

Your installed version is: 2.17

I got the same error when installing Miniconda3-py39_4.9.2-Linux-x86_64.sh

sudo rpm -ivh glibc-2.17-55.el6.x86_64.rpm glibc-common-2.17-55.el6.x86_64.rpm glibc-devel-2.17-55.el6.x86_64.rpm glibc-headers-2.17-55.el6.x86_64.rpm  --force --nodeps
attention: glibc-2.17-55.el6.x86_64.rpm: Entête V3 RSA/SHA1 Signature, key ID 73ec361c: NOKEY
Préparation...              ########################################### [100%]
   1:glibc-common           ########################################### [ 25%]
   2:glibc                  ########################################### [ 50%]
   3:glibc-headers          ########################################### [ 75%]
   4:glibc-devel            ########################################### [100%]

and then tried again to install lima:

(base) det@dec1641:~> conda install -c esrf-bcu lima-camera-pilatus-tango
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                  

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.17=0
  - feature:|@/linux-64::__glibc==2.17=0

Your installed version is: 2.17

My understanding is that last lima-pilatus can't be installed with last conda package version.

I also tried with the older package version available (1.8.0):

conda install -c esrf-bcu lima-camera-pilatus-tango=1.8.0
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                  

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

  - feature:/linux-64::__glibc==2.17=0
  - python=3.9 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']

Your installed version is: 2.17

It failed also.

Does someone have a Pilatus to test installation and confirm it does not install anymore?
If so is it possible to push back an older package which work with glibc 2.12?
If someone succeed into installing Pilatus, could you let me know how to do this?

Regards.

@laurent-claustre
Copy link

laurent-claustre commented Dec 9, 2022

Salut Philippe,
changing the libc on your computer installation is a bit aggressive.
We have a pilatus computer running centos 6.10, installed 2 years ago, and I did need to get miniconda3 version 4.8.2.
And this is a list of the lima conda packages installed.
Do not forget to specify the conda-forge channel when you install, main is no longer supported by miniconda.

Other solution I deal with, is to install the Lima server (conda and ,,,) on an other computer where you have newer OS and libc.
For this solution you will need to create a ramdisk on the new computer and to mount this file system on your pilatus computer as /lima_data, in order to make camserver saving files on the remote disk and having lima server reading the image.
I did that for 3 pilatus detectors at ESRF, with old OS.

@PhilLAL
Copy link
Author

PhilLAL commented Feb 13, 2023

Hi @laurent-claustre,
sorry for the delay, we encountered a network issue which forbid me to continue the tests.
Your advice was precious and I succeed into installing Pilatus package, you were right since the channel conda-forge was missing!

wget --no-check-certificate https://repo.anaconda.com/miniconda/Miniconda3-py37_4.8.2-Linux-x86_64.sh
sh ./Miniconda3-py37_4.8.2-Linux-x86_64.sh
conda install -c esrf-bcu -c conda-forge lima-camera-pilatus-tango

Note: Miniconda (or anaconda) 37 is mandatory, 38 does not work (see below).

wget --no-check-certificate https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.2-Linux-x86_64.sh
sh ./Miniconda3-py38_4.8.2-Linux-x86_64.sh
conda install -c esrf-bcu -c conda-forge lima-camera-pilatus-tango
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: \ 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                   

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - lima-camera-pilatus-tango -> python[version='>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.9,<3.10.0a0']

Your python: python=3.8

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

So the version Miniconda37 is mandatory.

@PhilLAL PhilLAL closed this as completed Feb 13, 2023
@PhilLAL PhilLAL reopened this Feb 28, 2023
@PhilLAL
Copy link
Author

PhilLAL commented Mar 1, 2023

I continue following instructions in the doc but I got an error while installing mamba:

conda install mamba
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - mamba

Current channels:

  - https://repo.anaconda.com/pkgs/main/linux-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/linux-64
  - https://repo.anaconda.com/pkgs/r/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.

I so continue using conda:

conda create -n pilatus -c conda-forge -c esrf-bcu lima-camera-pilatus-tango
# seems to succeed

In https://lima1.readthedocs.io/en/latest/camera/pilatus/doc/tango.html#properties I see that breakline add space in config_file which should be removed.

@laurent-claustre
Copy link

Salut Philippe,
to install mamba choose the conda-forge channel:
conda install mamba -c conda-forge

@PhilLAL
Copy link
Author

PhilLAL commented Mar 3, 2023

Salut Laurent,
thank you.

It seems my CentOS is too old.
Here is my output

Traceback (most recent call last):
  File "/home/det/miniconda3/bin/mamba", line 7, in <module>
    from mamba.mamba import main
  File "/home/det/miniconda3/lib/python3.7/site-packages/mamba/mamba.py", line 53, in <module>
    import mamba.mamba_api as api
ImportError: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /home/det/miniconda3/lib/python3.7/site-packages/mamba/../../../libcurl.so.4)

@PhilLAL
Copy link
Author

PhilLAL commented Apr 14, 2023

Hi @laurent-claustre
I remember I did not confirmed the installation worked and I can also launch the device.
Thank you again for your help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants