Cross-compilation in Raspbian arm64 environment
Unsolved
General and Desktop
-
[Ubuntu] sudo apt-get update sudo apt-get upgrade ping 192.168.16.25 sudo bash apt-get install gcc git bison python gperf pkg-config apt install make apt install libclang-dev apt install build-essential mkdir /opt/qt5pi chown devqt:devqt /opt/qt5pi cd /opt/qt5pi/ wget https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz tar xf gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz export PATH=$PATH:/opt/qt5pi/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin nano ~/.bashrc wget http://ftp.yz.yamagata-u.ac.jp/pub/qtproject/official_releases/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz tar xf qt-everywhere-src-5.15.2.tar.xz cat qt-everywhere-src-5.15.2/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf ------------------------------------------------------------------------------------ *백업 MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = arm-linux-gnueabi-gcc QMAKE_CXX = arm-linux-gnueabi-g++ QMAKE_LINK = arm-linux-gnueabi-g++ QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR = arm-linux-gnueabi-ar cqs QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy QMAKE_NM = arm-linux-gnueabi-nm -P QMAKE_STRIP = arm-linux-gnueabi-strip load(qt_config) --------------------------------------------------------------------------------------------------------------------- ------------------------------------- 아래 실행전 라즈베리파이에 설치가 끝나야 된다 ------------------------------------- ping 192.168.16.25 rsync -avz --rsync-path="sudo rsync" pi@194.1.27.169:/lib sysroot rsync -avz --rsync-path="sudo rsync" pi@194.1.27.169:/usr/include sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.169:/usr/lib sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.169:/opt/vc sysroot/opt rsync -avz --rsync-path="sudo rsync" pi@194.1.27.160:/lib sysroot rsync -avz --rsync-path="sudo rsync" pi@194.1.27.160:/usr/include sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.160:/usr/lib sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.160:/opt/vc sysroot/opt rsync -avz --rsync-path="sudo rsync" pi@194.1.27.166:/lib sysroot rsync -avz --rsync-path="sudo rsync" pi@194.1.27.166:/usr/include sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.166:/usr/lib sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.166:/opt/vc sysroot/opt rsync -avz --rsync-path="sudo rsync" ubuntu@194.1.27.160:/usr/lib sysroot rsync -avz --rsync-path="sudo rsync" ubuntu@194.1.27.160:/usr/include sysroot/usr rsync -avz --rsync-path="sudo rsync" ubuntu@194.1.27.160:/usr/lib sysroot/usr rsync -avz --rsync-path="sudo rsync" ubuntu@194.1.27.160:/opt/vc sysroot/opt rsync -avz --rsync-path="sudo rsync" pi@194.1.27.166:/usr/lib sysroot rsync -avz --rsync-path="sudo rsync" pi@194.1.27.166:/usr/include sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.166:/usr/lib sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.166:/opt/vc sysroot/opt --------------------------------------------------------------------------------------------------------------------- mv sysroot/usr/lib/arm-linux-gnueabihf/libEGL.so.1.1.0 sysroot/usr/lib/arm-linux-gnueabihf/libEGL.so.1.1.0_backup mv sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0 sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0_backup ln -s sysroot/opt/vc/lib/libEGL.so sysroot/usr/lib/arm-linux-gnueabihf/libEGL.so.1.1.0 ln -s sysroot/opt/vc/lib/libGLESv2.so sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0 ln -s sysroot/opt/vc/lib/libEGL.so sysroot/opt/vc/lib/libEGL.so.1 ln -s sysroot/opt/vc/lib/libGLESv2.so sysroot/opt/vc/lib/libGLESv2.so.2 --------------------------------------------------------------------------------------------------------------------- ls sysroot/usr/lib/arm-linux-gnueabihf/libEGL.so.1.1.0 mv sysroot/usr/lib/arm-linux-gnueabihf/libEGL.so.1.1.0 sysroot/usr/lib/arm-linux-gnueabihf/libEGL.so.1.1.0_backup ln -s sysroot/opt/vc/lib/libEGL.so sysroot/usr/lib/arm-linux-gnueabihf/libEGL.so.1.1.0 mv sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0 sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0_backup ln -s sysroot/opt/vc/lib/libGLESv2.so sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0 mv sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0 sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0_backup ls sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0 ln -s sysroot/opt/vc/lib/libGLESv2.so sysroot/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.1.0 ln -s sysroot/opt/vc/lib/libEGL.so sysroot/opt/vc/lib/libEGL.so.1 ln -s sysroot/opt/vc/lib/libGLESv2.so sysroot/opt/vc/lib/libGLESv2.so.2 wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py chmod +x sysroot-relativelinks.py ./sysroot-relativelinks.py sysroot rsync -avz --rsync-path="sudo rsync" pi@194.1.27.169:/usr/lib sysroot rsync -avz --rsync-path="sudo rsync" pi@194.1.27.169:/usr/include sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.169:/usr/lib sysroot/usr rsync -avz --rsync-path="sudo rsync" pi@194.1.27.169:/opt/vc sysroot/opt/ ./sysroot-relativelinks.py sysroot mkdir qt5build cd qt5build/ ../qt-everywhere-src-5.15.2/configure -opengl es2 -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=/opt/qt5pi/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /opt/qt5pi/sysroot -prefix /usr/local/qt5pi -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtdatavis3d -nomake examples -make libs -pkg-config -no-use-gold-linker -v ../qt-everywhere-src-5.15.2/configure -opengl es2 -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=/opt/qt5pi_ubuntu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- -sysroot /opt/qt5pi_ubuntu/sysroot -prefix /usr/local/qt5pi_ubuntu -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtdatavis3d -nomake examples -make libs -pkg-config -no-use-gold-linker -v ../qt-everywhere-src-5.15.2/configure -developer-build -opensource -nomake examples -nomake tests make -j8 make install -j8 cd /opt/qt5pi/
A 32-bit cross-compilation environment was built, but as the OS changed to 64, a 64-bit cross-compile environment must be built.
This is how to build a 32-bit cross-compile, is it much different from this and building a 64-bit cross-compile environment?