Raspberry pi 在raspberry pi上编译cobalt时遇到错误

Raspberry pi 在raspberry pi上编译cobalt时遇到错误,raspberry-pi,ninja,cobalt,Raspberry Pi,Ninja,Cobalt,在ninja上为raspberry pi编译cobalt时,我遇到如下错误: 对符号“eglCreateImageKHR”的未定义引用 以下是完整的跟踪: [1/1]链接钴 失败:钴 /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/too

在ninja上为raspberry pi编译cobalt时,我遇到如下错误:

对符号“eglCreateImageKHR”的未定义引用

以下是完整的跟踪:

[1/1]链接钴
失败:钴
/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/righboard/raspi/2//共享/开放\u max/righboard\u平台。解码\u目标\u创建。o:对符号“eglCreateImageKHR”的未定义引用
/home/mi07/work/raspitools/sysroot/opt/vc/lib/libbrcmEGL.so:添加符号时出错:命令行中缺少DSO
collect2:错误:ld返回了1个退出状态
忍者:构建停止:子命令失败。

我在谷歌上搜索了一下,找到了一些与此相关的文章

根据本文,故障可能是
libssl1.0-dev
不在那里。我检查发现它是
libssl-dev
。将其替换为libssl1.0-dev,但错误仍然存在

谁能告诉我出了什么问题吗?

eglCreateImageKHR()是一个EGL扩展。自从Cobalt编译之后,看起来头声明了扩展,但是链接的EGL库没有定义它。令人惊讶的是,只有eglCreateImageKHR()缺失,而没有eglDestroyImageKHR

无论如何,我建议尝试更新EGL库,但我不熟悉raspi安装,因此无法告诉您具体细节


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

我通过更改操作系统本身解决了这个问题。问题是钴与raspi stretch不兼容,而是与raspi jessie兼容。由于从操作系统复制了
sysroot
文件,因此产生了该错误。我不知道确切的区别在哪里,但是换成拉斯皮对我来说很好

我对这些进行了评论,该部分工作正常,但偶然发现了另一个错误,如以下
未定义对@GLIBCXX_3.4.21的引用