CLR-DEV9
CLR-DEV9 copied to clipboard
Can't build on linux
I seem to be having a similar problem building the mono library. Like the mono library is not recognized? I'm on Jammy Jellyfish
tim@ThinkpadTM:~/CLR-DEV9$ msbuild CLR_DEV9.sln /t:CLR_DEV9 /p:Configuration="DEBUG" /p:Platform="Any CPU" /p:DefineConstants=SKIP_DLLEXPORT /property:GenerateFullPaths=true Microsoft (R) Build Engine version 16.10.1 for Mono Copyright (C) Microsoft Corporation. All rights reserved. Building the projects in this solution one at a time. To enable parallel build, please add the "-m" switch. Build started 10/16/2022 2:59:51 PM. Project "/home/tim/CLR-DEV9/CLR_DEV9.sln" on node 1 (CLR_DEV9 target(s)). ValidateSolutionConfiguration: Building solution configuration "DEBUG|Any CPU". ValidateProjects: The project "CLR_DEV9_LINUX" is not selected for building in solution configuration "Debug|Any CPU". The project "CLR_EMBED_TEST" is not selected for building in solution configuration "Debug|Any CPU". The project "CLR_DEV9_LINUX_MONO" is not selected for building in solution configuration "Debug|Any CPU". The project "MonoTestEmbed" is not selected for building in solution configuration "Debug|Any CPU". The project "MonoTestEmbedLib" is not selected for building in solution configuration "Debug|Any CPU". Project "/home/tim/CLR-DEV9/CLR_DEV9.sln" (1) is building "/home/tim/CLR-DEV9/CLR_DEV9/CLR_DEV9.csproj" (2) on node 1 (default targets). CoreResGen: No resources are out of date with respect to their source files. Skipping resource generation. GenerateTargetFrameworkMonikerAttribute: Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output files are up-to-date with respect to the input files. CoreCompile: Skipping target "CoreCompile" because all output files are up-to-date with respect to the input files. CopyFilesToOutputDirectory: CLR_DEV9 -> /home/tim/CLR-DEV9/CLR_DEV9/bin/Debug/CLR_DEV9.dll Done Building Project "/home/tim/CLR-DEV9/CLR_DEV9/CLR_DEV9.csproj" (default targets). Done Building Project "/home/tim/CLR-DEV9/CLR_DEV9.sln" (CLR_DEV9 target(s)). Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:00.48
tim@ThinkpadTM:~/CLR-DEV9/CLR_DEV9_LINUX_MONO$ ./build.sh E: Unable to locate package libmonosgen-2.0-1:i386 E: Couldn't find any package by glob 'libmonosgen-2.0-1' E: Couldn't find any package by regex 'libmonosgen-2.0-1' E: Unable to locate package libmonosgen-2.0-dev:i386 E: Couldn't find any package by glob 'libmonosgen-2.0-dev' E: Couldn't find any package by regex 'libmonosgen-2.0-dev' E: Unable to locate package mono-runtime-common:i386 E: Unable to locate package libgdiplus:i386 Get:1 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-corlib4.5-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [1,261 kB] Get:2 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system-core4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [312 kB] Get:3 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system-drawing4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [171 kB] Get:4 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system-management4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [46.9 kB] Get:5 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system-runtime-serialization4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [268 kB] Get:6 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system-windows-forms4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [824 kB] Get:7 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system-xml4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [825 kB] Get:8 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [816 kB] Fetched 4,523 kB in 1s (4,299 kB/s) Get:1 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-accessibility4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [35.9 kB] Get:2 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-i18n-west4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [47.9 kB] Get:3 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-i18n4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [42.9 kB] Get:4 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-posix4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [102 kB] Get:5 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system-configuration4.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [74.1 kB] Get:6 https://download.mono-project.com/repo/ubuntu stable-focal/main amd64 libmono-system-servicemodel-internals0.0-cil all 6.12.0.182-0xamarin1+ubuntu2004b1 [101 kB] Fetched 404 kB in 0s (1,176 kB/s) '../CLR_DEV9/bin/Debug/CLR_DEV9.dll' -> 'CLR_DEV9.dll' -- Configuring done -- Generating done -- Build files have been written to: /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug /snap/cmake/1156/bin/cmake -S/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO -B/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug --check-build-system CMakeFiles/Makefile.cmake 0 /snap/cmake/1156/bin/cmake -E cmake_progress_start /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug/CMakeFiles /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[1]: Entering directory '/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug' make -f CMakeFiles/clrdev9mono.dir/build.make CMakeFiles/clrdev9mono.dir/depend make[2]: Entering directory '/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug' cd /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug && /snap/cmake/1156/bin/cmake -E cmake_depends "Unix Makefiles" /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug /home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug/CMakeFiles/clrdev9mono.dir/DependInfo.cmake --color= Dependencies file "CMakeFiles/clrdev9mono.dir/DEV9.cpp.o.d" is newer than depends file "/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug/CMakeFiles/clrdev9mono.dir/compiler_depend.internal". Dependencies file "CMakeFiles/clrdev9mono.dir/PSE.cpp.o.d" is newer than depends file "/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug/CMakeFiles/clrdev9mono.dir/compiler_depend.internal". Consolidate compiler generated dependencies of target clrdev9mono make[2]: Leaving directory '/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug' make -f CMakeFiles/clrdev9mono.dir/build.make CMakeFiles/clrdev9mono.dir/build make[2]: Entering directory '/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug' [ 33%] Linking CXX shared library/b> /snap/cmake/1156/bin/cmake -E cmake_link_script CMakeFiles/clrdev9mono.dir/link.txt --verbose=1 /usr/bin/c++ -fPIC -g -shared -Wl,-soname,libclrdev9mono.so -o libclrdev9mono.so CMakeFiles/clrdev9mono.dir/DEV9.cpp.o CMakeFiles/clrdev9mono.dir/PSE.cpp.o "/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/CLR_DEV9.o" /usr/lib/libmonosgen-2.0.so -lm -lrt -ldl -lpthread /usr/bin/ld: i386 architecture of input file `/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/CLR_DEV9.o' is incompatible with i386:x86-64 output collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/clrdev9mono.dir/build.make:116: libclrdev9mono.so] Error 1 make[2]: Leaving directory '/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug' make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/clrdev9mono.dir/all] Error 2 make[1]: Leaving directory '/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/x86/Debug' make: *** [Makefile:91: all] Error 2 cp: cannot stat 'obj/x86/Debug/libclrdev9mono.so': No such file or #directory
@libclrdev9mono.so
tim@ThinkpadTM:~/CLR-DEV9/CLR_DEV9_LINUX_MONO$ inxi -S -C System: Host: ThinkpadTM Kernel: 5.15.0-50-generic x86_64 bits: 64 Desktop: GNOME 42.4 Distro: Ubuntu 22.04.1 LTS (Jammy Jellyfish) CPU: Info: quad core model: 11th Gen Intel Core i7-1165G7 bits: 64 type: MT MCP cache: L2: 5 MiB Speed (MHz): avg: 672 min/max: 400/4700 cores: 1: 753 2: 399 3: 585 4: 813 5: 480 6: 716 7: 979 8: 656 tim@ThinkpadTM:~/CLR-DEV9/CLR_DEV9_LINUX_MONO$ mono -V Mono JIT compiler version 6.12.0.182 (tarball Tue Jun 14 22:35:00 UTC 2022) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug Interpreter: yes LLVM: yes(610) Suspend: hybrid GC: sgen (concurrent by default)
Hello? Anyone?
Do you have gcc-multilib
& g++-multilib
installed?
Another issue is the mono repo for newer versions of ubuntu also only including 64bit builds of mono, you would need to provide 32bit binaries for mono yourself (placing them in the mono_i386
folder)
Hey! Thanks for the help. I wasn't sure if you were still supporting this project.
I had gcc-multilib installed but not g++-multilib. However I still get the same error after building.
/usr/bin/ld: i386 architecture of input file `/home/tim/CLR-DEV9/CLR_DEV9_LINUX_MONO/obj/CLR_DEV9.o' is incompatible with i386:x86-64 output
Do you have any advice on getting these mono_i386 binaries and installing them? Thanks again for your help and this project.
Well, the update is i tried building in a 32bit lxc container and I'm still having problems. Cmake is failing for whatever reason. I'm not giving up. I will try building this in a virtual box with Bionic Beaver.
I have successfully build the library on i386 Bionic beaver but after loading the Dev9 plugin the program still crashed, on restarting it says "The configured DEV9 plugin file is not a valid dynamic library /usr/lib/i386-linux-gnu/pcsx2/libclrdev9mono.so"
Now im seeing one problem with the linked library show below, how can I fix the broken link to libmonogen?
tim@ThinkpadTM:~$ ldd /usr/lib/i386-linux-gnu/pcsx2/libclrdev9mono.so linux-gate.so.1 (0xf7edf000) libmonosgen-2.0.so.1 => not found libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7e76000) libstdc++.so.6 => /lib/i386-linux-gnu/libstdc++.so.6 (0xf7c42000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7c1b000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf79e6000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf78de000) /lib/ld-linux.so.2 (0xf7ee1000)