Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,744
Вы сказали Спасибо: 819
Поблагодарили 3,854 раз(а) в 2,022 сообщениях
Сила репутации: 1
Репутация: 3854 
(репутация неоспорима)
Установка Vita SDK на Linux Mint 20.3 (XFCE, 64-bit)
Установка Vita SDK на Linux Mint 20.3 (XFCE, 64-bit)
Предупреждение
Человеку, имеющему опыт использования ОС семейства Линукс может показаться, что какие-либо шаги можно сделать проще или иначе. Да, можно - значит эта статья просто не для вас. Обратитесь к первоисточнику.
Mint у меня крутится под VirtualBox 7.0. В систему установлены дополнения гостевой ОС. В процессе установки было выбрано дополнительное ПО, сразу после установки система была полностью обновлена, включая ядро.
Подготовка
Запускаем Терминал, вводим команды ниже.
После каждой команды нажимаем Enter.
Читаем и выполняем предложения из Терминала.
Все работы ведутся в домашней папке.
По желанию, команду выше можно сразу же запустить повторно для проверки успешности процесса.
Ожидайте много строк вида "skip install <название>. Package previously installed less than one day ago".
Если в конце строка "Failed to install, the package probably does not exist.", запускаем команду заново.
Перезагружаемся (по желанию):
reboot
Проверка
Запускаем Терминал.
Загружаем образцы программ:
git clone https://github.com/vitasdk/samples
cd samples && git checkout 69d96c1 && cd ..
Вторая строчка - временный фикс сломанной сборки по команде make
yoti@pspx:~/samples/hello_world/build$ cmake ..
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- Check for working C compiler: /usr/local/vitasdk/bin/arm-vita-eabi-gcc
-- Check for working C compiler: /usr/local/vitasdk/bin/arm-vita-eabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/vitasdk/bin/arm-vita-eabi-g++
-- Check for working CXX compiler: /usr/local/vitasdk/bin/arm-vita-eabi-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yoti/samples/hello_world/build
Компилируем методом cmake - шаг 2 "сборка":
make
Выхлоп с логами успешной сборки
yoti@pspx:~/samples/hello_world/build$ make
Scanning dependencies of target hello_world
[ 12%] Building C object CMakeFiles/hello_world.dir/src/main.c.obj
[ 25%] Linking C executable hello_world
[ 25%] Built target hello_world
Scanning dependencies of target hello_world.vpk_
[ 37%] Converting to Sony ELF hello_world.velf
[ 50%] Creating SELF hello_world.self
[ 62%] Generating param.sfo for hello_world.vpk
[ 75%] Building vpk hello_world.vpk
[ 75%] Built target hello_world.vpk_
Scanning dependencies of target hello_world.self_
[100%] Built target hello_world.self_
Готовый файл будет находиться в этой же папке (build) с именем "hello_world.vpk".
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,744
Вы сказали Спасибо: 819
Поблагодарили 3,854 раз(а) в 2,022 сообщениях
Сила репутации: 1
Репутация: 3854 
(репутация неоспорима)
Инструкция перепроверена на Mint 20.3 сегодня (21.11.2022). Есть немного предупреждений во время сборки при помощи cmake (скорее всего из-за отката коммита для samples), но в итоге всё работает.
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,744
Вы сказали Спасибо: 819
Поблагодарили 3,854 раз(а) в 2,022 сообщениях
Сила репутации: 1
Репутация: 3854 
(репутация неоспорима)
Сообщение от SardaukarNN
Что можно сделать?
Купить книжку по программированию. Весь текст на экране и он вполне чётко описывает проблему, которая не относится к консоли напрямую. Ты налинковал чего-то, чего линковщик найти не может.
P.S. Рассмотрел на втором скриншоте. Папка, зачем-то, вытащена из samples, а вот зависимости -- нет. Собственно, ответ выше от этого не меняется.
Купить книжку по программированию. Весь текст на экране и он вполне чётко описывает проблему, которая не относится к консоли напрямую. Ты налинковал чего-то, чего линковщик найти не может.
P.S. Рассмотрел на втором скриншоте. Папка, зачем-то, вытащена из samples, а вот зависимости -- нет. Собственно, ответ выше от этого не меняется.
много лет компилю под GCC, он подобных ошибок не было.
Очень странная специфика сборки под плойку.
Хорошо, тогда прошу ещё раз проверить сборку sdl2 из samples.
Под Linux Mint 19.3 (XFCE, 64-bit) - проблем нет, а под
Linux Mint 20.3 (XFCE, 64-bit) - выводит ошибку.
Не понимаю в чем разница.
Так же с ошибкой собирается и под Linux Mint 21 (XFCE, 64-bit).
Основную разницу для себя заменил только в версиях cmake (19 - 3.10, 20 - 3.16, 21 - 3.20).
Причем как 19, так и 20-ы отказываются обновиться до версии cmake 3.20.
P.S.: считаю, если бы все было в этом плане хорошо, то мы бы увидели различные уроки по программированию/сборке или готовые проекты для данной приставки, чего на данный момент кроме иностранных портов лично я не наблюдаю.
Зашел на данный форум в надежде найти ответы на вопросы....
Может стоит создать тему, под названием "Ошибки при компиляции/сборки"?
Заранее спасибо!
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,744
Вы сказали Спасибо: 819
Поблагодарили 3,854 раз(а) в 2,022 сообщениях
Сила репутации: 1
Репутация: 3854 
(репутация неоспорима)
Сообщение от SardaukarNN
Очень странная специфика сборки под плойку.
Нет никаких странностей. Инструкция в шапке проверена лично. Вот прямо все строки под копирку.
Собственно, блока с рассмотрением проблем нет потому, что я их и не встречал особо никогда.
Разве что использую gcc9 для некоторых проектов, которые лень обновлять под свежую версию gcc.
Правда, в данный момент есть некоторые проблемы со сборкой пакетов у разработчиков VitaSDK.
Сообщение от SardaukarNN
Под Linux Mint 19.3 (XFCE, 64-bit) - проблем нет
Тогда используй 19.3, если там всё работает. Нет потребности гнаться за новым дистрибутивом.
Сообщение от SardaukarNN
то мы бы увидели различные уроки по программированию
У кого-то есть такое количество ненужного свободного времени, чтобы сидеть писать уроки?
Сообщение от SardaukarNN
или готовые проекты для данной приставки
Только "официальная" VitaDB содержит 638 хоумбрю, а там далеко не всё размещено.
Сообщение от SardaukarNN
Может стоит создать тему, под названием "Ошибки при компиляции/сборки"?
Нет смысла в отдельной теме. Все проблемы по конкретному SDK стоит просто писать в его теме.
Также, есть официальная поддержка в Discord: https://discord.gg/m7MwpKA (это сервер HENkaku).
Если Hello_PSVita это копия hello_world, то рядом должна лежать папка common. А я вижу её внутри.
По поводу обновления GCC под сборку ПО для VITA требуется использовать "GNU Arm Embedded Toolchain" или что-то другое?
Ведь недостаточно файлы, например "gcc-arm-none-eabi- *" переименовать в "gcc-arm-vita-eabi- *"?!
Подскажите пожалуйста!
P.S.: с заменой версии GCC для сборки приложений под Win32/64 у меня проблем нет, а с Витой - просто космос. )))
20-а нужна из-за cmake 3.16, т.к. не удалось установить её на 19.
Некоторые проекты требуют версию не ниже 3.16
Не подскажите, почему при инсталляции *.VPK на Виту, выходит ошибка "Error 0x80101104"?
При компиляции и сборке *.VPK ошибок нет.
Если ручками раскидать содержимое в соответствующие папки на Вите, то программа запускается и работает.
Последний раз редактировалось SardaukarNN; 22.12.2022 в 12:45.
Создаю файл CMakeLists.txt
Добавляю строчку (в самом низу листинга): "FILE res/screen.png screen.png"
VPK собирается хорошо, при инсталляции на Виту ошибок нет,
но файл screen.png в ux0:/app/{PROJECT_NAME}/ не появляется.
Смотрел аналогичные примеры, но ничего такого не нашел, в тоже время
они отрабатывают правильно.
Что я упустил?
Подскажите пожалуйста!
include("${VITASDK}/share/vita.cmake" REQUIRED)
vita_create_self(${PROJECT_NAME}.self ${PROJECT_NAME})
vita_create_vpk(${PROJECT_NAME}.vpk ${VITA_TITLEID} ${PROJECT_NAME}.self
VERSION ${VITA_VERSION}
NAME ${VITA_APP_NAME}
Странное дело....
Решил также установить Vita SDK на ПК, т.к. у него процессор мощнее (Core i5), чем у ноута (Core i3) на котором некоторые проекты собираются достаточно долго.
И вот в чем дело, после установки на ПК отсутствует большая часть библиотек, например такие как SDL и т.д.
Я что-то упустил или это просто проблема с удаленным SDK-серваком?
На скрине видны папки, которые в данный момент присутствуют.
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,744
Вы сказали Спасибо: 819
Поблагодарили 3,854 раз(а) в 2,022 сообщениях
Сила репутации: 1
Репутация: 3854 
(репутация неоспорима)
Сообщение от SardaukarNN
VPK переименовал в RAR, далее открыл и посмотрел.
Вместо учебника по программированию я бы предложил книжку "Windows для чайников". Ибо переименовывать в RAR переименованный ZIP это что-то сверх моего понимания.
Сообщение от SardaukarNN
Я что-то упустил или это просто проблема с удаленным SDK-серваком?
В шапке есть достаточно информации для анализа проблемы. А нам без логов остаётся только лишь смотреть в хрустальный шар...
В RAR или ZIP - не важно, система сама видит как был упакован архив....
VPK реально собирается без ошибок, но при установки выходит ошибка, поэтому
мне проще созданный VPK распаковать и собрать его ручками, создав новый архив и закинуть в него eboot.bin, любой param.sfo (редактирую в нем имя и ID), файлы с иконкой и заставкой.
В моем проекте 500 файлов.
P.S.: Проекты состоящие из небольшого количества файлов собираются и устанавливаются без проблем.
Я не знаю почему так, в любом случае я нашел выход, затраты по времени +5 минут после сборки VPK компилятором.
Да.... и книга про "Windows для чайников" тут совсем неуместна.