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

libtinfo.so': No such file or d Building R #702

Open
marekbeckmann opened this issue May 31, 2021 · 5 comments
Open

libtinfo.so': No such file or d Building R #702

marekbeckmann opened this issue May 31, 2021 · 5 comments
Milestone

Comments

@marekbeckmann
Copy link

Hello,

I am trying to build R with Easy Build, but it ends with the following error:

== FAILED: Installation ended unsuccessfully (build directory: /home/user/.local/easybuild/build/ncurses/6.0/system-system): build failed (first 300 chars): cmd "ln -s /home/user/.local/easybuild/software/ncurses/6.0/lib/libncurses.so /home/user/.local/easybuild/software/ncurses/6.0/lib/libtinfo.so" exited with exit code 1 and output:
ln: failed to create symbolic link '/home/user/.local/easybuild/software/ncurses/6.0/lib/libtinfo.so': No such file or d (took 1 min 5 sec)
== Results of the build can be found in the log file(s) /tmp/eb-9_2wuptg/easybuild-ncurses-6.0-20210531.121840.bngRO.log
ERROR: Build of /home/user/.local/easybuild/software/EasyBuild/4.3.4/easybuild/easyconfigs/n/ncurses/ncurses-6.0.eb failed (err: 'build failed (first 300 chars): cmd "ln -s /home/user/.local/easybuild/software/ncurses/6.0/lib/libncurses.so /home/user/.local/easybuild/software/ncurses/6.0/lib/libtinfo.so" exited with exit code 1 and output:\nln: failed to create symbolic link \'/home/user/.local/easybuild/software/ncurses/6.0/lib/libtinfo.so\': No such file or d')

How can I fix this error? I installed EB following the easy setup instructions on the docs page.

The eb Im trying to install is: eb V8-2.3-foss-2019a-R-3.6.0.eb --robot

module list:
Currently Loaded Modules:

  1. EasyBuild/4.3.4

My Environment:

  • OpenSuse Leap 15.2
  • EasyBuild 4.3.4

If you need further information, please let me know.

@boegel
Copy link
Member

boegel commented May 31, 2021

@marekbeckmann OpenSUSE is fairly uncommon in the EasyBuild community, which is probably why we haven't noticed this issue yet...

Can you share the contents of the ncurses install directory? I.e. the output of "ls -l /home/user/.local/easybuild/software/ncurses/6.0", and also "ls -l /home/user/.local/easybuild/software/ncurses/6.0/lib*"?

@boegel boegel added this to the 4.x milestone May 31, 2021
@marekbeckmann
Copy link
Author

Thanks for the quick reply @boegel, I attached the Output of the ls commands, as well as tree (for better overview). Im fairly new to EasyBuild, so out of interest, what would be the "go-to" distribution to use?

ncurses_6_0.txt
ncurses_6_0_lib.txt
ncurses_6_0_tree.txt

@boegel
Copy link
Member

boegel commented May 31, 2021

@marekbeckmann The problem you're running into is that the library files like libncurses.so are being installed in a lib64 subdirectory, while we assume in the ncurses-6.0.eb easyconfig file that they're located in a lib subdirectory...

That's a quirk on OpenSUSE we've seen before, and which we're currently not taking into account consistently.
We did make changes related to this recently (see easybuilders/easybuild-framework#3580), but they don't help in this particular case (because that symlinking we do there is done after running the commands specified in postinstallcmds, which is where the problem pops up for you.

To fix this, please try the following:

  • copy the ncurses-6.0.eb easyconfig file, using eb --copy-ec ncurses-6.0.eb .;
  • edit the file and change /lib/ to /lib64/ in the postinstallcmds part;
  • install this easyconfig file using eb ncurses-6.0.eb;
  • then proceed with the original installation eb V8-2.3-foss-2019a-R-3.6.0.eb --robot;

Do let us know if this helps. To properly fix the problem you're seeing, we should probably create the lib -> lib64 symlink (again, see easybuilders/easybuild-framework#3580) earlier on...

The most comment distribution in the EasyBuild community is by far CentOS (or anything Red Hat based), see the results of our most recent user survey (slide 17 in https://easybuild.io/eum21/003_eum21_easybuild_state_of_the_union.pdf).

@marekbeckmann
Copy link
Author

Thanks for your help, I got rid of the error that way (although the next one occurred right after). A colleague also just told me, that under Open-Suse, the package "site-config", which is preinstalled, has to be uninstalled, to resolve the lib issue. I tried it out and it worked for me, so this might be a better fix. However it didn't work with my existing EB environment. I'll probably look in to Ubuntu/Debian for EB in the future, since Centos is being discontinued.

@boegel
Copy link
Member

boegel commented Jun 9, 2021

@marekbeckmann Another option would be Rocky Linux, it looks like that'll become the successor of CentOS community-wise... See https://rockylinux.org/

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

No branches or pull requests

2 participants