安装Monary时出现/usr/bin/ld: cannot find -lsasl2及编译错误求助
-lsasl2链接器错误和编译问题 嘿,我看到你在Ubuntu上装Monary的时候碰到了链接器找不到-lsasl2的问题,还有一堆编译相关的报错。别慌,这个问题其实挺常见的,咱们一步步来搞定它。
问题根源
你看到的/usr/bin/ld: cannot find -lsasl2错误,本质是系统里缺了链接器需要的libsasl2开发库。-l前缀是告诉链接器要关联某个库,这里的sasl2对应的就是libsasl2,而Ubuntu默认不会预装这个库的开发版本,所以链接阶段直接卡壳了。
具体解决步骤
安装缺失的依赖库
打开终端,运行下面的命令安装libsasl2的开发包,它包含了编译和链接需要的头文件与库文件:sudo apt-get update && sudo apt-get install libsasl2-dev补齐基础编译环境
如果装完上面的库还是有编译报错,大概率是系统缺了基础编译工具。可以安装build-essential包补全:sudo apt-get install build-essential重新尝试安装Monary
依赖都补全之后,重新安装Monary就行。如果之前有缓存导致的遗留问题,可以加上--no-cache-dir参数:pip install monary # 缓存有问题时用这条 pip install --no-cache-dir monary
你遇到的错误信息回顾
在Ubuntu系统下出现链接器错误/usr/bin/ld: cannot find -lsasl2,同时还出现编译错误信息:x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/mon...
内容的提问来源于stack exchange,提问作者KugelBlitz

