Skip to content

ragg installation in docker container #187

@tatvabodhini

Description

@tatvabodhini

We are trying to build a shiny app in a container environment that takes ragg package to render custom fonts.

The docker build fails with the following message.
Full build log here: build_log.txt

-----------------------------------------------------
FontDescriptor.h:7:10: fatal error: ft2build.h: No such file or directory
7 | #include <ft2build.h>
| ^~~~~~~~~~~~
compilation terminated.
make: *** [/usr/lib/R/etc/Makeconf:204: caches.o] Error 1
ERROR: compilation failed for package �systemfonts�
* removing �/usr/local/lib/R/site-library/systemfonts�
ERROR: dependency �systemfonts� is not available for package �textshaping�
* removing �/usr/local/lib/R/site-library/textshaping�
ERROR: dependencies �systemfonts�, �textshaping� are not available for package �ragg�
* removing �/usr/local/lib/R/site-library/ragg�
*
-----------------------------------------------------

I have included all the system requirements as listed in the package description. Here is the full docker reproducible example.

FROM rocker/r-base:4.4.1

# Install dependencies for 'ragg'
RUN apt-get update && apt-get install -y --no-install-recommends \
    libpng-dev \
    libtiff5-dev \
    libjpeg-dev \
    libfreetype6-dev \
    && rm -rf /var/lib/apt/lists/*

RUN R -e "install.packages('shiny', repos='http://cran.rstudio.com/', dependencies=TRUE)"
RUN R -e "install.packages('ragg', repos='http://cran.rstudio.com/', dependencies=TRUE)"


RUN echo "local(options(shiny.port = 3838, shiny.host = '0.0.0.0'))" > /usr/lib/R/etc/Rprofile.site
RUN groupadd --system app && useradd --system --gid app app
WORKDIR /home/app
COPY app .

RUN chown app:app -R /home/app
USER app
EXPOSE 3838

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions