cgo ошибка: нет такого файла или каталога # cgo LDFLAGS: -lpam -fPIC - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь создать проект go, который использует # cgo, и я продолжаю сталкиваться с той же проблемой:

./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 версия

go version go1.14.4 linux/386
...