在 Travis CI Elixir Build 期间编译 C 扩展

Compile C extension During Travis CI Elixir Build

https://travis-ci.org/mmmries/sqlitex/builds/51889563#L96

我正在尝试为我的 sqlite Elixir 项目设置 Travis CI 集成。当前,在尝试编译属于 esqlite 依赖项的 C 扩展时,构建失败。错误消息返回

c_src/esqlite3_nif.o: file not recognized: File format not recognized

所以编译错误发生在我不太了解的钢筋层。我无法在 Travis 之外复制此构建错误,所以我不确定下一步该看哪里。

构建现在可以正常工作:https://travis-ci.org/mmmries/sqlitex/builds/52085658

问题是我弄乱了上游的 esqlite 依赖项。我将 rebar 项目的副本发布到 hex.pm 所以我可以将其指定为依赖项,但我不小心将已编译的 "c_src/*.o" 文件包含在 hex 包中,但这些文件应该在客户端本地编译机.

travis 上的 ubuntu 图像试图使用在 OSX 机器上编译的现有 .o 文件,这就是文件格式错误的原因。