-
Notifications
You must be signed in to change notification settings - Fork 705
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
Build failure for libreadline-8.1-GCCcore-11.2.0 #16014
Comments
That's... interesting. I guess this means that we need to run @0 Are you up for giving that a try, by customizing the |
@0 Can you provide some more information about the |
If I set
I tried passing
This is the standard Arch Linux bash.
|
I built a statically-linked bash and bind-mounted it over the system bash in a new namespace, but this atrocious workaround is insufficient:
|
some options i see
|
Option 2 wasn't as nice as i thought. bash, awk and friends will remain broken for any user who loads these modules, so just fixing it during building isn't enough since these are surely used all the time at runtime as well. edit: ok maybe the work around is enough to get to own libreadline module as well, then, maybe bash will start working again since it's not a mixed of OS and EB libraries. |
This seemed like the most accessible of the options, so I took all the dynamically-linked ELFs in
With both modules loaded and
However, some binaries are not content with this arrangement:
As expected, this setup is also quite fragile:
What would this entail? It sounds like the most robust option. |
This one definitely belongs in the "how did we not run into this before" category.... Just yesterday, I ran into similar problems due to
There's actually an option 4 too, by simply not installing
I basically boils down to configuring EasyBuild with |
It looks like the problem caused by the @0 Can you check if that also resolved the problem you are seeing? To do so, you should |
I started thinking as to why i hadn't switched over to rpath + no LD_LIBRARY_PATH myself, before i realized the biggest cost it incurs; users who build software themselves can't rely on LD_LIBRARY_PATH either; they all either have to configure their builds to rpath everything, defined LD_LIBRARY_PATH themselves (yuck), or you'd need to do some fancy wrapper for the compilers so that you can enforce it the same way EB does (doable, but not noticeable complication). I'd say this is the biggest downside of this approach.
I will say that |
This does work, but I think it opens everything built with EasyBuild to the possibility of spontaneous breakage with each system update.
Yes, adding
Thank you for the link to the relevant docs! I had misunderstood and assumed that this feature wasn't implemented yet. It's working thus far, and hopefully the alternate universe that EB constructs will remain sufficiently separated from the system packages.
Yes, I can see how that would be annoying, but it seems like the lesser of two problems. If writing custom easyconfigs is a viable option, users can build all their software using EasyBuild to make use of the RPATH machinery. Thank you, @boegel and @Micket, for the very fast and informative responses! I now have a collection of working solutions to choose from, so feel free to close this issue. |
#16064 doesn't actually fix this yet since it only updates |
I get the same trying to install foss-2022. It stops at libreadline. /bin/bash: /easybuild/2022/software/ncurses/6.3-GCCcore-11.3.0/lib/libtinfo.so.6: no version information available (required by /bin/bash)
x86_64-pc-linux-gnu This is the standard bash from ubuntu 20.04: eb --show-system-info
System information (haicluster1.fz-juelich.de):
* OS:
-> name: Ubuntu
-> type: Linux
-> version: 20.04
-> platform name: x86_64-unknown-linux
* CPU:
-> vendor: AMD
-> architecture: x86_64
-> family: AMD
-> arch name: UNKNOWN (archspec is not installed?)
-> model: AMD EPYC 7F72 24-Core Processor
-> speed: 3200.0
-> cores: 48
-> features: 3dnowprefetch,abm,adx,aes,aperfmperf,apic,arat,avic,avx,avx2,bmi1,bmi2,bpext,cat_l3,cdp_l3,clflush,clflushopt,clwb,clzero,cmov,cmp_legacy,constant_tsc,cpb,cpuid,cqm,cqm_llc,cqm_mbm_local,cqm_mbm_total,cqm_occup_llc,cr8_legacy,cx16,cx8,de,decodeassists,extapic,extd_apicid,f16c,flushbyasid,fma,fpu,fsgsbase,fxsr,fxsr_opt,ht,hw_pstate,ibpb,ibrs,ibs,irperf,lahf_lm,lbrv,lm,mba,mca,mce,misalignsse,mmx,mmxext,monitor,movbe,msr,mtrr,mwaitx,nonstop_tsc,nopl,npt,nrip_save,nx,osvw,overflow_recov,pae,pat,pausefilter,pclmulqdq,pdpe1gb,perfctr_core,perfctr_llc,perfctr_nb,pfthreshold,pge,pni,popcnt,pse,pse36,rdpid,rdrand,rdseed,rdt_a,rdtscp,rep_good,sep,sev,sha_ni,skinit,smap,smca,sme,smep,ssbd,sse,sse2,sse4_1,sse4_2,sse4a,ssse3,stibp,succor,svm,svm_lock,syscall,tce,topoext,tsc,tsc_scale,umip,v_vmsave_vmload,vgif,vmcb_clean,vme,vmmcall,wbnoinvd,wdt,xgetbv1,xsave,xsavec,xsaveerptr,xsaveopt,xsaves
* GPU:
-> NVIDIA
-> 3x NVIDIA GeForce RTX 3090, 515.65.01
* software:
-> glibc version: 2.31
-> Python binary: /usr/bin/python
-> Python version: 3.8.10 |
I encountered the same issue while trying to install intel-2022a. Didn't encounter this previously when I was using older versions of EasyBuild though.
I'm using the standard bash from Ubuntu 22.04 as well.
|
The rest of the fixes (for all recent ncurses version) is found in #16270 |
@surak @jacekwu1989 Can you verify whether the problem you are seeing is indeed resolved when using the For example, use |
Yes. There was a weird bug doing from the pr, so I patched the files myself and reinstalled them in 2 systems. The bug is gone. |
I also encountered a bug from the PR, but I can't remember what it is now. patching the easyconfig for ncurses manually solved the problem. |
EasyBuild 4.6.0 fails to build
libreadline-8.1-GCCcore-11.2.0.eb
:(Line breaks have been added for legibility.)
On this system,
/bin/sh
is provided bybash
, which is configured using--with-curses
, so it requires bothlibreadline.so
andlibncursesw.so
:Since
config.guess
is a shell script, it can't be executed when the EasyBuildlibncursesw.so
is used together with the systemlibreadline.so
:The text was updated successfully, but these errors were encountered: