-
Notifications
You must be signed in to change notification settings - Fork 237
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
docker image expects missing package uptime
#1113
Comments
Maybe the basic centos8 image has error, the new centos8 has the |
That would suggest a fourth solution, which would be
|
I think rebuild it, and it will include it. I run the official FreeSurfer image, and it show the |
Can you point to where the official FreeSurfer image is hosted? From what I'm seeing, the list on DockerHub is the same as when the issue was opened
and no new images have been pushed with those tags
|
All of our CentOS8/Rocky8 machines have /usr/bin/uptime installed by default because it is part of the baseos repo (system and process monitoring). Not clear to me this should become an added dependency for the installers. |
Yes, and I build the image from the dockerfile , and its version is centos7. I use the official image is Centos8.
|
@tzuifurther , yep, that's the issue. For what it's worth, the currently listed base image (centos:7) contains docker run --rm -it centos:7 ls -l /usr/bin/uptime
-rwxr-xr-x 1 root root 68840 Sep 30 2020 /usr/bin/uptime So, it's not clear to me why the official FreeSurfer image is missing |
I don't know who made/posted the archive you are referencing, but there are no copies of system commands/utilities like uptime in the tar archives on the official release page, https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads. We recommend using the binary rpm and deb installers. I can check those installers will install uptime if not already installed on the system, but the tar archives are not a substitute for the installers. |
I'll apologize for any confusion, but I don't think we have anyone officially supporting a dockerfile script, i.,e., I'm not familiar with the userid who posted that dockerfile script. Instead of downloading a tar archive and trying to hardcode the install of specific commands/utilities in that script, I would as ROOT download and run the appropriate binary freesurfer .rpm installer via the link I referenced above, e.g., "yum install -y ./freesurfer-CentOS7-7.2.0-1.x86_64.rpm". Then as the very last step in the dockerfile script, e..g, after setting a default PATH, adding any other environment variables you want, userids's, etc., export FREESURFER_HOME (as installed by 7.2.0 CentOS7 rpm) to be /usr/local/freesurfer/7.2.0-1 Then finally source the $FREESURFER_HOME/SetUpFreeSurfer.{sh,csh} script. Or it's download and run the FS binary rpm installer at some appropriate step in the dockerfile script, and then save setting up the freesurfer environment - which includes its setup script modifying the head of PATH for freesurfer - to be the last step. BTW - I've added the "update" command as a dependency for the dev build rpm's and that should make it into the next release. |
Ah, thanks for clarifying. Just to be clear, I don't have an issue with building a docker image that has FreeSurfer myself (the approach you've outlined has worked for me). Instead, this issue was more about trying to use what I understood to be the "official" FreeSurfer image (again, hosted here: https://hub.docker.com/r/freesurfer/freesurfer/#!), an image that I had assumed was built with the Dockerfile on the main branch of this repo. It's the image on hub.docker that doesn't have |
@buildqa maybe we could make github action to build the image ? |
I think a container for the latest release was added as freesurfer/freesurfer:7.4.1 last week |
This is to confirm that there I can see a new freesurfer/freesurfer:7.4.1. It still lacks the
|
I've updated the |
@pwighton , confirming that I can see the updated image with Would you all consider doing something for the previous images, too? Rebuilding the images with |
A forthcoming change is going to eliminate the use of uptime if it's not installed on the system. So this should not be an issue with future releases or for development builds once that change is propagated to the dev branch. |
Thanks @psadil, I can work on updating the previous versions. It might take a few days though. |
Thanks! Feel free to close this issue whenever it's convenient |
I've updated the following
|
As with #1042, I am trying to run
mideface
through docker. This fails because the packageuptime
is expected but not present in the official image (which I understand to be this)An answer in #1042 was to manually set an environment variable that would prevent
fs_time
from trying to calluptime
. Would the developers consider fixing the Dockerfile or documenting the requirement? Potential solutions include:FS_TIME_ALLOW=0
to the README for the Docker Image, as is done forFS_LICENSE
uptime
(e.g., here)The text was updated successfully, but these errors were encountered: