Eu estou tentando cross-compilar o dlib usando o toolchain do Raspberry Pi, com o cartão SD montado no meu host linux.
Após a compilação e instalação bem-sucedida, inicio meu Pi e executo
python -c 'import dlib'
Esta é a saída de erro:
ImportError: /usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.22' not found (required by dlib/dlib.so)
Quando eu executo no meu Raspberrry Pi, é isso que eu recebo:
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_DEBUG_MESSAGE_LENGTH
O que está acontecendo? Como posso consertar isso? No meu Pi, libstdc++
já está em sua versão mais recente.
Este é um problema com a minha máquina HOST, que, como esperado, tem a string GLIBCXX_3.4.22
.
Se possível, posso fazer o downgrade da libstdc ++ em minha máquina host para que a versão máxima suportada seja 3.4.20? Como?
Host :
SO: Ubuntu 17.04 64 bits (amd64)
Ambiente de compilação cruzada: conjunto de ferramentas oficial hospedado aqui: Ferramentas Raspberry Pi
Outra coisa que pode ajudar é que eu estou montando o cartão SD (que contém o sistema operacional Raspbian) para minha máquina host e, em seguida, usando um arquivo toolchain cmake para definir o sysroot
para a localização do cartão SD. / p>
Saída de dpkg -l|grep 'gcc.*arm'
:
abhishek@K ~/rpi
$ dpkg -l|grep 'gcc.*arm'
ii gcc-6-arm-linux-gnueabihf 6.3.0-12ubuntu2cross1 amd64 GNU C compiler
ii gcc-6-arm-linux-gnueabihf-base:amd64 6.3.0-12ubuntu2cross1 amd64 GCC, the GNU Compiler Collection (base package)
ii gcc-arm-linux-gnueabihf 4:6.3.0-2ubuntu1 amd64 GNU C compiler for the armhf architecture
ii libgcc-6-dev-armhf-cross 6.3.0-12ubuntu2cross1 all GCC support library (development files)
ii libgcc1-armhf-cross 1:6.3.0-12ubuntu2cross1 all GCC support library
Nota : publiquei-o no site da framboesa SE, mas foi sugerido que mudasse a questão.