在raspberry pi

时间:2018-06-11 12:00:34

标签: raspberry-pi ninja cobalt

在忍者上为覆盆子pi编译钴时,我得到这样的错误:

undefined reference to symbol 'eglCreateImageKHR'

这里是完整的跟踪:

[1/1] LINK cobalt FAILED: cobalt /home/mi07/work/raspitools/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++ @cobalt.rsp /home/mi07/work/raspitools/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: obj/starboard/raspi/2/../shared/open_max/starboard_platform.decode_target_create.o: undefined reference to symbol 'eglCreateImageKHR' /home/mi07/work/raspitools/sysroot/opt/vc/lib/libbrcmEGL.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed.

我用Google搜索并发现了一些关于此site的相关文章。

根据这篇文章,错误可能是libssl1.0-dev不存在的错误。我查了一下,发现它是libssl-dev。用libssl1.0-dev替换它但仍然存在错误。

有人可以告诉我出了什么问题吗?

2 个答案:

答案 0 :(得分:1)

eglCreateImageKHR()是EGL扩展EGL_KHR_image。自Cobalt编译以来,看起来头部声明了扩展名,但链接的EGL库没有定义它。令人惊讶的是,只有eglCreateImageKHR()缺失而且eglDestroyImageKHR也没有。

无论如何,我建议尝试更新EGL库,但我不熟悉raspi安装,所以不能告诉你具体细节。

或者,可以安全地在decode_target_create.cc中注释掉该函数的调用,因为SbImageIsDecodeSupported()总是为raspi返回false(请参阅image_is_decode_supported.cc),因此不应在平台上创建/销毁解码目标。 (解码目标支持是对raspi进行的工作。)

答案 1 :(得分:0)

我通过改变操作系统本身来解决这个问题。问题是钴与树脂拉伸不相容,但与raspie jessie不相容。因为正在从OS复制sysroot文件,所以它正在创建该错误。我不知道确切的区别在哪里,但改为raspi jessie对我来说很好。