go - cgo错误:没有这样的文件或目录#cgo LDFLAGS:-lpam -fPIC
问题描述
我正在尝试构建一个使用 #cgo 的 go 项目,但我一直遇到同样的问题:
./pam.go:36:10: fatal error: security/pam_appl.h: No such file or directory
#include <security/pam_appl.h>
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
这是项目https://github.com/uber/pam-ussh。我只是添加了几行代码供我自己使用,只是一个 http 请求并不复杂。因为我在一个问题中读到它可能来自 go 版本,所以我提到它是 1.14.1。这是使用make文件的错误
/tmp/go-build094518109/b053/pam.cover.go:36:10: fatal error: security/pam_appl.h: No such file or directory
#cgo LDFLAGS: -lpam -fPIC
^~~~~~~~~~~~~~~~
compilation terminated.
所以在安装 libpam0g-dev 之后我得到了新的错误
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libpam.so when searching for -lpam
/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libpam.a when searching for -lpam
/usr/bin/ld: cannot find -lpam
collect2: error: ld returned 1 exit status
我的系统:
Linux span-ThinkPad-T490 4.15.0-109-generic #110-Ubuntu SMP Tue Jun 23 02:39:32 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
去版
go version go1.14.4 linux/386
解决方案
推荐阅读
- java - 如何使用 Method 类型的值进行枚举
- javascript - 错误:3 INVALID_ARGUMENT:无法在 Firestore 管理员中转换数组值中的数组值
- json - 如何在 WSO2 ESB 中对 json 对象进行分组?
- powershell - 如何为同一文件夹授予多个用户/组 acl 权限?
- javascript - Panolens.js 问题:按钮在移动设备上不起作用
- c++ - Windows 上的 Eclipse Cygwin 找不到要包含的本地库?
- java - 存储 Diffie-Hellman 密钥对以在 Java 中的 KeyStore 中重用
- android - Android SDK 测试 - 在没有 Google 登录活动的情况下登录 Google 帐户(通过某些 API)
- apache-spark - 以 avro 格式将数据帧写入 kafka 主题以用于 spark < 2.4?
- user-interface - 如何删除边框上添加的 Fragment ()?