Saya memiliki mesin Debian 8 x86_64 dengan dua lingkungan chroot. Yang pertama armel
dan yang kedua s390x
. armel
diinstal minggu lalu, dan s390x
diinstal baru-baru ini. armel
baik sebelum dan sesudah s390x
instalasi. Tapi saya mengalami kesalahan saat kompilasi di bawah yang baru diinstal s390x
.
# chroot debian-s390x
# g++ -dumpmachine
s390x-linux-gnu
# cd /home/cryptopp-5.6.3/
# make
g++ -DNDEBUG -g2 -O2 -pipe -c osrng.cpp
g++: error trying to exec '/usr/lib/gcc/s390x-linux-gnu/5/cc1plus': execv: Exec format error
GNUmakefile:382: recipe for target 'osrng.o' failed
make: *** [osrng.o] Error 1
Saya tidak dapat menemukan informasi apa pun saat mencari /usr/lib/gcc/s390x-linux-gnu/5/cc1plus': execv: Exec format error
.
Saya memang menemukan beberapa bacaan yang berkaitan dengan cc1plus
, tetapi saya tidak melihat di mana ada masalah dengan instalasi:
# file /usr/lib/gcc/s390x-linux-gnu/5/cc1plus
/usr/lib/gcc/s390x-linux-gnu/5/cc1plus: ELF 64-bit MSB executable, IBM S/390, version 1
(GNU/Linux), dynamically linked, interpreter /lib/ld64.so.1, for GNU/Linux 2.6.32,
BuildID[sha1]=aaa1e442e47e5e41c36b70d5e6a8f538da4ca3e7, not stripped
Saya juga melakukan instal ulang g++
dengan apt-get install --reinstall g++
, tetapi tidak membantu.
Apa masalahnya, dan apa solusinya?
EDIT : ini mungkin masalahnya, atau mungkin masalah terkait: Bug Debian 684909: qemu-system-s390x rusak, tidak ada bootloader 's390-zipl.rom' .
Saya tidak percaya ini karena proyek yang saya coba kompilasi:
# cat test.cxx
#include <iostream>
int main(int argc, char* argv[])
{
return argc;
}
# g++ test.cxx
g++: error trying to exec '/usr/lib/gcc/s390x-linux-gnu/5/cc1plus': execv: Exec format error
Berikut adalah tur 5-detik prosedur untuk menginstal lingkungan debian-s390x :
# apt-get install qemu-user-static debootstrap
# qemu-debootstrap --arch=s390x --keyring /usr/share/keyrings/debian-archive-keyring.gpg
--variant=buildd --exclude=debfoster unstable debian-s390x http://ftp.debian.org/debian
# chroot debian-s390x
# apt-get install locales build-essentials emacs-nox