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

Centos7 version not working #1

Open
timeu opened this issue Mar 3, 2020 · 2 comments
Open

Centos7 version not working #1

timeu opened this issue Mar 3, 2020 · 2 comments

Comments

@timeu
Copy link

timeu commented Mar 3, 2020

I can't get the binary distribution (cryoflare_1.8_Centos7.tgz.) running on a Centos 7.6 workstation because cryoflare seems to require a newer C++ Standard Library > 3.4.21

/cryoFLARE_1_8/cryoflare: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /cryoFLARE_1_8/cryoflare)
/cryoFLARE_1_8/cryoflare: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /cryoFLARE_1_8/cryoflare)
/cryoFLARE_1_8/cryoflare: /lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /cryoFLARE_1_8/cryoflare)
/cryoFLARE_1_8/cryoflare: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /cryoFLARE_1_8/cryoflare)
/cryoFLARE_1_8/cryoflare: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /cryoFLARE_1_8/cryoflare)
/cryoFLARE_1_8/cryoflare: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /cryoFLARE_1_8/cryoflare)
/cryoFLARE_1_8/cryoflare: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /cryoFLARE_1_8/cryoflare)

However on Centos 7 the latest version is 3.4.19.
The software collections (https://wiki.centos.org/AdditionalResources/Repositories/SCL) do have newer verisons however only for the header files and the compiler.

[root@pcl-imp-20 build]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

I tried to install it from source using the newer gcc however qt-charts is missing in the Centos/EPEL repos.

What is the best way to get CryoFLARE working on a Centos 7.x workstation?

@andschenk
Copy link
Collaborator

Thanks for reporting the issue.
Unfortunately, as you already mentioned the Centos 7 EPEL repos don't provide QtCharts.
To compile CryoFLARE on a Centos7/RHEL7 system, one has to either install a recent version of Qt using the installer from www.qt.io or one has to compile Qt from source.

To avoid users having to roll out their own Qt install, I statically compiled Qt and statically linked the Qt libraries into the CryoFLARE binary. As recent Qt versions don't compile with the Centos 7 stock gcc 4.8, I had to use a newer compiler (manually installed) and that was where the newer GLIBCXX ABI came in.

In now recompiled Qt and CryoFLARE with the gcc from devtoolset-8 . This should keep the ABI at 3.4.19 and should make it compatible with the stock libstdc++.so.

I uploaded the binary here: http://www.cryoflare.org/download-and-installation/cryoflare_1.8_devtoolset8.zip

Could you give it a try and let me know if that works for you?

@timeu
Copy link
Author

timeu commented Mar 5, 2020

@andschenk great thanks for the quick fix. I
had to install the unixODBC and postgresql-libs and libzstd packages but now it works

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