代码 > 搞定cgo编译musl的pcre库了

2024-06-21

从alpine.pkgs.org 下载alpine的pcre和pcredev包。

配上对应的musl的libc,直接静态编译,结束。

代码大概是

export lib=`cd $(dirname $0)/../../lib/pcre-musl; pwd`

CGO_LDFLAGS="-L$lib -Wl,-rpath=$lib -s -w" CC="musl-gcc" CGO_ENABLED=1 go build -tags 'musl' -a --ldflags "-linkmode external -extldflags '-static'" --trimpath -o ../../bin/hellclient ../

提示找不到-lpcre时其实是找不到libpcre.so.a,从pcre-dev包里搞过来就行。

离开glibc,全身舒爽。

终于体会了lgp/lgpl传染的恶心了。

我不是不接受lgpl,我不是不能接受动态链接。

但是动态连接哪哪都提示glibc系统版本不够高太恶心了。

更何况引入pcre这种mit库的时候。

我只是开个cgo引个dll,压根不想用你牛逼轰轰的glibc好不……

我甚至都用netgo不用你那个破网络库了。

打包编译,在centos7上都能正常运行,一下子就舒服了。

接下去就做稳定性测试了。

 

点击登录