Skip to content

Commit 89750ea

Browse files
committed
fix(docker): Proprely set linker search path for libOpenDSSC.so
Signed-off-by: Steffen Vogel <post@steffenvogel.de>
1 parent 41852ba commit 89750ea

File tree

4 files changed

+82
-75
lines changed

4 files changed

+82
-75
lines changed

packaging/docker/Dockerfile.debian

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,46 +17,48 @@ ENV DEBIAN_FRONTEND=noninteractive
1717
# Toolchain
1818
RUN apt-get update && \
1919
apt-get install -y \
20-
gcc g++ \
21-
pkg-config cmake make \
22-
autoconf automake autogen libtool \
23-
texinfo git git-svn curl tar wget diffutils \
24-
flex bison \
25-
protobuf-compiler protobuf-c-compiler \
26-
clang-format clangd
20+
gcc g++ \
21+
pkg-config cmake make \
22+
autoconf automake autogen libtool \
23+
texinfo git git-svn curl tar wget diffutils \
24+
flex bison \
25+
protobuf-compiler protobuf-c-compiler \
26+
clang-format clangd
2727

2828
# Dependencies
2929
RUN apt-get update && \
3030
apt-get install -y \
31-
libssl-dev \
32-
libgraphviz-dev \
33-
libprotobuf-dev \
34-
libprotobuf-c-dev \
35-
uuid-dev \
36-
libconfig-dev \
37-
libnl-3-dev libnl-route-3-dev \
38-
libcurl4-openssl-dev \
39-
libjansson-dev \
40-
libzmq3-dev \
41-
libnanomsg-dev \
42-
librabbitmq-dev \
43-
libmosquitto-dev \
44-
librdkafka-dev \
45-
libcomedi-dev \
46-
libibverbs-dev \
47-
librdmacm-dev \
48-
libusb-1.0-0-dev \
49-
libfmt-dev \
50-
libspdlog-dev \
51-
liblua5.3-dev \
52-
libhiredis-dev \
53-
libnice-dev \
54-
libmodbus-dev
31+
libssl-dev \
32+
libgraphviz-dev \
33+
libprotobuf-dev \
34+
libprotobuf-c-dev \
35+
uuid-dev \
36+
libconfig-dev \
37+
libnl-3-dev libnl-route-3-dev \
38+
libcurl4-openssl-dev \
39+
libjansson-dev \
40+
libzmq3-dev \
41+
libnanomsg-dev \
42+
librabbitmq-dev \
43+
libmosquitto-dev \
44+
librdkafka-dev \
45+
libcomedi-dev \
46+
libibverbs-dev \
47+
librdmacm-dev \
48+
libusb-1.0-0-dev \
49+
libfmt-dev \
50+
libspdlog-dev \
51+
liblua5.3-dev \
52+
libhiredis-dev \
53+
libnice-dev \
54+
libmodbus-dev
5555

5656
# Install unpackaged dependencies from source
5757
ADD packaging/patches /deps/patches
5858
ADD packaging/deps.sh /deps
5959
RUN bash /deps/deps.sh
60+
RUN echo "/usr/local/openDSSC/bin/" > /etc/ld.so.conf.d/opendssc.conf && \
61+
ldconfig
6062

6163
# Expose ports for HTTP and WebSocket frontend
6264
EXPOSE 80

packaging/docker/Dockerfile.fedora

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ RUN dnf -y install \
6464
hiredis-devel \
6565
libnice-devel \
6666
libmodbus-devel
67-
# TODO: v1.2.1 seems broken. Re-enable once new version is available
68-
# nanomsg-devel
67+
# TODO: v1.2.1 seems broken. Re-enable once new version is available
68+
# nanomsg-devel
6969

7070
# Install unpackaged dependencies from source
7171
# TODO: We currently need to build with GCC 14 to get OpenDSSC working
@@ -79,7 +79,8 @@ RUN echo /usr/local/lib >> /etc/ld.so.conf
7979
ADD packaging/patches /deps/patches
8080
ADD packaging/deps.sh /deps
8181
RUN bash /deps/deps.sh
82-
RUN ldconfig
82+
RUN echo "/usr/local/openDSSC/bin/" > /etc/ld.so.conf.d/opendssc.conf && \
83+
ldconfig
8384

8485
# Workaround for libnl3's search path for netem distributions
8586
RUN ln -s /usr/lib64/tc /usr/lib/tc
@@ -120,9 +121,9 @@ COPY . /villas/
120121
WORKDIR /villas/build
121122
RUN --mount=type=cache,id=${DISTRO}-${FEDORA_VERSION}-${ARCH}-${REF},target=/villas/build \
122123
cmake \
123-
-DCMAKE_CXX_COMPILER=g++-14 \
124-
-DCMAKE_C_COMPILER=gcc-14 \
125-
${CMAKE_OPTS} .. && \
124+
-DCMAKE_CXX_COMPILER=g++-14 \
125+
-DCMAKE_C_COMPILER=gcc-14 \
126+
${CMAKE_OPTS} .. && \
126127
make -j$(nproc) install && \
127128
ldconfig
128129

packaging/docker/Dockerfile.rocky

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@ RUN dnf -y install \
5454
ADD packaging/patches /deps/patches
5555
ADD packaging/deps.sh /deps
5656
RUN bash /deps/deps.sh
57+
RUN echo "/usr/local/openDSSC/bin/" > /etc/ld.so.conf.d/opendssc.conf && \
58+
ldconfig
5759

5860
# Workaround for libnl3's search path for netem distributions
5961
RUN ln -s /usr/lib64/tc /usr/lib/tc

packaging/docker/Dockerfile.ubuntu

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -18,53 +18,55 @@ ENV DEBIAN_FRONTEND=noninteractive
1818
# Toolchain
1919
RUN apt-get update && \
2020
apt-get install -y \
21-
gcc g++ \
22-
pkg-config cmake make \
23-
autoconf automake autogen libtool \
24-
texinfo git git-svn curl tar wget diffutils \
25-
flex bison \
26-
protobuf-compiler protobuf-c-compiler \
27-
clang-format clangd \
28-
python3-venv \
29-
ninja-build mercurial \
30-
xmlto udev
21+
gcc g++ \
22+
pkg-config cmake make \
23+
autoconf automake autogen libtool \
24+
texinfo git git-svn curl tar wget diffutils \
25+
flex bison \
26+
protobuf-compiler protobuf-c-compiler \
27+
clang-format clangd \
28+
python3-venv \
29+
ninja-build mercurial \
30+
xmlto udev
3131

3232
# Dependencies
3333
RUN apt-get update && \
3434
apt-get install -y \
35-
libssl-dev \
36-
libgraphviz-dev \
37-
libprotobuf-dev \
38-
libprotobuf-c-dev \
39-
uuid-dev \
40-
libconfig-dev \
41-
libnl-3-dev libnl-route-3-dev \
42-
libcurl4-openssl-dev \
43-
libjansson-dev \
44-
libzmq3-dev \
45-
libnanomsg-dev \
46-
librabbitmq-dev \
47-
libmosquitto-dev \
48-
librdkafka-dev \
49-
libcomedi-dev \
50-
libibverbs-dev \
51-
librdmacm-dev \
52-
libusb-1.0-0-dev \
53-
libwebsockets-dev \
54-
libfmt-dev \
55-
libspdlog-dev \
56-
liblua5.3-dev \
57-
libhiredis-dev \
58-
libnice-dev \
59-
libmodbus-dev \
60-
libre2-dev \
61-
libglib2.0-dev \
62-
libcriterion-dev
35+
libssl-dev \
36+
libgraphviz-dev \
37+
libprotobuf-dev \
38+
libprotobuf-c-dev \
39+
uuid-dev \
40+
libconfig-dev \
41+
libnl-3-dev libnl-route-3-dev \
42+
libcurl4-openssl-dev \
43+
libjansson-dev \
44+
libzmq3-dev \
45+
libnanomsg-dev \
46+
librabbitmq-dev \
47+
libmosquitto-dev \
48+
librdkafka-dev \
49+
libcomedi-dev \
50+
libibverbs-dev \
51+
librdmacm-dev \
52+
libusb-1.0-0-dev \
53+
libwebsockets-dev \
54+
libfmt-dev \
55+
libspdlog-dev \
56+
liblua5.3-dev \
57+
libhiredis-dev \
58+
libnice-dev \
59+
libmodbus-dev \
60+
libre2-dev \
61+
libglib2.0-dev \
62+
libcriterion-dev
6363

6464
# Install unpackaged dependencies from source
6565
ADD packaging/patches /deps/patches
6666
ADD packaging/deps.sh /deps
6767
RUN bash /deps/deps.sh
68+
RUN echo "/usr/local/openDSSC/bin/" > /etc/ld.so.conf.d/opendssc.conf && \
69+
ldconfig
6870

6971
# Expose ports for HTTP and WebSocket frontend
7072
EXPOSE 80

0 commit comments

Comments
 (0)