[Bug] Issue with Ryujinx.xml mime file application #205

Open
opened 2024-11-08 04:23:24 +00:00 by coreybruce · 8 comments
coreybruce commented 2024-11-08 04:23:24 +00:00 (Migrated from github.com)

Description of the issue

Hi there I was trying to create a AUR package for the Ryujinx-bin package using the binaries but I am having a issue with the Ryujinx.xml mime file, when I try and run the application I get this error

Failure processing application bundle; possible file corruption.
Arithmetic overflow while reading bundle.
A fatal error occurred while processing application bundle

My package put the file in /usr/share/mime/packages/Ryujinx.xml

Would you have any idea what is happening or if I did anything wrong with packaging?

Reproduction steps

N/A

Log file

N/A

OS

LInux

Ryujinx version

1.2.72

Game version

No response

CPU

No response

GPU

No response

RAM

No response

List of applied mods

No response

Additional context?

No response

### Description of the issue Hi there I was trying to create a AUR package for the Ryujinx-bin package using the binaries but I am having a issue with the Ryujinx.xml mime file, when I try and run the application I get this error ``` Failure processing application bundle; possible file corruption. Arithmetic overflow while reading bundle. A fatal error occurred while processing application bundle ``` My package put the file in ```/usr/share/mime/packages/Ryujinx.xml``` Would you have any idea what is happening or if I did anything wrong with packaging? ### Reproduction steps N/A ### Log file N/A ### OS LInux ### Ryujinx version 1.2.72 ### Game version _No response_ ### CPU _No response_ ### GPU _No response_ ### RAM _No response_ ### List of applied mods _No response_ ### Additional context? _No response_
GreemDev commented 2024-11-08 04:24:49 +00:00 (Migrated from github.com)

It's likely something from your own packaging. I know people use the AUR and I haven't heard of this.

It's likely something from your own packaging. I know people use the AUR and I haven't heard of this.
coreybruce commented 2024-11-08 04:37:26 +00:00 (Migrated from github.com)

It's likely something from your own packaging. I know people use the AUR and I haven't heard of this.

Hmm alright well I like to tackle challenges, maybe we could hopefully work this out together 😄 😛

Here is my PKGBUILD file, as you can see it downloads the binaries for each architecture from your repositoryand put them where they need to go. Does anything on this look incorrect?

pkgname=ryujinx-bin
pkgver=1.2.72
pkgrel=1
pkgdesc='Experimental Nintendo Switch Emulator written in C#'
arch=('x86_64' 'aarch64')
url='https://github.com/GreemDev/Ryujinx'
license=('MIT')
depends=('sdl2' 'openal')
conflicts=(ryujinx ryujinx-git)
sha256sums=('a19dc6e539931df63d4813f787c51f460cf72e0c44b20add1c0c6ef56c47d840'
            '59af0efa6989f9aee9c120a0ac8d12a162c29097993f7280f4f51389d3deabb5'
            '0a12333b3b648a8c60ed165507c4da5a32fdd43a4013824818288a7848585da3')
sha256sums_x86_64=('bd2b2f35227e38db6aa37a3d99d3d8d2698ff775441f9abd6bd86ad9ee72282f'
                   '1128ade03525b474de3c9311a3494fdc0d0953c3fcce9ceb1fc4ae6d801ad9d7')
sha256sums_aarch64=('b700e046679e45dfb922b4b72f2a9a00fe711a8208f273bdef3a4d82c2715974'
                    '41f6c0003c5eb653449a68d87659fc4e80ea758b9eb5a29af6e19184b909ba19')
source=("Ryujinx.desktop" "Ryujinx.svg")
source_x86_64=("$url/releases/download/$pkgver/ryujinx-$pkgver-linux_x64.tar.gz" "$url/releases/download/$pkgver/sdl2-ryujinx-headless-$pkgver-linux_x64.tar.gz")
source_aarch64=("$url/releases/download/$pkgver/ryujinx-$pkgver-linux_arm64.tar.gz" "$url/releases/download/$pkgver/sdl2-ryujinx-headless-$pkgver-linux_arm64.tar.gz")

package() {

mkdir --parents "${pkgdir}/opt"
	cp --recursive "${srcdir}/publish" "${pkgdir}/opt/ryujinx"
	chmod +x "${pkgdir}/opt/ryujinx/Ryujinx"

	# create writable logs directory
	install --directory --mode=777 "${pkgdir}/opt/ryujinx/Logs"
	
	mkdir --parents "${pkgdir}/usr/bin"
	ln --symbolic "/opt/ryujinx/Ryujinx" "${pkgdir}/usr/bin/Ryujinx"
	ln --symbolic "/opt/ryujinx/Ryujinx.sh" "${pkgdir}/usr/bin/Ryujinx.sh"
	
	install -Dm644 "${srcdir}/Ryujinx.desktop" "${pkgdir}/usr/share/applications/Ryujinx.desktop"
	install -Dm644 "${srcdir}/Ryujinx.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/Ryujinx.svg"
	install -Dm644 "${srcdir}/Ryujinx.xml" "${pkgdir}/usr/share/mime/packages/Ryujinx.xml"
}
> It's likely something from your own packaging. I know people use the AUR and I haven't heard of this. Hmm alright well I like to tackle challenges, maybe we could hopefully work this out together :smile: :stuck_out_tongue: Here is my PKGBUILD file, as you can see it downloads the binaries for each architecture from your repositoryand put them where they need to go. Does anything on this look incorrect? ``` pkgname=ryujinx-bin pkgver=1.2.72 pkgrel=1 pkgdesc='Experimental Nintendo Switch Emulator written in C#' arch=('x86_64' 'aarch64') url='https://github.com/GreemDev/Ryujinx' license=('MIT') depends=('sdl2' 'openal') conflicts=(ryujinx ryujinx-git) sha256sums=('a19dc6e539931df63d4813f787c51f460cf72e0c44b20add1c0c6ef56c47d840' '59af0efa6989f9aee9c120a0ac8d12a162c29097993f7280f4f51389d3deabb5' '0a12333b3b648a8c60ed165507c4da5a32fdd43a4013824818288a7848585da3') sha256sums_x86_64=('bd2b2f35227e38db6aa37a3d99d3d8d2698ff775441f9abd6bd86ad9ee72282f' '1128ade03525b474de3c9311a3494fdc0d0953c3fcce9ceb1fc4ae6d801ad9d7') sha256sums_aarch64=('b700e046679e45dfb922b4b72f2a9a00fe711a8208f273bdef3a4d82c2715974' '41f6c0003c5eb653449a68d87659fc4e80ea758b9eb5a29af6e19184b909ba19') source=("Ryujinx.desktop" "Ryujinx.svg") source_x86_64=("$url/releases/download/$pkgver/ryujinx-$pkgver-linux_x64.tar.gz" "$url/releases/download/$pkgver/sdl2-ryujinx-headless-$pkgver-linux_x64.tar.gz") source_aarch64=("$url/releases/download/$pkgver/ryujinx-$pkgver-linux_arm64.tar.gz" "$url/releases/download/$pkgver/sdl2-ryujinx-headless-$pkgver-linux_arm64.tar.gz") package() { mkdir --parents "${pkgdir}/opt" cp --recursive "${srcdir}/publish" "${pkgdir}/opt/ryujinx" chmod +x "${pkgdir}/opt/ryujinx/Ryujinx" # create writable logs directory install --directory --mode=777 "${pkgdir}/opt/ryujinx/Logs" mkdir --parents "${pkgdir}/usr/bin" ln --symbolic "/opt/ryujinx/Ryujinx" "${pkgdir}/usr/bin/Ryujinx" ln --symbolic "/opt/ryujinx/Ryujinx.sh" "${pkgdir}/usr/bin/Ryujinx.sh" install -Dm644 "${srcdir}/Ryujinx.desktop" "${pkgdir}/usr/share/applications/Ryujinx.desktop" install -Dm644 "${srcdir}/Ryujinx.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/Ryujinx.svg" install -Dm644 "${srcdir}/Ryujinx.xml" "${pkgdir}/usr/share/mime/packages/Ryujinx.xml" } ```
GreemDev commented 2024-11-08 04:38:55 +00:00 (Migrated from github.com)

Frankly I don't know what any of this does.

Frankly I don't know what any of this does.
coreybruce commented 2024-11-08 04:43:31 +00:00 (Migrated from github.com)

Oh ok no problem, basically it download the zipped binaries from your repo, unzips it and puts all the files into the locations needed in Linux. Do you do any testing or work on Linux yourself at all or could tell me if those paths are correct?

This is the Ryujynx.xml file in /usr/share/mime/packages/

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="application/x-nx-nca">
        <comment>Nintendo Content Archive</comment>
        <acronym>NCA</acronym>
        <glob pattern="*.nca"/>
        <magic><match value="NCA" type="string" offset="512"/></magic>
    </mime-type>
    <mime-type type="application/x-nx-nro">
        <comment>Nintendo Relocatable Object</comment>
        <acronym>NRO</acronym>
        <glob pattern="*.nro"/>
        <magic><match value="NRO0" type="string" offset="16"/></magic>
    </mime-type>
    <mime-type type="application/x-nx-nso">
        <comment>Nintendo Shared Object</comment>
        <acronym>NSO</acronym>
        <glob pattern="*.nso"/>
        <magic><match value="NSO0" type="string" offset="0"/></magic>
    </mime-type>
    <mime-type type="application/x-nx-nsp">
        <comment>Nintendo Submission Package</comment>
        <acronym>NSP</acronym>
        <glob pattern="*.nsp"/>
        <magic><match value="PFS0" type="string" offset="0"/></magic>
    </mime-type>
    <mime-type type="application/x-nx-xci">
        <comment>Nintendo Switch Cartridge</comment>
        <acronym>XCI</acronym>
        <glob pattern="*.xci"/>
        <magic><match value="HEAD" type="string" offset="4352"/></magic>
    </mime-type>
</mime-info>
Oh ok no problem, basically it download the zipped binaries from your repo, unzips it and puts all the files into the locations needed in Linux. Do you do any testing or work on Linux yourself at all or could tell me if those paths are correct? This is the Ryujynx.xml file in ```/usr/share/mime/packages/``` ``` <?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-nx-nca"> <comment>Nintendo Content Archive</comment> <acronym>NCA</acronym> <glob pattern="*.nca"/> <magic><match value="NCA" type="string" offset="512"/></magic> </mime-type> <mime-type type="application/x-nx-nro"> <comment>Nintendo Relocatable Object</comment> <acronym>NRO</acronym> <glob pattern="*.nro"/> <magic><match value="NRO0" type="string" offset="16"/></magic> </mime-type> <mime-type type="application/x-nx-nso"> <comment>Nintendo Shared Object</comment> <acronym>NSO</acronym> <glob pattern="*.nso"/> <magic><match value="NSO0" type="string" offset="0"/></magic> </mime-type> <mime-type type="application/x-nx-nsp"> <comment>Nintendo Submission Package</comment> <acronym>NSP</acronym> <glob pattern="*.nsp"/> <magic><match value="PFS0" type="string" offset="0"/></magic> </mime-type> <mime-type type="application/x-nx-xci"> <comment>Nintendo Switch Cartridge</comment> <acronym>XCI</acronym> <glob pattern="*.xci"/> <magic><match value="HEAD" type="string" offset="4352"/></magic> </mime-type> </mime-info> ```
GreemDev commented 2024-11-08 04:45:54 +00:00 (Migrated from github.com)

I do absolutely 0 work on Linux. Any Linux/macOS testing is done by everyone else. I can only do the bare minimum and check if it boots under Linux via WSL.

The XML file seems to match the one here, so it should be fine.

I do absolutely 0 work on Linux. Any Linux/macOS testing is done by everyone else. I can only do the bare minimum and check if it boots under Linux via WSL. The XML file seems to match the one [here](https://github.com/GreemDev/Ryujinx/blob/master/distribution/linux/mime/Ryujinx.xml), so it should be fine.
coreybruce commented 2024-11-08 04:58:45 +00:00 (Migrated from github.com)

Ah ok that's all good, I understand, on that unrelated note of things working and booting it does run on the Raspberry Pi 5 even if the hardware doesn't technically have the ability to properly run Switch games but I managed to boot a game on it 😄

Is there anyone who works on this that has any Linux and knowledge to help? if it matches the file then I don't know why it's working unless there is something else the package needs to do to work as that would be great to figure out.

Ah ok that's all good, I understand, on that unrelated note of things working and booting it does run on the Raspberry Pi 5 even if the hardware doesn't technically have the ability to properly run Switch games but I managed to boot a game on it :smile: Is there anyone who works on this that has any Linux and knowledge to help? if it matches the file then I don't know why it's working unless there is something else the package needs to do to work as that would be great to figure out.
coreybruce commented 2025-01-19 04:02:17 +00:00 (Migrated from github.com)

Hey @GreemDev I know you don't know anything about Linux but I did some adjustments and copied the package file structure of the ryujinx package that builds from source

pkgname=ryujinx-bin
pkgver=1.2.78
pkgrel=1
pkgdesc='Experimental Nintendo Switch Emulator written in C#'
arch=('x86_64' 'aarch64')
url='https://github.com/Ryubing/Ryujinx'
license=('MIT')
depends=('sdl2' 'openal')
conflicts=(ryujinx ryujinx-git)
sha256sums=('a19dc6e539931df63d4813f787c51f460cf72e0c44b20add1c0c6ef56c47d840'
            '59af0efa6989f9aee9c120a0ac8d12a162c29097993f7280f4f51389d3deabb5')
sha256sums_x86_64=('52aabcc0dff6019b4da515c8b67050969906a07215d2c485f1c59b6f583e354e'
                   '52aabcc0dff6019b4da515c8b67050969906a07215d2c485f1c59b6f583e354e')
sha256sums_aarch64=('5dee600548a868888f504295421b97ecfa0ff16c3ebbe48ecafbcb83ec8fca79'
                    '5dee600548a868888f504295421b97ecfa0ff16c3ebbe48ecafbcb83ec8fca79')
source=("ryujinx.desktop" "ryujinx.svg")
source_x86_64=("https://github.com/Ryubing/Ryujinx/releases/download/1.2.78/ryujinx-1.2.78-linux_x64.tar.gz" "https://github.com/Ryubing/Ryujinx/releases/download/1.2.78/nogui-ryujinx-1.2.78-linux_x64.tar.gz")
source_aarch64=("https://github.com/Ryubing/Ryujinx/releases/download/1.2.78/ryujinx-1.2.78-linux_arm64.tar.gz" "https://github.com/Ryubing/Ryujinx/releases/download/1.2.78/ryujinx-1.2.78-linux_arm64.tar.gz")

package() {

    install -dm755 "$pkgdir/usr/bin"
    install -dm755 "$pkgdir/usr/lib/ryujinx"
    install -dm755 "$pkgdir/usr/share/mime/packages"
    install -dm644 "$pkgdir/usr/share/icons"
    install -dm755 "$pkgdir/usr/share/licenses"
    
    install -Dm755 "ryujinx.svg" "$pkgdir/usr/share/icons"
    install -Dm755 "ryujinx.desktop" "$pkgdir/usr/share/applications/ryujinx.desktop"
    find "$srcdir/publish" \( -type f -name "*.so*" -o -name "*.dylib" -o -name "*.sh" -o -name "*.config" \) -exec cp -r {} "$pkgdir/usr/lib/ryujinx" \;
    cp -r "$srcdir/publish/THIRDPARTY.md" "$pkgdir/usr/share/licenses"
    cp -r "$srcdir/publish/Ryujinx" "$pkgdir/usr/bin/ryujinx"
    install -Dm755 "$srcdir/publish/mime/Ryujinx.xml" "$pkgdir/usr/share/mime/packages"
    
}

When I try and run it tho I get this error instead

Failure processing application bundle; possible file corruption.
Arithmetic overflow while reading bundle.
A fatal error occurred while processing application bundle

Are you able to tell me what this means?

Hey @GreemDev I know you don't know anything about Linux but I did some adjustments and copied the package file structure of the ryujinx package that builds from source ``` pkgname=ryujinx-bin pkgver=1.2.78 pkgrel=1 pkgdesc='Experimental Nintendo Switch Emulator written in C#' arch=('x86_64' 'aarch64') url='https://github.com/Ryubing/Ryujinx' license=('MIT') depends=('sdl2' 'openal') conflicts=(ryujinx ryujinx-git) sha256sums=('a19dc6e539931df63d4813f787c51f460cf72e0c44b20add1c0c6ef56c47d840' '59af0efa6989f9aee9c120a0ac8d12a162c29097993f7280f4f51389d3deabb5') sha256sums_x86_64=('52aabcc0dff6019b4da515c8b67050969906a07215d2c485f1c59b6f583e354e' '52aabcc0dff6019b4da515c8b67050969906a07215d2c485f1c59b6f583e354e') sha256sums_aarch64=('5dee600548a868888f504295421b97ecfa0ff16c3ebbe48ecafbcb83ec8fca79' '5dee600548a868888f504295421b97ecfa0ff16c3ebbe48ecafbcb83ec8fca79') source=("ryujinx.desktop" "ryujinx.svg") source_x86_64=("https://github.com/Ryubing/Ryujinx/releases/download/1.2.78/ryujinx-1.2.78-linux_x64.tar.gz" "https://github.com/Ryubing/Ryujinx/releases/download/1.2.78/nogui-ryujinx-1.2.78-linux_x64.tar.gz") source_aarch64=("https://github.com/Ryubing/Ryujinx/releases/download/1.2.78/ryujinx-1.2.78-linux_arm64.tar.gz" "https://github.com/Ryubing/Ryujinx/releases/download/1.2.78/ryujinx-1.2.78-linux_arm64.tar.gz") package() { install -dm755 "$pkgdir/usr/bin" install -dm755 "$pkgdir/usr/lib/ryujinx" install -dm755 "$pkgdir/usr/share/mime/packages" install -dm644 "$pkgdir/usr/share/icons" install -dm755 "$pkgdir/usr/share/licenses" install -Dm755 "ryujinx.svg" "$pkgdir/usr/share/icons" install -Dm755 "ryujinx.desktop" "$pkgdir/usr/share/applications/ryujinx.desktop" find "$srcdir/publish" \( -type f -name "*.so*" -o -name "*.dylib" -o -name "*.sh" -o -name "*.config" \) -exec cp -r {} "$pkgdir/usr/lib/ryujinx" \; cp -r "$srcdir/publish/THIRDPARTY.md" "$pkgdir/usr/share/licenses" cp -r "$srcdir/publish/Ryujinx" "$pkgdir/usr/bin/ryujinx" install -Dm755 "$srcdir/publish/mime/Ryujinx.xml" "$pkgdir/usr/share/mime/packages" } ``` When I try and run it tho I get this error instead ``` Failure processing application bundle; possible file corruption. Arithmetic overflow while reading bundle. A fatal error occurred while processing application bundle ``` Are you able to tell me what this means?
Alleop5 commented 2025-03-12 21:55:26 +00:00 (Migrated from github.com)
[Add options=('!strip').](https://aur.archlinux.org/packages/bicep-bin#comment-915360)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MeloNX/Ryujinx-ryubing#205
No description provided.