Автор Тема: Установка Box86  (Прочитано 754 раз)

Оффлайн Delphist52

  • Начинающий
  • *
  • Сообщений: 46
Установка Box86
« : 25.08.2023 17:13:17 »
Всем доброго дня!
Помогите пожалуйста установить Box86 на Alt Linux (платформа Rock Pi 5B).
Box64 в репозитории (по умолчанию) есть, а вот Box86 нету.
Согласно описанию
Цитировать
As most RK3588 devices run an AARCH64 OS, you'll need an armhf multiarch environment, and an armhf gcc: On debian, install it with sudo apt install gcc-arm-linux-gnueabihf.
для установки необходим armhf gcc (пакет arm-linux-gnueabihf-gcc), но его нет в репозитории. Я попробовал скачал пакет arm-linux-gnueabihf-gcc, установил его при помощи epm repack (Рис1 и Рис2 в приложении), но при компилировании Box86 не проходит команда:
cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfoс сообщением (Рис3):
[root@localhost box86]# cd build; cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo
-- The C compiler identification is unknown
-- The ASM compiler identification is unknown
-- Didn't find assembler
CMake Error at CMakeLists.txt:80 (project):
  The CMAKE_C_COMPILER:

    arm-linux-gnueabihf-gcc

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:80 (project):
  No CMAKE_ASM_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "ASM" or the CMake cache entry CMAKE_ASM_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Warning: Did not find file Compiler/-ASM
-- Configuring incomplete, errors occurred!
[root@localhost build]#

Как это можно решить и установить Box86?

Может быть Box86 можно установить из какого нибудь другого репозитория?

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: Установка Box86
« Ответ #1 : 28.08.2023 11:43:07 »
Запустите команду и посмотрите полный путь к компилятору:

which arm-linux-gnueabihf-gcc
Если этот файл будет символической ссылкой, то нужно убедиться, что она корректная. Судя по цвету вывода он как раз ей и является. Попробуйте указать в CMake полный путь, который там будет указан (через ls -l).

Оффлайн Delphist52

  • Начинающий
  • *
  • Сообщений: 46
Re: Установка Box86
« Ответ #2 : 28.08.2023 22:52:34 »
Запустите команду и посмотрите полный путь к компилятору:
Результат выполнения команды:
[delphist52@localhost ~]$ which arm-linux-gnueabihf-gcc
which: no arm-linux-gnueabihf-gcc in (/home/delphist52/bin:/usr/local/bin:/usr/lib/kf5/bin:/usr/bin:/bin:/usr/games:/var/lib/snapd/snap/bin)
Не обнаружен.
Я посмотрел эти файлы. Они нулевого размера (рис 4).
Получается не установлен?

Оффлайн toreonify

  • Давно тут
  • **
  • Сообщений: 77
Re: Установка Box86
« Ответ #3 : 29.08.2023 08:30:25 »
Да, там символические ссылки в пакете, он как бы пустой.
Этот пакет зависит от еще двух, где уже и идет сам компилятор. А те два пакета от еще горсти. Перейдите по ссылке, где вы скачивали первый пакет, и в разделе Requires скачайте два пакета, которые указаны там. Если после этого компилятор будет работать некорректно, то нужно установить остальные зависимости этих пакетов, может они есть и в репозитории Альта.

Оффлайн Delphist52

  • Начинающий
  • *
  • Сообщений: 46
Re: Установка Box86
« Ответ #4 : 01.09.2023 21:20:31 »
Если после этого компилятор будет работать некорректно, то нужно установить остальные зависимости этих пакетов, может они есть и в репозитории Альта.

Установил (также через epm repack) два пакета из зависимостей (gcc-12-arm-linux-gnueabihf_12.2.0-14cross1_arm64.deb, cpp-arm-linux-gnueabihf_12.2.0-3_arm64.deb)
Стало лучше:
[root@localhost build]# cmake .. -DRK3588=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo
-- The C compiler identification is unknown
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/arm-linux-gnueabihf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /usr/bin/arm-linux-gnueabihf-gcc
-- Check for working C compiler: /usr/bin/arm-linux-gnueabihf-gcc - broken
CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:67 (message):
  The C compiler

    "/usr/bin/arm-linux-gnueabihf-gcc"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: '/home/delphist52/box86/build/CMakeFiles/CMakeScratch/TryCompile-MMD9Qp'
   
    Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_7a9fd/fast
    /usr/bin/gmake  -f CMakeFiles/cmTC_7a9fd.dir/build.make CMakeFiles/cmTC_7a9fd.dir/build
    gmake[1]: вход в каталог «/home/delphist52/box86/build/CMakeFiles/CMakeScratch/TryCompile-MMD9Qp»
    Building C object CMakeFiles/cmTC_7a9fd.dir/testCCompiler.c.o
    /usr/bin/arm-linux-gnueabihf-gcc    -o CMakeFiles/cmTC_7a9fd.dir/testCCompiler.c.o -c /home/delphist52/box86/build/CMakeFiles/CMakeScratch/TryCompile-MMD9Qp/testCCompiler.c
    /usr/lib/gcc-cross/arm-linux-gnueabihf/12/cc1: error while loading shared libraries: libisl.so.23: cannot open shared object file: No such file or directory
    gmake[1]: *** [CMakeFiles/cmTC_7a9fd.dir/build.make:78: CMakeFiles/cmTC_7a9fd.dir/testCCompiler.c.o] Error 1
    gmake[1]: выход из каталога «/home/delphist52/box86/build/CMakeFiles/CMakeScratch/TryCompile-MMD9Qp»
    gmake: *** [Makefile:127: cmTC_7a9fd/fast] Error 2
   
   

 

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:80 (project)


-- Configuring incomplete, errors occurred!

Попробую дальше продолжить

Оффлайн N0rbert

  • alt linux team
  • ***
  • Сообщений: 231
  • snk@
Re: Установка Box86
« Ответ #5 : 01.09.2023 23:18:40 »
Можете попробовать скачать прекомпилированный deb-пакет из репозитория, упомянутого в инструкции по компиляции и перепаковать его командами типа

# apt-get update
# apt-get install wget rsync eepm dpkg alien cross-glibc-arm
# cd /tmp
# wget -c https://itai-nelken.github.io/weekly-box86-debs/debian/./pool/box86_0.3.3%2b20230827.399b2c7-1_armhf.deb
# epm install --repack ./box86_0.3.3+20230827.399b2c7-1_armhf.deb

У меня в Docker-контейнере ALT Sisyphus arm64 в результате получился вот такой вывод:

# cat /etc/altlinux-release
ALT Sisyphus starter kit (Hypericum)
# arch
aarch64
# box86
arm-binfmt-P: Could not open '/lib/ld-linux-armhf.so.3': No such file or directory

т.е. система не может исполнить 32-битный файл для armhf на 64-битной системе aarch64. А 64-битный файл /lib/ld-linux-aarch64.so.1 на месте, естественно.

Возможно, что aarch64+armhf multiarch/biarch в ALT не поддерживается в отличие от Debian-семейства.
Наверное, проще будет поставить armhf вариант ALT Linux на плату и туда ставить box86.
« Последнее редактирование: 02.09.2023 13:42:02 от N0rbert »

Оффлайн Delphist52

  • Начинающий
  • *
  • Сообщений: 46
Re: Установка Box86
« Ответ #6 : 16.09.2023 20:12:16 »
Можете попробовать скачать прекомпилированный deb-пакет из репозитория, упомянутого в инструкции по компиляции и перепаковать его командами типа

Большое спасибо! Вроде бы получилось, установился box86 (рис 5).
Но к сожалению ни одно приложение через box64 не запускается:
[delphist52@localhost BE4485E244859DB1]$ box64 rufus-4.1p.exe
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL ATOMICS PageSize:4096 Running on Unknown CPU with 8 Cores
Params database has 15 entries
Box64 with Dynarec v0.2.3 cc56ebbb built on Jun 10 2023 01:58:37
Using default BOX64_LD_LIBRARY_PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/
Using default BOX64_PATH: ./:bin/
Counted 76 Env var
Looking for rufus-4.1p.exe
Not an ELF file (sign=MZ�)
Error: reading elf header of /run/media/delphist52/BE4485E244859DB1/rufus-4.1p.exe, try to launch natively instead
/run/media/delphist52/BE4485E244859DB1/rufus-4.1p.exe: /run/media/delphist52/BE4485E244859DB1/rufus-4.1p.exe: не удаётся запустить бинарный файл
[delphist52@localhost BE4485E244859DB1]$

Что не так не понятно.