fang@aosc-4ba88f5 [ ~ ] ! /usr/bin/scepsx
Unhandled exception. System.UnauthorizedAccessException: Access to the path '/usr/lib/scepsx/ScePSX.ini' is denied.
---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Boolean failForSymlink, Boolean& wasSymlink, Func`4 createOpenException)
at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, Int64 preallocationSize)
at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Int32 bufferSize)
at System.IO.File.WriteAllLines(String path, IEnumerable`1 contents, Encoding encoding)
at ScePSX.IniFile.Save()
at ScePSX.IniFile.Write(String section, String key, String value)
at ScePSX.IniFile.WriteDictionary[TKey,TValue](String section, Dictionary`2 dictionary)
at ScePSX.UI.KeyMange.InitKeyMap()
at ScePSX.UI.KeyMange..ctor(IniFile ini)
at ScePSX.UI.PSXHandler..ctor()
at ScePSX.UI.MainWindow..ctor()
at ScePSX.UI.App.OnFrameworkInitializationCompleted()
at Avalonia.AppBuilder.SetupUnsafe()
at Avalonia.AppBuilder.Setup()
at Avalonia.AppBuilder.SetupWithLifetime(IApplicationLifetime lifetime)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action`1 lifetimeBuilder)
at ScePSX.UI.Program.Main(String[] args)
已中止(核心已转储)
fang@aosc-4ba88f5 [ ~ ] ! sudo chmod 777 /usr/lib/scepsx
[sudo] fang 的密码:
fang@aosc-4ba88f5 [ ~ ] $ /usr/bin/scepsx
Unhandled exception. System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at System.Collections.Generic.List`1.get_Item(Int32 index)
at Avalonia.Collections.AvaloniaList`1.get_Item(Int32 index)
at Avalonia.Collections.AvaloniaList`1.System.Collections.IList.get_Item(Int32 index)
at Avalonia.Controls.ItemsSourceView.GetAt(Int32 index)
at Avalonia.Controls.ItemsSourceView.get_Item(Int32 index)
at Avalonia.Controls.ItemCollection.get_Item(Int32 index)
at ScePSX.UI.MainWindow.CleanCheckSet(MenuItem Menu, Int32 CheckIdx)
at ScePSX.UI.MainWindow..ctor()
at ScePSX.UI.App.OnFrameworkInitializationCompleted()
at Avalonia.AppBuilder.SetupUnsafe()
at Avalonia.AppBuilder.Setup()
at Avalonia.AppBuilder.SetupWithLifetime(IApplicationLifetime lifetime)
at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action`1 lifetimeBuilder)
at ScePSX.UI.Program.Main(String[] args)
已中止(核心已转储)
Subject: [PATCH] modify the dotnet version
---
AvaloniaUI/ScePSX.csproj | 2 +-
ScePSX/Core.csproj | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/AvaloniaUI/ScePSX.csproj b/AvaloniaUI/ScePSX.csproj
index 39419e8..f91d85b 100644
--- a/AvaloniaUI/ScePSX.csproj
+++ b/AvaloniaUI/ScePSX.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
- <TargetFramework>net8.0</TargetFramework>
+ <TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<RootNamespace>ScePSX</RootNamespace>
<ApplicationManifest>app.manifest</ApplicationManifest>
diff --git a/ScePSX/Core.csproj b/ScePSX/Core.csproj
index ee9d3e0..36f83f8 100644
--- a/ScePSX/Core.csproj
+++ b/ScePSX/Core.csproj
@@ -2,7 +2,7 @@
<PropertyGroup>
<OutputType>Library</OutputType>
- <TargetFramework>net8.0</TargetFramework>
+ <TargetFramework>net10.0</TargetFramework>
<Platforms>AnyCPU</Platforms>
<BaseIntermediateOutputPath></BaseIntermediateOutputPath>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
--
2.52.0
VER=0.2.1.1
SRCS="git::commit=tags/#PS1-$VER::https://github.com/unknowall/ScePSX"
CHKSUMS="SKIP"
CHKUPDATE="anitya::id=389337"
PKGNAME=scepsx
PKGSEC=games
PKGDEP="sdl2 vulkan"
BUILDDEP="dotnet"
PKGDES="Lightweight PS1 emulator in C#"
FAIL_ARCH="!(amd64|arm64|loongarch64)"
abinfo "Setting DOTNET_RID ..."
case $ARCH in
amd64)
DOTNET_RID="linux-x64"
;;
arm64)
DOTNET_RID="linux-arm64"
;;
loongarch64)
DOTNET_RID="linux-loongarch64"
;;
esac
abinfo "DOTNET_RID: $DOTNET_RID"
abinfo "Building scepsx ..."
dotnet publish AvaloniaUI/ScePSX.csproj \
-c Release \
-r "$DOTNET_RID" \
-p:PublishTrimmed=false \
-p:DebugType=None \
-p:DebugSymbols=false \
--self-contained true \
-o "$PKGDIR"/usr/lib/scepsx
abinfo "Installing application files ..."
mkdir -pv "$PKGDIR"/usr/lib/scepsx/lang
cp -rv "$SRCDIR"/AvaloniaUI/Lang/* "$PKGDIR"/usr/lib/scepsx/lang
install -Dvm644 "$SRCDIR"/Android/Assets/icon.png \
"$PKGDIR"/usr/share/pixmaps/ScePSX.png
abinfo "Installing desktop entry ..."
DESKTOP_FILE="$PKGDIR"/usr/share/applications/ScePSX.desktop
mkdir -pv "$(dirname "$DESKTOP_FILE")"
cat > "$DESKTOP_FILE" << EOF
[Desktop Entry]
Type=Application
Name=ScePSX
Comment=Lightweight PS1 emulator
Exec=/usr/lib/scepsx/ScePSX
Icon=ScePSX
Terminal=false
Categories=Game;Emulator;
EOF
chmod 644 "$DESKTOP_FILE"
abinfo "Creating symlink in /usr/bin ..."
mkdir -pv "$PKGDIR"/usr/bin
ln -sfv /usr/lib/scepsx/ScePSX "$PKGDIR"/usr/bin/scepsx
[INFO]: self > Running configure step ...
[INFO]: self > Running build step ...
[INFO]: Setting DOTNET_RID ...
[INFO]: DOTNET_RID: linux-x64
[INFO]: Building scepsx ...
Welcome to .NET 10.0!
---------------------
SDK Version: 10.0.105
----------------
Installed an ASP.NET Core HTTPS development certificate.
To trust the certificate, run 'dotnet dev-certs https --trust'
Learn about HTTPS: https://aka.ms/dotnet-https
----------------
Write your first app: https://aka.ms/dotnet-hello-world
Find out what's new: https://aka.ms/dotnet-whats-new
Explore documentation: https://aka.ms/dotnet-docs
Report issues and find source on GitHub: https://github.com/dotnet/core
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli
--------------------------------------------------------------------------------------
Restore complete (23.6s)
Core net10.0 succeeded with 2 warning(s) (3.6s) → ScePSX/bin/Release/net10.0/Core.dll
/var/cache/acbs/build/acbs.toj68jwy/scepsx/ScePSX/Core/CDROM/CDData.cs(67,17): warning CA2022: Avoid inexact read with 'System.IO.FileStream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
/var/cache/acbs/build/acbs.toj68jwy/scepsx/ScePSX/Utils/McdMange.cs(580,13): warning CA2022: Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022)
ScePSX net10.0 linux-x64 succeeded with 1 warning(s) (1.7s) → abdist/usr/lib/scepsx/
/var/cache/acbs/build/acbs.toj68jwy/scepsx/AvaloniaUI/UI/RomList.axaml(79,6,79,6): Avalonia warning AVLN2208: Unexpected 'ListBoxItem' inside of 'ListBox.ItemTemplate'. 'ListBox.ItemTemplate' defines template of the container content, not the container itself.
Build succeeded with 3 warning(s) in 29.2s
[INFO]: Installing application files ...
mkdir: created directory '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/lang'
'/var/cache/acbs/build/acbs.toj68jwy/scepsx/AvaloniaUI/Lang/lang-pt.xml' -> '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/lang/lang-pt.xml'
'/var/cache/acbs/build/acbs.toj68jwy/scepsx/AvaloniaUI/Lang/lang.xml' -> '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/lang/lang.xml'
install: creating directory '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/share'
install: creating directory '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/share/pixmaps'
'/var/cache/acbs/build/acbs.toj68jwy/scepsx/Android/Assets/icon.png' -> '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/share/pixmaps/ScePSX.png'
[INFO]: Installing desktop entry ...
mkdir: created directory '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/share/applications'
[INFO]: Creating symlink in /usr/bin ...
mkdir: created directory '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/bin'
'/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/bin/scepsx' -> '/usr/lib/scepsx/ScePSX'
[INFO]: self > Running install step ...
[INFO]: HWCAPS is not active. Skipping builds for HWCAPS subtargtes.
[INFO]: Running post-build filter: filter_perl ...
[INFO]: Removed perllocal.pod.
[INFO]: Removed .packlist.
[INFO]: Running post-build filter: filter_retro_drop_docs ...
[DEBUG]: Member '64bit' in Architecture group '64bit mainline ocaml_native with_dotnet' mismatches retro.
[DEBUG]: Member 'mainline' in Architecture group '64bit mainline ocaml_native with_dotnet' mismatches retro.
[DEBUG]: Member 'ocaml_native' in Architecture group '64bit mainline ocaml_native with_dotnet' mismatches retro.
[DEBUG]: Member 'with_dotnet' in Architecture group '64bit mainline ocaml_native with_dotnet' mismatches retro.
[INFO]: All architecture group members '64bit mainline ocaml_native with_dotnet' mismatches retro: taking false branch.
[INFO]: Non-Retro architectures detected, skipping retro_drop_docs ...
[INFO]: Running post-build filter: filter_optenv_drop_shared_files ...
[INFO]: Non-optenv target detected, skipping optenv_drop_shared_files ...
[INFO]: Running post-build filter: filter_infodir ...
[INFO]: Running post-build filter: filter_infocompress ...
[INFO]: Running post-build filter: filter_mancompress ...
[INFO]: Running post-build filter: filter_lib_archives ...
[INFO]: Purging libtool archives from build tree.
[INFO]: Purging static libraries from build tree.
[INFO]: Running post-build filter: filter_elf ...
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libSystem.Globalization.Native.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libclrgcexp.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libSystem.Security.Cryptography.Native.OpenSsl.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libhostfxr.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libmscordbi.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/ScePSX
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libSystem.Net.Security.Native.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libSystem.IO.Compression.Native.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libclrgc.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libmscordaccore.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libSystem.Native.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libcoreclr.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libclrjit.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libcoreclrtraceptprovider.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libhostpolicy.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/createdump
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libSkiaSharp.so
[INFO]: Saving and stripping debug symbols from /var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/lib/scepsx/libHarfBuzzSharp.so
[DEBUG]: No Debian-compatible (Spiral) provides generated
'/var/cache/acbs/build/acbs.toj68jwy/scepsx/LICENSE.txt' -> '/var/cache/acbs/build/acbs.toj68jwy/scepsx/abdist/usr/share/doc/scepsx/LICENSE.txt'
[INFO]: Creating empty postinst.
[INFO]: Creating empty prerm.
[INFO]: Creating empty postrm.
[INFO]: Creating empty preinst.
[INFO]: Running scriptlet generator scriptlet_alternative ...
[INFO]: No alternatives file found.
[INFO]: Running scriptlet generator scriptlet_pax ...
[INFO]: No pax file found.
[INFO]: Running scriptlet generator scriptlet_usergroup ...
[INFO]: No usergroup file found.
[INFO]: Running post-build QA tests ...
[INFO]: Packing dpkg package(s) ...
dpkg-deb: building package 'scepsx' in 'scepsx_0.2.1.1-0_amd64.deb'.
dpkg-deb: building package 'scepsx-dbg' in 'scepsx-dbg_0.2.1.1-0_amd64.deb'.
Selecting previously unselected package scepsx.
(Reading database ... 183808 files and directories currently installed.)
Preparing to unpack scepsx_0.2.1.1-0_amd64.deb ...
Unpacking scepsx (0.2.1.1) ...
Setting up scepsx (0.2.1.1) ...
Selecting previously unselected package scepsx-dbg.
(Reading database ... 184036 files and directories currently installed.)
Preparing to unpack scepsx-dbg_0.2.1.1-0_amd64.deb ...
Unpacking scepsx-dbg (0.2.1.1) ...
Setting up scepsx-dbg (0.2.1.1) ...
[INFO]: Archiving package(s) ...
[INFO]: Using abpm_aosc_archive as autobuild archiver ...
'scepsx_0.2.1.1-0_amd64.deb' -> '/debs/s/scepsx_0.2.1.1-0_amd64.deb'
'scepsx-dbg_0.2.1.1-0_amd64.deb' -> '/debs/s/scepsx-dbg_0.2.1.1-0_amd64.deb'
[INFO]: Asking ciel to refresh repository...
[INFO]: Waiting for ciel to refresh repository...
info: Scanning 2 packages...
..
[INFO]: Ciel finished refreshing repository...
========================================
ACBS Build Successful
========================================
Package(s) built:
scepsx (amd64 @ 0.2.1.1-0) 0:00:30.939051
info: main: stopping...
info: main: instance stopped.
info: main: filesystem un-mounted.
info: main: mount point removed.
info: main: rolling back instance...
info: main: instance has been rolled back.
BUILD SUCCESSFUL - 1 packages in 00:00:49
你好我想使用linux发行版aosc os https://aosc.io/ 直接打包游戏 方便使用
使用的dotnet版本是:10.0.105 https://packages.aosc.io/packages/dotnet
目前遇到了无法启动的问题,和不是xdg配置文件的问题 我把信息贴在下面
是否可以寻求帮助!谢谢!
报错文件
patch文件
spec文件
defines文件
build脚本
构建日志: