golang alpine 配置gstreamer开发环境
启动容器
sudo docker run -it --name golang -v $PWD:/home/leon -d golang:1.18-alpine3.17
tar zxvf x86_64-linux-musl-cross.tgz
mv x86_64-linux-musl-cross /usr/local/musl
export PATH=$PATH:/usr/local/musl/bin/:/usr/local/musl/x86_64-linux-musl/bin
下载gstreamer
wget https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.16.2.tar.xz
wget https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.16.2.tar.xz
wget https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.16.2.tar.xz
wget https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.16.2.tar.xz
wget https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.16.2.tar.xz
export CC=x86_64-linux-musl-gcc
export CXX=x86_64-linux-musl-g++
apk udpate
apk add perl
apk add bison
apk add flex
wget https://musl.libc.org/releases/musl-1.2.3.tar.gz
musl
tar zxvf musl-1.2.3.tar.gz
cd musl-1.2.3/
./configure
make
make install
ln -s /lib/libc.musl-x86_64.so.1 /usr/lib/libc.musl-x86_64.so.1
zlib
wget https://www.zlib.net/zlib-1.2.13.tar.gz
tar zxvf zlib-1.2.13.tar.gz
cd zlib-1.2.13/
./configure --static --64
make
make install
wget https://github.com/libffi/libffi/releases/download/v3.4.4/libffi-3.4.4.tar.gz
tar zxvf libffi-3.4.4.tar.gz
cd libffi-3.4.4/
./configure --enable-static
export CC=x86_64-linux-musl-gcc
pcre2
wget https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2
tar jxvf pcre2-10.42.tar.bz2
cd pcre2-10.42/
./configure --enable-static
make
make install
libblkid
apk add libblkid
gstreamer
./configure --enable-static
make -j6
make instll
$ GOOS=linux GOARCH=amd64 CGO_ENABLED=1 CC=/usr/local/bin/x86_64-linux-musl-cc go build -v main.go