Unable to link webview app using webkit2gtk-dev and musl-cross-make
This is an intentional duplication of this issue as I'm not sure whether the problem is my use of the linker or the library!
I am trying to compile a webview app for aarch64-musl
. However I'm not able to get musl-cross-make's aarch64-linux-musl-g++
to find the library files downloaded from the webkit2gtk-dev
package.
A quick example follows
ctr=`buildah from alpine:3.13`
trap "buildah rm $ctr" EXIT
fetch_cross=`mktemp`
trap "rm $fetch_cross" EXIT
cat >$fetch_cross <<EOF
set -ex
cd /opt
wget https://musl.cc/aarch64-linux-musl-cross.tgz
tar -xf aarch64-linux-musl-cross.tgz
rm aarch64-linux-musl-cross.tgz
EOF
buildah add $ctr $fetch_cross /fetch-musl-cross.sh
buildah run $ctr ash /fetch-musl-cross.sh
buildah run $ctr rm /fetch-musl-cross.sh
buildah run $ctr apk add --arch aarch64 webkit2gtk-dev
buildah commit $ctr builder
podman run -ti --rm \
-v .:/mnt \
-w /mnt \
builder ash -c \
'/opt/aarch64-linux-musl-cross/bin/aarch64-linux-musl-g++ main.c `pkg-config --cflags --libs glib-2.0 gtk+-3.0 webkit2gtk-4.0` -o build/aarch64/app'
This results in
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lwebkit2gtk-4.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lgtk-3
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lgdk-3
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lz
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lpangocairo-1.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lpango-1.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lharfbuzz
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -latk-1.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lcairo-gobject
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lcairo
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lgdk_pixbuf-2.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lsoup-2.4
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lgio-2.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -ljavascriptcoregtk-4.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lgobject-2.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lglib-2.0
/opt/aarch64-linux-musl-cross/bin/../lib/gcc/aarch64-linux-musl/10.2.1/../../../../aarch64-linux-musl/bin/ld: cannot find -lintl