<div dir="ltr"><div dir="ltr">Hi Michael,<div><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 13 Feb 2024 at 07:18, Michael Otto <<a href="mailto:michael.otto@data-experts.de" target="_blank">michael.otto@data-experts.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span style="font-size:10pt;font-family:sans-serif">at the moment
it's only about the Linux platform. And yes, it should be a static compilation
with all the necessary dependencies (including libtiff and all the others).</span><br><br><span style="font-size:10pt;font-family:sans-serif">I currently use
an Ubuntu VM and use an Alpine-Linux Docker container for compiling. First
a static Geos library is created via cmake, then a static Proj library
(without Curl, because this currently leads to errors) and then Gdal as
a static library. </span><br><span style="font-size:10pt;font-family:sans-serif">The basis of the
script comes from this source: </span><a href="https://github.com/OSGeo/gdal/issues/4815" target="_blank"><span style="font-size:10pt;color:blue;font-family:sans-serif">https://github.com/OSGeo/gdal/issues/4815</span></a><span style="font-size:10pt;font-family:sans-serif">.</span><br><span style="font-size:10pt;font-family:sans-serif">I have updated
the version used to the current version and replaced the existing './configure'
and 'make' commands with cmake.</span><br><br><span style="font-size:10pt;font-family:sans-serif">This is what it
looks like:</span></blockquote><div><br></div><div>Thanks, that's helpful :-) Following your script, there's no dynamic libgdal linked into the app binaries...</div><div><br></div><div><font face="monospace"># ldd /tmp/mo_gdal_install/bin/gdal_translate<br>       /lib/ld-musl-aarch64.so.1 (0xffffb968b000)<br>    libz.so.1 => /lib/libz.so.1 (0xffffb7e06000)<br>       libtiff.so.5 => /usr/lib/libtiff.so.5 (0xffffb7d87000)<br>     libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xffffb7c80000)<br>       libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0xffffb7c2a000)<br>     libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xffffb7a6a000)<br> libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xffffb7a45000)<br>   libc.musl-aarch64.so.1 => /lib/ld-musl-aarch64.so.1 (0xffffb968b000)<br></font></div><div><br></div><div>If you want it to error instead of creating anything dynamic, add <font face="monospace">-DCMAKE_<span style="color:rgb(0,0,0)">EXE_LINKER_FLAGS=</span></font><span style="color:rgb(0,0,0)"><font face="monospace">-static</font> to your GDAL configuration. </span><span style="color:rgb(0,0,0)">Then you get errors!</span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)"><font face="monospace">[ 95%] Linking CXX executable test_ogrsf<br>/usr/lib/gcc/aarch64-alpine-linux-musl/10.2.1/../../../../aarch64-alpine-linux-musl/bin/ld: attempted static link of dynamic object `/lib/libz.so'<br>collect2: error: ld returned 1 exit status<br>make[2]: *** [apps/CMakeFiles/test_ogrsf.dir/build.make:112: apps/test_ogrsf] Error 1<br>make[1]: *** [CMakeFiles/Makefile2:8116: apps/CMakeFiles/test_ogrsf.dir/all] Error 2<br>make: *** [Makefile:149: all] Error 2</font><br></span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)">So you need to add CMake options to specifically point to the static libraries </span><span style="color:rgb(0,0,0)">via <font face="monospace">-DJPEG_LIBRARY=/usr/lib/</font></span><font face="monospace">libjpegturbo.a</font><span style="color:rgb(0,0,0)"> and so on. Using the GDAL internal zlib/libtiff/etc build options might make your life simpler.</span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)">Note that GDAL is pretty big! <b>Each</b> of gdaltranslate, gdalwarp, etc will end up at >30MB ...</span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)">Rob :)</span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)"><br></span></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><font face="sans-serif"></font>
</blockquote></div></div>