Comments (9)
To reproduce this, load a zlib module built with EasyBuild, and then use a tool that links with both zlib and a library linked with the system zlib:
[kehoste@ca60c171 ~]$ module list
No Modulefiles Currently Loaded.
[kehoste@ca60c171 ~]$ module load zlib
[kehoste@ca60c171 ~]$ ar -V
ar: /home/kehoste/.local/easybuild/software/zlib/1.2.7-goalf-1.1.0-no-OFED/lib/libz.so.1: no version information available (required by /usr/lib64/libbfd-2.21.53.0.1-6.fc16.so)
GNU ar version 2.21.53.0.1-6.fc16 20110716
Also building libbfd is not a sensible option imho, since it's part of binutils.
from easybuild-framework.
But the ar
command failing had nothing to do with this?
from easybuild-framework.
@JensTimmerman: ar
fails in the PETSc build because of this problem. It was just an example, but it is relevant, since it links in zlib
.
from easybuild-framework.
#644 should fix this
from easybuild-framework.
There is a possibly suitable way about how to handle this issue, mentioned in
easybuilders/easybuild-easyconfigs#985
apparently relying on LD_PRELOAD
; debate to be continued...
from easybuild-framework.
OK I am adding some further information on possible zlib problems. According to this thread on the Stacks user mail list, the base system's zlib seems to be causing confusion during the ./configure process?
relevant post:
gzbuffer was added to zlib in version 1.2.4. Your compile complains
about the missing gzbuffer function, but not, say gzopen, which is
called prior to gzbuffer. This would lead me to believe that you
potentially have a second zlib.h header on your system that is being
found during compile prior to the more recent version. However, the
configure script (which runs before the compile) seems to be finding
that a newer version is on the system, enabling the use of the gzbuffer
function, which otherwise would not be included in the compile.
Specifically, I ended up fixing my problem by listing a specific zlib
> 1.2.3 in easyconfig.builddependencies
...
builddependencies = [('zlib', '1.2.7'), ('SAMtools', '1.1'), ('google-sparsehash', '2.0.2')]
...
Hope this saves someone else some time or helps inform the discussion.
Gus
from easybuild-framework.
We have had this zlib issue here at JSC as well, mainly stemming from the fact that compilers and linkers are picking up a (very old version of a) system-installed zlib when they are built.
This "no version information available" error seems to show up when a user tries to compile or link a program with a compiler/linker that uses the old system version, while one of the dependencies is the newer EasyBuild-installed newer version
We are dealing with it by moving zlib in the dummy/dummy toolchain as a Core package and making it a (hidden) dependency of binutils, and therefore of the compilers and linkers that are build on top of it.
-Eric
From: Augustine (Gus) Dunn [[email protected]]
Sent: Thursday, January 22, 2015 10:53 PM
To: hpcugent/easybuild-framework
Subject: Re: [easybuild-framework] zlib built with EasyBuild yields "no version information available" error message when it's being used (#108)
OK I am adding some further information on possible zlib problems. According to this threadhttps://groups.google.com/forum/#!msg/stacks-users/DJuEmm9e08k/Elm4RotNCQoJ on the Stackshttp://creskolab.uoregon.edu/stacks/ user mail list, the base system's zlib seems to be causing confusion during the ./configure process?
relevant post:
gzbuffer was added to zlib in version 1.2.4. Your compile complains
about the missing gzbuffer function, but not, say gzopen, which is
called prior to gzbuffer. This would lead me to believe that you
potentially have a second zlib.h header on your system that is being
found during compile prior to the more recent version. However, the
configure script (which runs before the compile) seems to be finding
that a newer version is on the system, enabling the use of the gzbuffer
function, which otherwise would not be included in the compile.
Specifically, I ended up fixing my problem by listing a specific zlib > 1.2.3 in easyconfig.builddependencies
...
builddependencies = [('zlib', '1.2.7'), ('SAMtools', '1.1'), ('google-sparsehash', '2.0.2')]
...
Hope this saves someone else some time or helps inform the discussion.
Gus
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/108#issuecomment-71106614.
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
Prof. Dr. Sebastian M. Schmidt
from easybuild-framework.
Potential fix is in easybuilders/easybuild-easyconfigs#1350
It would be great if somebody could test it.
from easybuild-framework.
fixed by easybuilders/easybuild-easyconfigs#1350
from easybuild-framework.
Related Issues (20)
- `eb` command fails outside of framework source folder HOT 4
- Auto-enable Fortran oneAPI compilers HOT 1
- Add option to ignore default config files
- refactor easyconfig parameters and template constants to use a consistent naming style HOT 9
- Add `sysroot` support to intel compilers
- `run_shell_cmd` hooks should be applied earlier
- `ModuleNotFoundError` for `distutils` when running with Python 3.12 without setuptools HOT 1
- enhance `--avail-easyconfig-params` to also accept a (single) easyconfig from which to derive the easyblock
- Change the group of the software and module on installation
- The GCC OpenMP runtime (`libgomp`) should be a banned library for `GCCcore` (only) HOT 5
- Environment variable change in module cray-libsci of CPE 23.12 HOT 2
- easyconfig files for dependencies not found when using `--from-commit`
- Dumping of reprod directory happening after post_package_hook
- ERROR: Unexpected number of args for 'unload command' HOT 2
- Defining multiple classes inside an easyblock file
- Building an easystack.yml with --job results in redundant/conflicting build jobs for common dependencies HOT 1
- Improving support for systems using Omni-Path interconnect
- Log file messages regrading downloads are misleading
- META - parameter renaming effort
- change default job backend to Slurm + deprecate support for using GC3Pie as job backend HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from easybuild-framework.