max*_*x89 8 linker cc rust rust-diesel
好吧,这里有点无处可去。在我发布了我的 Mac M1 与 Rust Diesel 的链接器问题并没有得到任何结果之前。因此,我启动了一个 Ec2 实例,并尝试在此处运行此包,并得到以下结果:
error: linking with `cc` failed: exit status: 1
...
= note: /usr/bin/ld: cannot find -lpq
Run Code Online (Sandbox Code Playgroud)
我已经安装了以下内容:
sudo yum update -y
sudo yum install git -y
sudo yum groupinstall "Development Tools" -y
sudo yum install cmake -y
sudo yum install postgresql-libs -y
Run Code Online (Sandbox Code Playgroud)
说真的,人们是如何设法让这个箱子运行的?
egg*_*yal 10
来自 Diesel入门指南:
\n\n\n如果您遇到类似以下错误:
\n\n注意:ld:找不到 -lmysqlclient\nclang 的库:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)\n\n这意味着在这种情况下您缺少数据库后端 \xe2\x80\x93 所需的客户端库
\nmysqlclient。您可以通过安装库(根据您的操作系统使用通常的方法来执行此操作)或通过使用标记排除不需要的默认库来解决此问题--no-default-features。默认情况下,diesel 依赖于以下客户端库:
\n\n
\n- \n
libpq对于 PostgreSQL 后端- \n
libmysqlclient对于Mysql后端- \n
libsqlite3对于 SQlite 后端如果您不确定如何安装这些依赖项,请参阅相应依赖项的文档或您的发行版包管理器。
\n例如,如果您只安装了 PostgreSQL,则可以使用此命令
\ndiesel_cli仅安装 PostgreSQL:\ncargo installdiesel_cli --no-default-features --features postgres\n\n
错误“ cannot find -lpq”是您的链接器告诉您它找不到 PostgreSQL 客户端库。