Open barracuda156 opened 1 year ago
Ok, this commit has broken the build: https://github.com/mono/mono/commit/db5f38402f39f6aeb30a5f12b4e90d7c943f6761
@DavidKarlas @marek-safar Could we make the code conditional to unbreak it?
Apparently it has a broken ppc assembler too:
CC libmonoruntimesgen_la-sgen-mono.lo
{standard input}:390:Parameter syntax error (parameter 1)
{standard input}:391:Parameter syntax error (parameter 1)
{standard input}:392:Parameter syntax error (parameter 1)
{standard input}:393:Parameter syntax error (parameter 1)
{standard input}:394:Parameter syntax error (parameter 1)
{standard input}:395:Parameter syntax error (parameter 1)
{standard input}:396:Parameter syntax error (parameter 1)
{standard input}:397:Parameter syntax error (parameter 1)
{standard input}:398:Parameter syntax error (parameter 1)
{standard input}:399:Parameter syntax error (parameter 1)
{standard input}:400:Parameter syntax error (parameter 1)
{standard input}:401:Parameter syntax error (parameter 1)
{standard input}:402:Parameter syntax error (parameter 1)
{standard input}:403:Parameter syntax error (parameter 1)
{standard input}:404:Parameter syntax error (parameter 1)
{standard input}:405:Parameter syntax error (parameter 1)
{standard input}:406:Parameter syntax error (parameter 1)
{standard input}:407:Parameter syntax error (parameter 1)
{standard input}:408:Parameter syntax error (parameter 1)
{standard input}:409:Parameter syntax error (parameter 1)
{standard input}:410:Parameter syntax error (parameter 1)
{standard input}:411:Parameter syntax error (parameter 1)
{standard input}:412:Parameter syntax error (parameter 1)
{standard input}:413:Parameter syntax error (parameter 1)
{standard input}:414:Parameter syntax error (parameter 1)
{standard input}:415:Parameter syntax error (parameter 1)
{standard input}:416:Parameter syntax error (parameter 1)
{standard input}:417:Parameter syntax error (parameter 1)
{standard input}:418:Parameter syntax error (parameter 1)
{standard input}:419:Parameter syntax error (parameter 1)
{standard input}:420:Parameter syntax error (parameter 1)
{standard input}:421:Parameter syntax error (parameter 1)
{standard input}:422:Parameter syntax error (parameter 1)
{standard input}:423:Parameter syntax error (parameter 1)
{standard input}:424:Parameter syntax error (parameter 1)
{standard input}:425:Parameter syntax error (parameter 1)
{standard input}:426:Parameter syntax error (parameter 1)
{standard input}:427:Parameter syntax error (parameter 1)
{standard input}:428:Parameter syntax error (parameter 1)
{standard input}:429:Parameter syntax error (parameter 1)
{standard input}:430:Parameter syntax error (parameter 1)
{standard input}:431:Parameter syntax error (parameter 1)
{standard input}:432:Parameter syntax error (parameter 1)
{standard input}:433:Parameter syntax error (parameter 1)
{standard input}:434:Parameter syntax error (parameter 1)
{standard input}:435:Parameter syntax error (parameter 1)
{standard input}:436:Parameter syntax error (parameter 1)
{standard input}:437:Parameter syntax error (parameter 1)
{standard input}:438:Parameter syntax error (parameter 1)
{standard input}:439:Parameter syntax error (parameter 1)
{standard input}:440:Parameter syntax error (parameter 1)
{standard input}:441:Parameter syntax error (parameter 1)
{standard input}:442:Parameter syntax error (parameter 1)
{standard input}:443:Parameter syntax error (parameter 1)
{standard input}:444:Parameter syntax error (parameter 1)
{standard input}:445:Parameter syntax error (parameter 1)
{standard input}:446:Parameter syntax error (parameter 1)
{standard input}:447:Parameter syntax error (parameter 1)
{standard input}:448:Parameter syntax error (parameter 1)
{standard input}:449:Parameter syntax error (parameter 1)
{standard input}:450:Parameter syntax error (parameter 1)
{standard input}:451:Parameter syntax error (parameter 1)
{standard input}:452:Parameter syntax error (parameter 1)
{standard input}:453:Parameter syntax error (parameter 1)
{standard input}:454:Parameter syntax error (parameter 1)
{standard input}:455:Parameter syntax error (parameter 1)
make[3]: *** [libmonoruntimesgen_la-sgen-stw.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
There have been a number of breaking commits for macOS PPC. This one broke ppc assembler: https://github.com/mono/mono/commit/f0a2c8ef306c93f9cfc38e4e0d802a590b33e5ee
I suspect these are wrong too: https://github.com/mono/mono/commit/02cdf6abca826279530ff9d89715a743130d127c (very likely wrong) https://github.com/mono/mono/commit/8332185abf23e2f27a536e6b7a08310aba8564fb https://github.com/mono/mono/commit/be104078673d2202c5cce85e81a3691b24265a68
@barracuda156 would you be interested in making PR to address the problems?
@barracuda156 would you be interested in making PR to address the problems?
@marek-safar Three issues fixed, rebuilding now again. Let me reach at least the successful build, otherwise we gonna need many incremental PRs.
P. S. At the moment I am not sure if r11 vs r12 issue is consequential. If it is (likely so, even if not immediately obvious), I may need some help to make it neatly: we cannot just revert https://github.com/mono/mono/commit/02cdf6abca826279530ff9d89715a743130d127c since ppc64le needs it, so register definitions should be set in some header globally, so that macOS picks r11 and other PPC picks r12.
Upon fixing the errors above I ended up with this:
Undefined symbols:
"_mono_mach_arch_get_mcontext_size", referenced from:
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_get_thread_states", referenced from:
_mono_thread_state_init_from_handle in libmini.a(libmini_la-mini-darwin.o)
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_get_thread_fpstate_size", referenced from:
_mono_thread_state_init_from_handle in libmini.a(libmini_la-mini-darwin.o)
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_mcontext_to_thread_states", referenced from:
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_thread_states_to_mono_context", referenced from:
_mono_thread_state_init_from_handle in libmini.a(libmini_la-mini-darwin.o)
"___sync_val_compare_and_swap_8", referenced from:
_mono_atomic_cas_i64 in libmonoutils.a(libmonoutils_la-atomic.o)
"_mono_mach_arch_thread_states_to_mcontext", referenced from:
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_set_thread_states", referenced from:
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_get_thread_state_size", referenced from:
_mono_thread_state_init_from_handle in libmini.a(libmini_la-mini-darwin.o)
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
make[4]: *** [mono-boehm] Error 1
make[4]: *** Waiting for unfinished jobs....
Undefined symbols:
"_mono_mach_arch_get_mcontext_size", referenced from:
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_get_thread_states", referenced from:
_mono_thread_state_init_from_handle in libmini.a(libmini_la-mini-darwin.o)
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_get_thread_fpstate_size", referenced from:
_mono_thread_state_init_from_handle in libmini.a(libmini_la-mini-darwin.o)
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_mcontext_to_thread_states", referenced from:
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_thread_states_to_mono_context", referenced from:
_mono_thread_state_init_from_handle in libmini.a(libmini_la-mini-darwin.o)
"___sync_val_compare_and_swap_8", referenced from:
_mono_atomic_cas_i64 in libmonoutils.a(libmonoutils_la-atomic.o)
"_mono_mach_arch_thread_states_to_mcontext", referenced from:
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_set_thread_states", referenced from:
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
"_mono_mach_arch_get_thread_state_size", referenced from:
_mono_thread_state_init_from_handle in libmini.a(libmini_la-mini-darwin.o)
_mono_threads_suspend_begin_async_resume in libmonoutils.a(libmonoutils_la-mono-threads-mach.o)
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
___sync_val_compare_and_swap_8
should be replaced with respective __atomic*
builtin, then passing -latomic
it will work. Need to look up other errors.
Reached to here:
if test -w /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs; then :; else chmod -R +w /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs; fi
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs && /usr/bin/make --no-print-directory -s NO_DIR_CHECK=1 PROFILES='binary_reference_assemblies net_4_x xbuild_12 xbuild_14 ' CC='/opt/local/bin/gcc-mp-12' all-profiles
mkdir -p -- build/deps
make[6]: posix_spawn: mcs: No such file or directory
*** The runtime 'mono' doesn't appear to be usable.
*** Trying the 'monolite-macos/1A5E0066-58DC-428A-B21C-0AD6CDAE2789' directory.
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
mkdir -p -- ../../class/lib/build-macos/tmp/
MCS [build-macos] gensources.exe
=================================================================
Native Crash Reporting
=================================================================
Got a segv while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
=================================================================
Native stacktrace:
=================================================================
0xced24 - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono :
0xcf0f4 - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono :
0x8da18 - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono :
0xb28c - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono :
0x91a8f294 - /usr/lib/libSystem.B.dylib : _sigtramp
0xc010048 - Unknown
0x1c8 - Unknown
P. S. On a side note, GSS linking appears broken: https://github.com/mono/mono/issues/20990#issuecomment-1537302326 I used a patch from that thread to disable GSS for now.
Provisionally atomics fixed, but it still fails:
</configuration>
/bin/sh ../mkinstalldirs _tmpinst/bin
umask 22
mkdir _tmpinst
mkdir _tmpinst/bin
cp mono-wrapper _tmpinst/bin/mono
echo '#! /bin/sh' > _tmpinst/bin/ilasm ; \
r=`pwd`; m=`cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs && pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/ilasm/ilasm.exe"'" "$@"' >> _tmpinst/bin/ilasm ; \
chmod +x _tmpinst/bin/ilasm
echo '#! /bin/sh' > _tmpinst/bin/csc ; \
r=`pwd`; m=`cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs && pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs/class/lib/build/mcs.exe"'" "$@"' >> _tmpinst/bin/csc ; \
chmod +x _tmpinst/bin/csc
echo '#! /bin/sh' > _tmpinst/bin/mcs ; \
r=`pwd`; m=`cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs && pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/class/lib/net_4_x/mcs.exe"'" "$@"' >> _tmpinst/bin/mcs ; \
chmod +x _tmpinst/bin/mcs
echo '#! /bin/sh' > _tmpinst/bin/al ; \
r=`pwd`; m=`cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs && pwd`; \
echo 'exec "'"$r/_tmpinst/bin/mono"'" "'"$m/class/lib/net_4_x/al.exe"'" "$@"' >> _tmpinst/bin/al ; \
chmod +x _tmpinst/bin/al
if test -w /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs; then :; else chmod -R +w /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs; fi
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mcs && /usr/bin/make --no-print-directory -s NO_DIR_CHECK=1 PROFILES='binary_reference_assemblies net_4_x xbuild_12 xbuild_14 ' CC='/opt/local/bin/gcc-mp-12' all-profiles
mkdir -p -- build/deps
make[6]: posix_spawn: mcs: No such file or directory
*** The runtime 'mono' doesn't appear to be usable.
*** Trying the 'monolite-macos/1A5E0066-58DC-428A-B21C-0AD6CDAE2789' directory.
* Assertion at class-accessors.c:99, condition `mono_class_is_gtd (klass)' not met
=================================================================
Native Crash Reporting
=================================================================
Got a abrt while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
=================================================================
Native stacktrace:
=================================================================
0xced20 - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono :
0xcf0f0 - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono :
0x8da08 - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono :
0xce47c - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono :
0xb4d294 - /usr/lib/libSystem.B.dylib : _sigtramp
0x26d460 - /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono : monoeg_g_hash_table_lookup_extended
=================================================================
Telemetry Dumper:
=================================================================
Attempted to dump for critical failure when already in dump. Error reporting crashed?
=================================================================
External Debugger Dump:
=================================================================
=================================================================
Basic Fault Address Reporting
=================================================================
Memory around native instruction pointer (0xb4ed48):0xb4ed38 48 00 00 04 38 00 00 25 44 00 00 02 48 00 00 08 H...8..%D...H...
0xb4ed48 48 00 00 24 7c 08 02 a6 42 9f 00 05 7d 88 02 a6 H..$|...B...}...
0xb4ed58 7c 08 03 a6 3d 8c 00 15 81 8c bd 4c 7d 89 03 a6 |...=......L}...
0xb4ed68 4e 80 04 20 4e 80 00 20 7c 08 02 a6 38 60 00 00 N.. N.. |...8`..
=================================================================
Managed Stacktrace:
=================================================================
at <unknown> <0xffffffff>
at System.Collections.Generic.HashSet`1:InternalGetHashCode <0x0006c>
at System.Collections.Generic.HashSet`1:AddIfNotPresent <0x0006c>
at System.Collections.Generic.HashSet`1:Add <0x00028>
at Mono.CSharp.Tokenizer:AddKeyword <0x00050>
at Mono.CSharp.Tokenizer:.cctor <0x00214>
at System.Object:runtime_invoke_void <0x000a0>
at <unknown> <0xffffffff>
at System.Object:__icall_wrapper_mono_generic_class_init <0x000d8>
at Mono.CSharp.CSharpParser:.ctor <0x003c0>
at Mono.CSharp.Driver:Parse <0x000b4>
at Mono.CSharp.Driver:DoParse <0x00058>
at Mono.CSharp.Driver:Parse <0x002b0>
at Mono.CSharp.Driver:Parse <0x001c8>
at Mono.CSharp.Driver:Compile <0x00254>
at Mono.CSharp.Driver:Main <0x00204>
at <Module>:runtime_invoke_int_object <0x00144>
=================================================================
make[8]: *** [build/deps/basic-profile-check.exe] Abort trap
*** The contents of your 'monolite-macos/1A5E0066-58DC-428A-B21C-0AD6CDAE2789' directory may be out-of-date
*** You may want to try 'make get-monolite-latest'
make[8]: *** [do-profile-check-monolite] Error 1
make[7]: *** [do-profile-check] Error 2
make[6]: *** [do-profile-check-monolite] Error 2
make[5]: *** [do-profile-check] Error 2
make[4]: *** [profile-do--build--all] Error 2
make[3]: *** [profiles-do--all] Error 2
make[2]: *** [all-mcs] Error 2
Crash log from then:
Process: mono [79835]
Path: /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono
Identifier: mono
Version: ??? (???)
Code Type: PPC (Native)
Parent Process: make [79834]
Date/Time: 2023-05-09 17:07:32.648 +0800
OS Version: Mac OS X 10.6 (10A190)
Report Version: 6
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 0
Application Specific Information:
abort() called
Thread 0 Crashed:
0 libSystem.B.dylib 0x00b4ed48 __kill + 12
1 libSystem.B.dylib 0x00bf2808 abort + 116
2 mono 0x0008da94 mono_handle_native_crash + 544
3 mono 0x000ce478 sigabrt_signal_handler + 108
4 libSystem.B.dylib 0x00b4d290 _sigtramp + 64
5 mono 0x0026d45c monoeg_g_hash_table_lookup_extended + 156
Thread 1:
0 libSystem.B.dylib 0x00ad5e10 __semwait_signal + 12
1 libSystem.B.dylib 0x00b133b0 _pthread_cond_wait + 1524
2 mono 0x0024d028 mono_os_cond_wait.constprop.0 + 32
3 mono 0x0024d6a4 thread_func + 268
4 libSystem.B.dylib 0x00b12060 _pthread_start + 320
Thread 2:
0 libSystem.B.dylib 0x00acede8 semaphore_wait_trap + 8
1 mono 0x002064e4 mono_os_sem_wait + 44
2 mono 0x00207228 mono_coop_sem_wait.constprop.0 + 68
3 mono 0x00207428 finalizer_thread + 260
4 mono 0x001cfb64 start_wrapper + 412
5 libSystem.B.dylib 0x00b12060 _pthread_start + 320
Thread 3:
0 libSystem.B.dylib 0x00b11878 kevent + 12
1 libSystem.B.dylib 0x00c49a38 dispatch_wake_from_pthreads + 256
Thread 0 crashed with PPC Thread State 32:
srr0: 0x00b4ed48 srr1: 0x0200d030 dar: 0x00ca1788 dsisr: 0x0a000000
r0: 0x00000025 r1: 0xbfffc250 r2: 0x00000008 r3: 0x00000000
r4: 0x00000000 r5: 0x00000001 r6: 0x00000000 r7: 0x00000002
r8: 0x3d0a0000 r9: 0x00cd9edc r10: 0x00b1abc4 r11: 0x00c99020
r12: 0x00b4ed34 r13: 0x00000000 r14: 0x00000000 r15: 0x0236d9c8
r16: 0x0236d99c r17: 0x003325d8 r18: 0x040821a8 r19: 0x02302110
r20: 0xbfffd3f8 r21: 0xbfffd404 r22: 0xbfffd408 r23: 0x00000000
r24: 0x040947f0 r25: 0x04019c00 r26: 0x02301ba0 r27: 0xbfffc5c0
r28: 0x0028a78f r29: 0xbfffc398 r30: 0x00c6d36c r31: 0x00bf27a0
cr: 0x42004432 xer: 0x00000000 lr: 0x00bf280c ctr: 0x00b4ed34
vrsave: 0x00000000
Binary Images:
0x1000 - 0x346fff +mono ??? (???) <9c932dee44128448e7e96fe0177e10ca> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/mini/mono
0x4a4000 - 0x4b7ffc +libz.1.dylib ??? (???) <c697fd0e0e4f9423b001dfffce0f46c3> /opt/local/lib/libz.1.dylib
0x4bb000 - 0x4c0fff +libMacportsLegacySupport.dylib ??? (???) <866c1cae762ea8789473e05e97b26a5b> /opt/local/lib/libMacportsLegacySupport.dylib
0x4c4000 - 0x4c6fff +libatomic.1.dylib ??? (???) <e027bd33ead85ee6229c3a8c013f1d0c> /opt/local/lib/libgcc/libatomic.1.dylib
0x4ca000 - 0x622ff7 com.apple.CoreFoundation 6.6 (511.1) <b82d52070a5949f92c5001e06d67044b> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x72c000 - 0x984fff com.apple.Foundation 6.6 (711.1) <42ee053ddba592040925af9eb9542462> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0xace000 - 0xc98fe7 libSystem.B.dylib ??? (???) <420b38fe0fa0944f6f5bc4840bf29a4e> /usr/lib/libSystem.B.dylib
0xd20000 - 0xda1fe7 libobjc.A.dylib ??? (???) <bb09ce82013fa9c4a4010c58fe6c1e10> /usr/lib/libobjc.A.dylib
0xdb3000 - 0xdbefff libgcc_s.1.dylib ??? (???) <1eb48ae6b07dcb096bda0433409722c1> /usr/lib/libgcc_s.1.dylib
0xdc3000 - 0xdc8ff6 libmathCommon.A.dylib ??? (???) <e166c8e59a80a82b4504b1dd43d1f50a> /usr/lib/system/libmathCommon.A.dylib
0xdcc000 - 0xdffff1 libauto.dylib ??? (???) <2848423526fb9c0f381c6ceacc4f2c27> /usr/lib/libauto.dylib
0xe0b000 - 0xf94fff libicucore.A.dylib ??? (???) <28f339176d9e26b663f19c1cad91784e> /usr/lib/libicucore.A.dylib
0xfe4000 - 0xff2fff libz.1.dylib ??? (???) <c296d00fd65aa7271f3d5592c25c0f96> /usr/lib/libz.1.dylib
0xff7000 - 0x1061ffb libstdc++.6.dylib ??? (???) <5824de0c43054a01c556e9ef288f33c7> /usr/lib/libstdc++.6.dylib
0x10ab000 - 0x11c6fff libxml2.2.dylib ??? (???) <2bdb2ca8d4aabba550ba9f2111ebf46a> /usr/lib/libxml2.2.dylib
0x11e9000 - 0x12a9ffb com.apple.CFNetwork 417.1 (417.1) <911e0fa87591b77e8bb8ec4759941216> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
0x1311000 - 0x134cfff com.apple.SystemConfiguration 1.10 (1.10) <2daf422a1a7ca90ba32720000e56b3aa> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
0x1368000 - 0x1596ff7 com.apple.security 6.0 (34772) <df4f0710dfee6e04e7fdba557064977b> /System/Library/Frameworks/Security.framework/Versions/A/Security
0x16ad000 - 0x16adffa com.apple.CoreServices 41 (41) <97bf3903384c706ba0f7d19577f0ef8c> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
0x16c3000 - 0x1774ff7 libsqlite3.0.dylib ??? (???) <cc6135a5433e43988bf825e149e47483> /usr/lib/libsqlite3.0.dylib
0x1780000 - 0x1aa6ff7 com.apple.CoreServices.CarbonCore 818 (818) <3e631022aef7f9d15373e1f56e74ff00> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
0x1b2f000 - 0x1b6ffff com.apple.Metadata 10.6.0 (429.1) <d8b50a8ca605800f8f36caf448daed42> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
0x1b88000 - 0x1c60fff com.apple.CoreServices.OSServices 310 (310) <633ea4081155a516c80bf948f004d235> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
0x1ccb000 - 0x1d48ffb com.apple.SearchKit 1.3.0 (1.3.0) <4c7ffa79c1cd48d28eb165768fbfc2f4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
0x1d87000 - 0x1dbffff com.apple.AE 464 (464) <492b7cdb81e64fca5af300b0c231ebec> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x1dd7000 - 0x1e6eff7 com.apple.LaunchServices 318.1 (318.1) <5ee43f629f636d1863e73dc312c736c2> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
0x1eb4000 - 0x1ed7fff com.apple.DictionaryServices 1.0.0 (1.0.0) <f2f1f85469f3036ec9890bfa888edbe2> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
0x1eed000 - 0x1f43ff3 com.apple.framework.IOKit 1.5.1 (???) <21f9b751b7578a33306804af2c6ded8d> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
0x1f5c000 - 0x1f65fff com.apple.DiskArbitration 2.2.1 (2.2.1) <daa422fc5a934366c8f0a12204b46cb1> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
0x1f6e000 - 0x1f80fff libbsm.0.dylib ??? (???) <c43c47af4211639e8828d3e8ff93a019> /usr/lib/libbsm.0.dylib
0x1f86000 - 0x1f93ffe NetFS ??? (???) <5125b2c825637b243afa1ea942ba8220> /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
0x1f9a000 - 0x1fa3ffc libkxld.dylib ??? (???) <725cd6e644549962b0110493f4bb7c08> /usr/lib/system/libkxld.dylib
0x1fa7000 - 0x1fd3fff libxslt.1.dylib ??? (???) <da4552da93bf856897f6b399bb10806d> /usr/lib/libxslt.1.dylib
0x1ff1000 - 0x1ff2ffc dns.so ??? (???) <d61372b816f011ea19a6b524c61f14a7> /usr/lib/info/dns.so
0x2100000 - 0x2120fff libresolv.9.dylib ??? (???) <2b57f734cfd1eb7ebf2eb9a4bbbc5a23> /usr/lib/libresolv.9.dylib
0x3f00000 - 0x3fb1ffd +libmono-native.0.dylib ??? (???) <23707bae58308d43ede17b5a2f6a7c15> /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.182/mono/native/.libs/libmono-native.0.dylib
0x8fe00000 - 0x8fe31143 dyld 113.0 (???) <ee555e655e1cf66cac80728801add419> /usr/lib/dyld
0xffff8000 - 0xffff9703 libSystem.B.dylib ??? (???) /usr/lib/libSystem.B.dylib
@marek-safar So it fails at the point of trying to use a pre-built mcs
binary instead of building it from source. Is this a correct behavior? I would not expect any pre-built binaries to work on ppc
(or any non-mainstream arch); likely we need to build everything from sources.
The pre-built binary appears to be for x86:
36-25% file /Users/svacchanda/Downloads/monolite-macos-1A5E0066-58DC-428A-B21C-0AD6CDAE2789-latest/mcs.exe
\/Users/svacchanda/Downloads/monolite-macos-1A5E0066-58DC-428A-B21C-0AD6CDAE2789-latest/mcs.exe: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows, 3 sections
Here is what my mono
shows:
36-25% /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_mono/mono/work/mono-6.12.0.206/mono/mini/mono --version
Mono JIT compiler version 6.12.0 (explicit/0cbf0e290c3 Sat Jun 29 11:29:22 CST 2024)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: normal
Notification: kqueue
Architecture: ppc
Disabled: none
Misc: softdebug
Interpreter: yes
Suspend: preemptive
GC: sgen
@marek-safar I was able to build it with my old patches, but passing --disable-mcs-build
to configure.
As earlier, I also disable dtrace
and gss
.
Is it of some use without mcs
? :)
Trying to use with some builds I get this error:
The assembly mscorlib.dll was not found or could not be loaded.
It should have been installed in the `/opt/local/lib/mono/4.5/mscorlib.dll' directory.
Indeed, there is no such library:
36-25% port contents mono
Port mono @6.12.0.206_0 contains:
/opt/local/bin/al
/opt/local/bin/al2
/opt/local/bin/csc
/opt/local/bin/csi
/opt/local/bin/gacutil
/opt/local/bin/gacutil2
/opt/local/bin/ilasm
/opt/local/bin/makecert
/opt/local/bin/mcs
/opt/local/bin/mdassembler
/opt/local/bin/mdoc-assemble
/opt/local/bin/mdoc-export-html
/opt/local/bin/mdoc-export-msxdoc
/opt/local/bin/mdoc-update
/opt/local/bin/mdoc-validate
/opt/local/bin/mdvalidater
/opt/local/bin/mkbundle
/opt/local/bin/mono
/opt/local/bin/mono-boehm
/opt/local/bin/mono-configuration-crypto
/opt/local/bin/mono-find-provides
/opt/local/bin/mono-find-requires
/opt/local/bin/mono-gdb.py
/opt/local/bin/mono-hang-watchdog
/opt/local/bin/mono-heapviz
/opt/local/bin/mono-package-runtime
/opt/local/bin/mono-service
/opt/local/bin/mono-service2
/opt/local/bin/mono-sgen
/opt/local/bin/mono-sgen-gdb.py
/opt/local/bin/mono-test-install
/opt/local/bin/monodis
/opt/local/bin/monodocer
/opt/local/bin/monodocs2html
/opt/local/bin/monodocs2slashdoc
/opt/local/bin/monop
/opt/local/bin/monop2
/opt/local/bin/mprof-report
/opt/local/bin/pedump
/opt/local/bin/peverify
/opt/local/bin/resgen
/opt/local/bin/resgen2
/opt/local/bin/sgen-grep-binprot
/opt/local/bin/sn
/opt/local/bin/vbc
/opt/local/bin/wsdl
/opt/local/bin/wsdl2
/opt/local/etc/mono/2.0/Browsers/Compat.browser
/opt/local/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx
/opt/local/etc/mono/2.0/machine.config
/opt/local/etc/mono/2.0/settings.map
/opt/local/etc/mono/2.0/web.config
/opt/local/etc/mono/4.0/Browsers/Compat.browser
/opt/local/etc/mono/4.0/DefaultWsdlHelpGenerator.aspx
/opt/local/etc/mono/4.0/machine.config
/opt/local/etc/mono/4.0/settings.map
/opt/local/etc/mono/4.0/web.config
/opt/local/etc/mono/4.5/Browsers/Compat.browser
/opt/local/etc/mono/4.5/DefaultWsdlHelpGenerator.aspx
/opt/local/etc/mono/4.5/machine.config
/opt/local/etc/mono/4.5/settings.map
/opt/local/etc/mono/4.5/web.config
/opt/local/etc/mono/browscap.ini
/opt/local/etc/mono/config
/opt/local/include/mono-2.0/mono/cil/opcode.def
/opt/local/include/mono-2.0/mono/jit/jit.h
/opt/local/include/mono-2.0/mono/metadata/appdomain.h
/opt/local/include/mono-2.0/mono/metadata/assembly.h
/opt/local/include/mono-2.0/mono/metadata/attrdefs.h
/opt/local/include/mono-2.0/mono/metadata/blob.h
/opt/local/include/mono-2.0/mono/metadata/class.h
/opt/local/include/mono-2.0/mono/metadata/debug-helpers.h
/opt/local/include/mono-2.0/mono/metadata/debug-mono-symfile.h
/opt/local/include/mono-2.0/mono/metadata/environment.h
/opt/local/include/mono-2.0/mono/metadata/exception.h
/opt/local/include/mono-2.0/mono/metadata/image.h
/opt/local/include/mono-2.0/mono/metadata/loader.h
/opt/local/include/mono-2.0/mono/metadata/metadata.h
/opt/local/include/mono-2.0/mono/metadata/mono-config.h
/opt/local/include/mono-2.0/mono/metadata/mono-debug.h
/opt/local/include/mono-2.0/mono/metadata/mono-gc.h
/opt/local/include/mono-2.0/mono/metadata/object-forward.h
/opt/local/include/mono-2.0/mono/metadata/object.h
/opt/local/include/mono-2.0/mono/metadata/opcodes.h
/opt/local/include/mono-2.0/mono/metadata/profiler-events.h
/opt/local/include/mono-2.0/mono/metadata/profiler.h
/opt/local/include/mono-2.0/mono/metadata/reflection.h
/opt/local/include/mono-2.0/mono/metadata/row-indexes.h
/opt/local/include/mono-2.0/mono/metadata/sgen-bridge.h
/opt/local/include/mono-2.0/mono/metadata/threads.h
/opt/local/include/mono-2.0/mono/metadata/tokentype.h
/opt/local/include/mono-2.0/mono/metadata/verify.h
/opt/local/include/mono-2.0/mono/utils/mono-counters.h
/opt/local/include/mono-2.0/mono/utils/mono-dl-fallback.h
/opt/local/include/mono-2.0/mono/utils/mono-error.h
/opt/local/include/mono-2.0/mono/utils/mono-forward.h
/opt/local/include/mono-2.0/mono/utils/mono-jemalloc.h
/opt/local/include/mono-2.0/mono/utils/mono-logger.h
/opt/local/include/mono-2.0/mono/utils/mono-publib.h
/opt/local/lib/libMonoPosixHelper.a
/opt/local/lib/libMonoPosixHelper.dylib
/opt/local/lib/libMonoPosixHelper.la
/opt/local/lib/libMonoSupportW.a
/opt/local/lib/libMonoSupportW.dylib
/opt/local/lib/libMonoSupportW.la
/opt/local/lib/libikvm-native.a
/opt/local/lib/libikvm-native.dylib
/opt/local/lib/libikvm-native.la
/opt/local/lib/libmono-2.0.1.dylib
/opt/local/lib/libmono-2.0.a
/opt/local/lib/libmono-2.0.dylib
/opt/local/lib/libmono-2.0.la
/opt/local/lib/libmono-native.0.dylib
/opt/local/lib/libmono-native.a
/opt/local/lib/libmono-native.dylib
/opt/local/lib/libmono-native.la
/opt/local/lib/libmono-profiler-aot-static.a
/opt/local/lib/libmono-profiler-aot-static.la
/opt/local/lib/libmono-profiler-aot.0.dylib
/opt/local/lib/libmono-profiler-aot.a
/opt/local/lib/libmono-profiler-aot.dylib
/opt/local/lib/libmono-profiler-aot.la
/opt/local/lib/libmono-profiler-coverage-static.a
/opt/local/lib/libmono-profiler-coverage-static.la
/opt/local/lib/libmono-profiler-coverage.0.dylib
/opt/local/lib/libmono-profiler-coverage.a
/opt/local/lib/libmono-profiler-coverage.dylib
/opt/local/lib/libmono-profiler-coverage.la
/opt/local/lib/libmono-profiler-log-static.a
/opt/local/lib/libmono-profiler-log-static.la
/opt/local/lib/libmono-profiler-log.0.dylib
/opt/local/lib/libmono-profiler-log.a
/opt/local/lib/libmono-profiler-log.dylib
/opt/local/lib/libmono-profiler-log.la
/opt/local/lib/libmonoboehm-2.0.1.dylib
/opt/local/lib/libmonoboehm-2.0.a
/opt/local/lib/libmonoboehm-2.0.dylib
/opt/local/lib/libmonoboehm-2.0.la
/opt/local/lib/libmonosgen-2.0.1.dylib
/opt/local/lib/libmonosgen-2.0.a
/opt/local/lib/libmonosgen-2.0.dylib
/opt/local/lib/libmonosgen-2.0.la
/opt/local/lib/mono/lldb/mono.py
/opt/local/lib/pkgconfig/aspnetwebstack.pc
/opt/local/lib/pkgconfig/cecil.pc
/opt/local/lib/pkgconfig/dotnet.pc
/opt/local/lib/pkgconfig/dotnet35.pc
/opt/local/lib/pkgconfig/mono-2.pc
/opt/local/lib/pkgconfig/mono-cairo.pc
/opt/local/lib/pkgconfig/mono-lineeditor.pc
/opt/local/lib/pkgconfig/mono-options.pc
/opt/local/lib/pkgconfig/mono.pc
/opt/local/lib/pkgconfig/monodoc.pc
/opt/local/lib/pkgconfig/monosgen-2.pc
/opt/local/lib/pkgconfig/reactive.pc
/opt/local/lib/pkgconfig/system.web.extensions.design_1.0.pc
/opt/local/lib/pkgconfig/system.web.extensions_1.0.pc
/opt/local/lib/pkgconfig/system.web.mvc.pc
/opt/local/lib/pkgconfig/system.web.mvc2.pc
/opt/local/lib/pkgconfig/system.web.mvc3.pc
/opt/local/lib/pkgconfig/wcf.pc
/opt/local/lib/pkgconfig/xbuild12.pc
/opt/local/share/doc/mono/COPYING.LIB
/opt/local/share/doc/mono/NEWS
/opt/local/share/doc/mono/README.md
/opt/local/share/man/man1/al.1.gz
/opt/local/share/man/man1/aprofutil.1.gz
/opt/local/share/man/man1/cccheck.1.gz
/opt/local/share/man/man1/ccrewrite.1.gz
/opt/local/share/man/man1/cert-sync.1.gz
/opt/local/share/man/man1/cert2spc.1.gz
/opt/local/share/man/man1/certmgr.1.gz
/opt/local/share/man/man1/chktrust.1.gz
/opt/local/share/man/man1/cilc.1.gz
/opt/local/share/man/man1/crlupdate.1.gz
/opt/local/share/man/man1/csharp.1.gz
/opt/local/share/man/man1/disco.1.gz
/opt/local/share/man/man1/dtd2xsd.1.gz
/opt/local/share/man/man1/gacutil.1.gz
/opt/local/share/man/man1/genxs.1.gz
/opt/local/share/man/man1/httpcfg.1.gz
/opt/local/share/man/man1/ilasm.1.gz
/opt/local/share/man/man1/illinkanalyzer.1.gz
/opt/local/share/man/man1/lc.1.gz
/opt/local/share/man/man1/macpack.1.gz
/opt/local/share/man/man1/makecert.1.gz
/opt/local/share/man/man1/mconfig.1.gz
/opt/local/share/man/man1/mcs.1.gz
/opt/local/share/man/man1/mdassembler.1.gz
/opt/local/share/man/man1/mdb2ppdb.1.gz
/opt/local/share/man/man1/mdoc-assemble.1.gz
/opt/local/share/man/man1/mdoc-export-html.1.gz
/opt/local/share/man/man1/mdoc-export-msxdoc.1.gz
/opt/local/share/man/man1/mdoc-update.1.gz
/opt/local/share/man/man1/mdoc-validate.1.gz
/opt/local/share/man/man1/mdoc.1.gz
/opt/local/share/man/man1/mdvalidater.1.gz
/opt/local/share/man/man1/mkbundle.1.gz
/opt/local/share/man/man1/mono-api-info.1.gz
/opt/local/share/man/man1/mono-cil-strip.1.gz
/opt/local/share/man/man1/mono-configuration-crypto.1.gz
/opt/local/share/man/man1/mono-profilers.1.gz
/opt/local/share/man/man1/mono-service.1.gz
/opt/local/share/man/man1/mono-shlib-cop.1.gz
/opt/local/share/man/man1/mono-symbolicate.1.gz
/opt/local/share/man/man1/mono-xmltool.1.gz
/opt/local/share/man/man1/mono.1.gz
/opt/local/share/man/man1/monodis.1.gz
/opt/local/share/man/man1/monodocer.1.gz
/opt/local/share/man/man1/monodocs2html.1.gz
/opt/local/share/man/man1/monolinker.1.gz
/opt/local/share/man/man1/monop.1.gz
/opt/local/share/man/man1/mozroots.1.gz
/opt/local/share/man/man1/mprof-report.1.gz
/opt/local/share/man/man1/pdb2mdb.1.gz
/opt/local/share/man/man1/permview.1.gz
/opt/local/share/man/man1/resgen.1.gz
/opt/local/share/man/man1/secutil.1.gz
/opt/local/share/man/man1/setreg.1.gz
/opt/local/share/man/man1/sgen.1.gz
/opt/local/share/man/man1/signcode.1.gz
/opt/local/share/man/man1/sn.1.gz
/opt/local/share/man/man1/soapsuds.1.gz
/opt/local/share/man/man1/sqlsharp.1.gz
/opt/local/share/man/man1/wsdl.1.gz
/opt/local/share/man/man1/xbuild.1.gz
/opt/local/share/man/man1/xsd.1.gz
/opt/local/share/man/man5/mdoc.5.gz
/opt/local/share/man/man5/mono-config.5.gz
/opt/local/share/mono-2.0/mono/cil/cil-opcodes.xml
/opt/local/share/mono-2.0/mono/eglib/eglib-config.h
/opt/local/share/mono-2.0/mono/profiler/mono-profiler-coverage.suppression
Can I use some other binary in place of mcs
?
Okay, apparently we do need mcs
, so the target has to be fixed and not disabled.
@alarixnia Have you tried building this on ppc
via pkgsrc
? Maybe you could advise something.
The only relevant issue at the moment is to fix mcs
, all macOS SDK issues are sorted, I believe, and mono
itself builds.
Ok, perhaps one thing we need to change is switch TLS to pthread
, see: https://github.com/mono/mono/commit/5d96019cc21ef7228d89becac3a69870c797e5f9
@NattyNarwhal Maybe you could take a look?
https://trac.macports.org/ticket/61151