Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't build on linux #42

Open
TMprojects1 opened this issue Oct 18, 2022 · 6 comments
Open

Can't build on linux #42

TMprojects1 opened this issue Oct 18, 2022 · 6 comments

Comments

@TMprojects1
Copy link

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
@TMprojects1
Copy link
Author

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)

@TMprojects1
Copy link
Author

Hello? Anyone?

@TheLastRar
Copy link
Owner

TheLastRar commented Oct 20, 2022

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)

@TMprojects1
Copy link
Author

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.

@TMprojects1
Copy link
Author

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.

@TMprojects1
Copy link
Author

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants