earnaud / MetaShARK-v2

MetaShARK (Metadata Shiny Automated Resource & Knowledge) is a R shiny app allowing the user to get information about Ecological Metadata Language and to fill in metadata for datasets according to this standard. This version of MetaShARK offers the user a R package to access the app.
MIT License
10 stars 4 forks source link

Reporting: container can't be build with podman #163

Open olea opened 3 years ago

olea commented 3 years ago

Hi:

Probably this issue is not very important for the project but I think is appropriate to report. I've been trying to build the Metashark container using podman. Probably you know Podman is a container technology compatible with OCI. Podman is designed to be used in userspace and it's expected to be 100% compatible with docker syntax and CLI. Being well integrated in my Fedora Linux it was the obvious tool to build Metashark. But found out this not work. I'm finding a problem building htmltools as a dependency of the modules EDIorg/EMLassemblyline and EDIorg/taxonomyCleanr.

This is the error log:


trying URL 'https://cran.rstudio.com/src/contrib/xfun_0.25.tar.gz'
Content type 'application/x-gzip' length 112755 bytes (110 KB)
==================================================
downloaded 110 KB

* installing *source* package ‘htmltools’ ...
** package ‘htmltools’ successfully unpacked and MD5 sums checked
mv: cannot remove '/usr/local/lib/R/site-library/htmltools/Meta': Input/output error
mv: cannot remove '/usr/local/lib/R/site-library/htmltools/R': Input/output error
mv: cannot remove '/usr/local/lib/R/site-library/htmltools/help': Input/output error
mv: cannot remove '/usr/local/lib/R/site-library/htmltools/html': Input/output error
mv: cannot remove '/usr/local/lib/R/site-library/htmltools/libs': Input/output error
ERROR: cannot remove earlier installation, is it in use?
* removing ‘/usr/local/lib/R/site-library/htmltools’
* restoring previous ‘/usr/local/lib/R/site-library/htmltools’
Error in i.p(...) : 
  (converted from warning) installation of package ‘htmltools’ had non-zero exit status
Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p
Execution halted
Error: error building at STEP "RUN Rscript -e 'remotes::install_github("EDIorg/EMLassemblyline@ad838f970ee259eda7f96d6a0bbe7f9fa509c66e")'": error while running runtime: exit status 1

OTOH, the line __RUN Rscript -e 'remotes::install_version("htmltools",upgrade="never", version = "0.5.1.1")'__ works as expected.

I've tried to diagnose what is really happening but I don't know about the R build system to deep into this. @jesmg suspects this htmltools building trouble is caused by some kind of UID mismatch Docker admits but it's OCI incompatible.

I post this just for the record.

Configuration details:

$ cat /etc/fedora-release 
Fedora release 33 (Thirty Three)
$ rpm -q podman
podman-3.2.3-2.fc33.x86_64
$ git info --no-config

## Remote URLs:

origin  https://github.com/earnaud/MetaShARK-v2 (fetch)
origin  https://github.com/earnaud/MetaShARK-v2 (push)

## Remote Branches:

  origin/HEAD -> origin/master
  origin/dev
  origin/dev-metafin
  origin/master
  origin/sd-annotations
  origin/server
  origin/server-dev

## Local Branches:

* dev
  master

## Most Recent Commit:

commit 404a9d4aa32b6ace46efded5d8cad629320fc93d
Author: Elie Ker Arno <earnaud@outlook.com>

    Update description file and associated files
yvanlebras commented 3 years ago

Thank you olea for reporting this. I don't know podman or OCI, need to learn about it. Will look at this with earnaud!

Best,

Yvan

earnaud commented 3 years ago

Hi ! Just discovering your issue (sorry), but I do not know Podman either. Same as Yvan ;)

olea commented 3 years ago

Hi ! Just discovering your issue (sorry), but I do not know Podman either. Same as Yvan ;)

Don't worry. Just wanted to explain the case for future others finding same problem.

jesmg commented 3 years ago

I want to review this issue, maybe the next week I have time for it. But I don't know about R.

Probably the solution for this issue is "not assuming you are root inside the container, installing everything in the user space."

earnaud commented 3 years ago

the error message does not seem to be linked to a permission issue. I led few researches about it, and it seems to be linked to the filesystem sanity (maybe hardware).

But I may be wrong ..

olea commented 3 years ago

the error message does not seem to be linked to a permission issue. I led few researches about it, and it seems to be linked to the filesystem sanity (maybe hardware).

I don't have a real evidence but I don't think so. This happens always and only when EDIorg components rebuild htmltools. Maybe this should be better reported and EDIorg issue tracker or the htmltools one.

Anyhow, I opened this issue more as a knowledge base entry than a MetaShARK error report :)

jesmg commented 2 years ago

I have tried to build the container image in a brand new Fedora installation (Fedora 34) with Podman (version 3.4.1, latest available). The build process was sucessful "out of the box", without any errors.

So I think @olea's podman installation has any problem.

yvanlebras commented 2 years ago

Thank you @jesmg for your feedback! Maybe this can be related to a new MetaShARK version?

jesmg commented 2 years ago

It's possible, It could be related with an update of MetaShARK/xfun library/htmltools library. But I don't know enough about the application dependencies to be sure.