How to I resolve undefined reference errors when compiling my application?
12:12 25 Apr 2026

here's the issue:

  1. I'm compiling my application in an Ubuntu Docker container; I've compiled in a similar environment before, and can compile on my local machine.

  2. When I compile within the container, I get two errors complaining about undefined reference to `gtk_widget_get_color' and to `gtk_css_provider_load_from_string'.

  3. When I simply copy the executable over to the container, I get the latter error at runtime (and would presumably get the former, if the app continued).

  4. Any thoughts?

Setup info:

Contents of my Dockerfile:

FROM kasmweb/ubuntu-jammy-desktop:1.18.0-rolling-weekly
USER root

ENV HOME /home/kasm-default-profile
ENV STARTUPDIR /dockerstartup
ENV INST_SCRIPTS $STARTUPDIR/install
WORKDIR $HOME

######### Customize Container Here ###########



COPY hsm-repo /hsm-repo
RUN apt-get -y update
RUN apt-get -y install libpq-dev
RUN apt-get -y install libadwaita-1-dev
RUN apt-get -y install libgtk-4-dev
WORKDIR /hsm-repo

RUN apt-get install libcurl4-gnutls-dev -y
RUN gcc $( pkg-config --cflags gtk4 ) $(pkg-config --cflags libpq) -o coeus coeus.h coeus.c $( pkg-config --libs gtk4 ) $( pkg-config --libs libpq) -lcurl -w -lpthread
RUN chmod +x coeus



######### End Customizations ###########

RUN chown 1000:0 $HOME
RUN $STARTUPDIR/set_user_permission.sh $HOME

ENV HOME /home/kasm-user
WORKDIR $HOME
RUN mkdir -p $HOME && chown -R 1000:0 $HOME

USER 1000

Output of cat /etc/os-release:

PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
docker gtk gtk4