-
Notifications
You must be signed in to change notification settings - Fork 143
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
Installation failure in Alpine Linux Apptainer (Singularity) build #1486
Comments
Out of interest, I attempted to install Console output
So, it looks like there is possibly some system library that is required but not installed, or is otherwise not readable for some reason? Odd that this doesn't happen for a Docker build or when entering the shell and running the installation there. |
Doing a google search on the error message:
suggests it's an iconv issue. Someone mentions here (api-platform/api-platform#1532) that it's an Alpine bug, and suggests this fix: nunomaduro/phpinsights#43 (comment). I don't think this is an rlang issue. cc @gaborcsardi in case he has already seen this |
This is a side issue, but the easiest way to install pak is from the pre-built binaries, assuming you are on x86_64 or arm64: https://github.com/r-lib/pak#pre-built-binaries |
Thank you for the very quick replies! I might have been too specific when I tried to search for the error, I did not find the same results. My problem in this case is not that I need to install One additional note is that I did one more test installing |
Just to be clear, pak does not depend on rlang. It also seems to me that the installation of other packages as fails, based on your output when installing pak from source. So maybe this issue is not specific to rlang? |
Interesting! Is Actually, I am inclined to think I tried to install both Overall, I think this is not specific to Also, I'm a bit of a fan of your work, so apologies if I'm nerding out a bit :) |
Follow-up to my comment from yesterday about installing pak -- rlang is pulled in when running
It appears, based on package metadata provided by my local mirror (this file), that eight of these depend on rlang: ellipsis, lifecycle, pillar, pkgload, testthat, tibble, vctrs, and waldo. So, it looks like the packages listed as "Suggests" are also pulled in, which I see is an effect from using |
Fixed! Adding the package |
Another update! Installing the gnu-iconv package did not work, but compiling GNU iconv from source did work. So, this is now fixed (rlang installing fine during a build, no errors), but this is an Alpine Linux problem and not an rlang problem. Thank you again for your help! |
Cool, glad you solved your issue! |
When attempting to install the
rlang
package in an Apptainer image build (in the%post
section), the package compiles but then appears to fail loading from the temporary location.To make it a bit more convoluted, the Alpine Linux build is being run inside a Windows 10 WSL2 image of Ubuntu 20.04.
The Apptainer image is an extension of an existing custom image, extending the
alpine:3.16
Docker image, for using a portable R setup inside various systems, including HPC. The final / output image from that R config does not show any other problems.A Docker build running the same installation command does not fail.
Creating a package installation directory other than
/usr/lib/R/library
or/usr/lib/R/site-library
, e.g./tmp/test-libs
, and installing the packages there does not result in a failure, but this is not optimal -- preferably, package installations should occur in the system-wide library for any user to make use of when using this image.Please let me know if there is any more information I should provide!
Package installation call
Also fails with
dependencies = FALSE
.Rscript -e 'install.packages("rlang", dependencies = TRUE)'
iconvlist()
outputThis was run from the final image of the previous step, i.e. equivalently just before calling
install.packages
.Apptainer def fragment
This is the Apptainer def file used. The def file for the Alpine_R image is much larger, and can be provided if of interest.
Console output
This is the console output for attempting to install the package itself, with
dependencies = FALSE
, by runningapptainer build --fakeroot --sandbox
with the def file shown above.Console output
The text was updated successfully, but these errors were encountered: