BlitGaming |
|
Темы:
20
Сообщения:
126
Участник с: 24 апреля 2021
|
Я сделал свою игру на C# и решил сделать PKGBUILD для неё, ибо юзаю Arch в качестве десктопа. По задумке PKGBUILD должен качать 1 бинарник с гитхаба, затем перемещать его в $pkgdir, но на выходе получается файл, который выдаёт такую ошибку: Failure processing application bundle; possible file corruption. Arithmetic overflow while reading bundle. A fatal error occured while processing application bundle При этом если вручную после билда залезть в папку src, там будет лежать рабочий бинарник. Обновлено: Проблема сборки пакетов с dotnet бинарниками в составе решается добавлением строчки
Intel Core i7 2670QM | NVIDIA Geforce GT 525M | Dell Inspiron N5110 Notebook
|
BlitGaming |
|
Темы:
20
Сообщения:
126
Участник с: 24 апреля 2021
|
Код PKGBUILD'а: # Maintainer: BlitGaming <blitgaming7001@gmail.com> pkgname=reactgame-bin pkgver=1.0.0 pkgrel=1 pkgdesc="A simple reaction training game written in C# (.NET 6.0)" arch=("x86_64") url="https://github.com/BlitGaming/ReactGame/" license=('GPL3') groups=() depends=() makedepends=("git" "dotnet-sdk") source=("https://github.com/BlitGaming/ReactGame/releases/download/1.0.0/ReactGame.Linux.x64") sha256sums=("SKIP") package() { cd "$srcdir" mkdir -p "$pkgdir"/usr/bin chmod +x "ReactGame.Linux.x64" cp -f "ReactGame.Linux.x64" "$pkgdir"/usr/bin/reactgame } Ранее я уже пытался собирать игру вручную через dotnet-sdk, забыл убрать зависимость. Тогда была та же самая ситуация. На выходе получался рабочий бинарник в src, и повреждённый в pkg/reactgame
Intel Core i7 2670QM | NVIDIA Geforce GT 525M | Dell Inspiron N5110 Notebook
|
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
BlitGamingСделайте по правилам ,смотрите по типу этого пакбилда https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=yay-bin |
BlitGaming |
|
Темы:
20
Сообщения:
126
Участник с: 24 апреля 2021
|
Сделал вот так, так же самая ошибка при попытке вызова reactgame package() { cd "$srcdir" install -Dm755 "ReactGame.Linux.x64" "$pkgdir/usr/bin/reactgame" } Может проблема в том, что из-за сжатия на одном из этапов ломается бинарник? Типо он не извлекается тогда, когда должен например.
Intel Core i7 2670QM | NVIDIA Geforce GT 525M | Dell Inspiron N5110 Notebook
|
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
BlitGamingА если бинарник переместить из src, src переименовать он тоже запускается? BlitGamingработает ли бинарник сам по себе без содержимого сборочной директории? |
BlitGaming |
|
Темы:
20
Сообщения:
126
Участник с: 24 апреля 2021
|
vs220Бинарник работает во всех случаях кроме того, когда он PKGBUILD"ом перемещается в $pkgdir, то есть если собрать игру без makepkg, он работает, если собрать с помощью makepkg, но не упаковывать, в src будет нормальный бинарник. Также если вручную переместить из директории src командой cp бинарник в нужное место, он также будет работать.BlitGamingА если бинарник переместить из src, src переименовать он тоже запускается?
Intel Core i7 2670QM | NVIDIA Geforce GT 525M | Dell Inspiron N5110 Notebook
|
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
Попробуйте отключить в /etc/makepkg.conf автоматический вызов strip. Как-то так. Есть возможность и через PKGBUILD отключить, но доку надо почитать. man PKGBUILD |
genues |
|
Темы:
24
Сообщения:
281
Участник с: 26 сентября 2011
|
kurych
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
в makepkg.conf strip (отладочная информация) отключена по дефолту ... раньше, когда приходилось дебажить, используя gdb, добавлял специальные параметры в makepkg.conf, чтобы пакет при пересборке сохранял отладочную информацию .... размер пакета при этом увеличивалься раза в 1,5-2.
Ошибки не исчезают с опытом - они просто умнеют
|
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
vasek То есть просто скачка бинарника, помещение с переименованием в /usr/bin. Запаковка пакета. Установка с распаковкой пакета и помещением файла пакета /usr/bin/reactgame в /usr/bin. Бинарник сам не собирается, а лишь качается ,переименовывается ,запаковывается, распаковывается и при этом не работает. |