我正在尝试编译使用gokiri库的GO应用程序。 我安装了docker并在本地编译了xgo交叉编译器。 尝试执行以下命令时:
./xgo mydomain.com/test/test-app
我收到以下错误:
In file included from /usr/include/libxml2/libxml/parser.h:810:0,
from /usr/include/libxml2/libxml/globals.h:18,
from /usr/include/libxml2/libxml/threads.h:35,
from /usr/include/libxml2/libxml/xmlmemory.h:218,
from /usr/include/libxml2/libxml/tree.h:1307,
from ../../github.com/moovweb/gokogiri/help/help.go:6:
/usr/include/libxml2/libxml/encoding.h:28:19: fatal error: iconv.h: No such file or directory
我安装了xcode-tools
,帮我编译了我的机器(mac ox El Capitan)。但是,我无法将其编译到其他环境中。
任何帮助将不胜感激。感谢。
更新1:
我尝试添加依赖项,但结果相同:
./xgo --deps /usr/local/Cellar/libiconv/1.14/ mydomain.com/test/test-app
在xgo
的日志中甚至提到这个库已经被缓存了:
Dependency already cached: /Users/macuser/.xgo-cache/1.14.
答案 0 :(得分:0)
来自文档:
假设依赖的C / C ++库是configure / make 基于,已经为交叉编译做好了准备并且可以作为 tarball下载(.tar,.tar.gz或.tar.bz2)。进一步的计划包括 如果需要,将此扩展到基于cmake的项目(请打开一个 问题,如果它对你很重要)。
可以通过--deps参数添加此类依赖项。他们会 在开始交叉编译和包之前检索 缓存以节省后续呼叫的带宽。
所以在这个例子中,它将是:
./xgo --deps https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz mydomain.com/test/test-app