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

Build error when compiling OSX targeting ARM64 (error: unknown directive in BoringTLS code) #95

Closed
Xrayez opened this issue Aug 25, 2021 · 19 comments · Fixed by #104
Closed
Assignees
Labels
bug Something isn't working

Comments

@Xrayez
Copy link

Xrayez commented Aug 25, 2021

Branch: main @ 5566d8c

[  8%] Built target rc4
make[6]: Entering directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/sha/sha1-armv8.S:7:1: error: unknown directive
.hidden sha1_block_data_order
^
[  8%] Generating chacha-armv8.S
make[6]: *** [boringssl/crypto/sha/CMakeFiles/sha.dir/build.make:144: boringssl/crypto/sha/CMakeFiles/sha.dir/sha1-armv8.S.o] Error 1
make[6]: Leaving directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
make[5]: *** [CMakeFiles/Makefile2:1188: boringssl/crypto/sha/CMakeFiles/sha.dir/all] Error 2
make[5]: *** Waiting for unfinished jobs....
[  8%] Building C object boringssl/crypto/modes/CMakeFiles/modes.dir/gcm.c.o
[  8%] Building C object boringssl/crypto/CMakeFiles/crypto-objects.dir/thread.c.o
[  9%] Building ASM object boringssl/crypto/modes/CMakeFiles/modes.dir/ghashv8-armx.S.o
[ 10%] Building C object boringssl/crypto/CMakeFiles/crypto-objects.dir/thread_none.c.o
[ 10%] Building C object boringssl/crypto/CMakeFiles/crypto-objects.dir/thread_pthread.c.o
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:5:1: error: unknown directive
.code 32
^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:7:1: error: unknown directive
.hidden gcm_init_v8
^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:11:11: error: vector register expected
 vld1.64 {q9},[r1] @ load input H
          ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:12:2: error: unrecognized instruction mnemonic, did you mean: fmov, mov, movi, movk, movn, movz, smov, umov?
 vmov.i8 q11,#0xe1
 ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:13:25: error: unexpected symbol modifier following '@'
 vshl.i64 q11,q11,#57 @ 0xc2.0
                        ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:14:2: error: unrecognized instruction mnemonic, did you mean: ext, extr?
 vext.8 q3,q9,q9,#8
 ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:15:2: error: unrecognized instruction mnemonic, did you mean: shrn, sshr, ushr?
 vshr.u64 q10,q11,#63
 ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.SScanning dependencies of target chacha
:16:make[6]: Leaving directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
16make[6]: Entering directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
: error: unexpected token in argument list
 vdup.32 q9,d18[1]
               ^
[ 11%] Building C object boringssl/crypto/chacha/CMakeFiles/chacha.dir/chacha.c.o
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:17:25: error: invalid variant 't0'
 vext.8 q8,q10,q11,#8 @ t0=0xc2....01
                        ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:18:2: error: unrecognized instruction mnemonic, did you mean: shrn, sshr, ushr?
 vshr.u64 q10,q3,#63
 ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:19:23: error: invalid variant 'broadcast'
 vshr.s32 q9,q9,#31 @ broadcast carry bit
                      ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:20:2: error: unrecognized instruction mnemonic, did you mean: and, ands?
 vand q10,q10,q8
 ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:21:2: error: unrecognized instruction mnemonic, did you mean: shl, shll, sshl, ushl?
 vshl.i64 q3,q3,#1
 ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:22:2: error: unrecognized instruction mnemonic, did you mean: ext, extr?
 vext.8 q10,q10,q10,#8
 ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:23:2: error: unrecognized instruction mnemonic, did you mean: and, ands?
 vand q8,q8,q9
 ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:24:17: error: unexpected token in argument list
 vorr q3,q3,q10 @ H<<<=1
                ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:25:17: error: unexpected token in argument list
 veor q12,q3,q8 @ twisted H
                ^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/modes/ghashv8-armx.S:26:11: error: vector register expected
 vst1.64 {q12},[r0]! @ store Htable[0]
          ^

My host machine has Intel CPU, if that makes a difference. Tried both under Fedora 34 host, and even Windows WSL2 Ubuntu 20.04.2.0 LTS, same results.

Full logs:
xrayez-logs.tar.gz

@VectorWorkshopBaoErJie
Copy link
Contributor

Yes, I also failed the build and look forward to fixing it.

@akien-mga
Copy link
Member

Which Mono version are you building? ARM64 support is included in latest 2020-02 branch (Preview version, I last used Mono 6.12.0.147).

@Xrayez
Copy link
Author

Xrayez commented Sep 6, 2021

Using 6.12.0.147 according to podman images. I haven't checked out any git mono repositories manually, it's a clean build, I have even deleted all files and previous container images prior to building new ones (with ./build.sh 3.x mono-6-12.0.147).

@akien-mga
Copy link
Member

And which Xcode version? You need at least Xcode 12 for ARM64 support.

@Xrayez
Copy link
Author

Xrayez commented Sep 6, 2021

Xcode version is the same as in build.sh (12.4): https://github.com/godotengine/build-containers/blob/main/build.sh#L121.

@akien-mga
Copy link
Member

Then I don't know what causes this, it seemed to work fine for me. I'll give it another try when I'm back to work next week.

@VectorWorkshopBaoErJie
Copy link
Contributor

make[6]: Leaving directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
[ 18%] Building C object boringssl/crypto/modes/CMakeFiles/modes.dir/cfb.c.o
[ 18%] Built target md4
[ 19%] Building C object boringssl/crypto/pem/CMakeFiles/pem.dir/pem_lib.c.o
[ 19%] Building C object boringssl/crypto/asn1/CMakeFiles/asn1.dir/a_d2i_fp.c.o
[ 20%] Building C object boringssl/crypto/poly1305/CMakeFiles/poly1305.dir/poly1305_vec.c.o
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/chacha/chacha-armv8.S:22:1: error: unknown directive
.hidden ChaCha20_ctr32
^
[ 20%] Building C object boringssl/crypto/dh/CMakeFiles/dh.dir/check.c.o
make[6]: Leaving directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
make[6]: *** [boringssl/crypto/chacha/CMakeFiles/chacha.dir/build.make:98: boringssl/crypto/chacha/CMakeFiles/chacha.dir/chacha-armv8.S.o] Error 1
make[6]: Leaving directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
make[5]: *** [CMakeFiles/Makefile2:1396: boringssl/crypto/chacha/CMakeFiles/chacha.dir/all] Error 2
make[5]: *** Waiting for unfinished jobs....
make[6]: Leaving directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
[ 21%] Building C object boringssl/crypto/bn/CMakeFiles/bn.dir/asm/x86_64-gcc.c.o
[ 21%] Building C object boringssl/crypto/cipher/CMakeFiles/cipher.dir/derive_key.c.o
[ 21%] Building C object boringssl/crypto/CMakeFiles/crypto-objects.dir/ex_data.c.o
[ 22%] Building C object boringssl/crypto/CMakeFiles/crypto-objects.dir/mem.c.o
[ 23%] Built target md5
[ 23%] Building C object boringssl/crypto/rand/CMakeFiles/rand.dir/windows.c.o
[ 23%] Building C object boringssl/crypto/err/CMakeFiles/err.dir/err_data.c.o
[ 24%] Building ASM object boringssl/crypto/sha/CMakeFiles/sha.dir/sha256-armv8.S.o
[ 24%] Building C object boringssl/crypto/dh/CMakeFiles/dh.dir/dh_asn1.c.o
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/sha/sha1-armv8.S:7:1: error: unknown directive
.hidden sha1_block_data_order
^
[ 24%] Building C object boringssl/crypto/curve25519/CMakeFiles/curve25519.dir/spake25519.c.o
[ 24%] Building C object boringssl/crypto/CMakeFiles/crypto-objects.dir/refcount_c11.c.o
[ 24%] Building C object boringssl/crypto/newhope/CMakeFiles/newhope.dir/ntt.c.o
[ 24%] Built target dsa
make[6]: *** [boringssl/crypto/sha/CMakeFiles/sha.dir/build.make:144: boringssl/crypto/sha/CMakeFiles/sha.dir/sha1-armv8.S.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[6]: Leaving directory '/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared'
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/aes/aesv8-armx.S:7:1: error: unknown directive
.code 32
^
/root/mono-configs/desktop-osx-arm64-release/mono/btls/build-shared/boringssl/crypto/aes/aesv8-armx.S:11:53: error: invalid variant 'rotate' in '.long' directive

@VectorWorkshopBaoErJie
Copy link
Contributor

./build.sh 3.3 mono-6-12.0.147 The OSX build failed

@akien-mga
Copy link
Member

I could reproduce it while attempting to build the new 6.12.0.158 (might also happen with 6.12.0.147, I didn't try again). I'll have to figure out what was different when I did get a working 6.12.0.147 build which I've been using for 3.4 betas...

@akien-mga akien-mga added the bug Something isn't working label Oct 10, 2021
@akien-mga akien-mga self-assigned this Oct 10, 2021
@akien-mga
Copy link
Member

My last build of 3.x-mono-6.12.0.147 for macOS was on 2021-07-27 08:57:44 +0000 UTC, which must be when I was working on #87. It could however be from a local Git state which was slightly different to what ended up in the PR, though nothing that would explain this error with BoringTLS IMO.

What's more likely to be problematic is godot-mono-builds updates in 8b32344 and 6636cb9, respectively including godotengine/godot-mono-builds#47 and godotengine/godot-mono-builds#49, which are both related to BTLS.

@akien-mga akien-mga changed the title Build error when compiling OSX targeting ARM64 Build error when compiling OSX targeting ARM64 (error: unknown directive in BoringTLS code) Oct 11, 2021
@akien-mga
Copy link
Member

akien-mga commented Oct 11, 2021

I confirmed that reverting godotengine/godot-mono-builds@f63f4e2 fixes the build issue. @neikeq

I think it's the addition of --enable-btls-lib specifically.

@akien-mga
Copy link
Member

I worked around the issue with d8d17c5 by doing a local revert of the problematic changes, but this should be fixed in https://github.com/godotengine/godot-mono-builds.

@VectorWorkshopBaoErJie
Copy link
Contributor

./build.sh 3.3 mono-6.12.0.158 Dockerfile.osx Building a successful Dockerfile.ios Build failed.....

cd /root/mono-6.12.0.158/mcs && make --no-print-directory -s NO_DIR_CHECK=1 PROFILES='monotouch monotouch_runtime monotouch_tools' CC='gcc' all-profiles
mkdir -p -- build/deps

Unhandled Exception:
System.Reflection.CustomAttributeFormatException: Invalid custom attribute format
at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) [0x00161] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Reflection.RuntimeAssembly.GetCustomAttributes (System.Type attributeType, System.Boolean inherit) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Attribute.GetCustomAttributes (System.Reflection.Assembly element, System.Type attributeType, System.Boolean inherit) [0x0005c] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Attribute.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType, System.Boolean inherit) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Attribute.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Reflection.CustomAttributeExtensions.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Reflection.CustomAttributeExtensions.GetCustomAttribute[T] (System.Reflection.Assembly element) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguageAttribute (System.Reflection.Assembly assembly, System.String& cultureName, System.Int16& fallbackLocation) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguage (System.Reflection.Assembly a, System.Resources.UltimateResourceFallbackLocation& fallbackLocation) [0x00004] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Resources.ResourceManager.CommonAssemblyInit () [0x00037] in <7e492a29d11148239c3d64d68e18ea1f>:0
at System.Resources.ResourceManager..ctor (System.String baseName, System.Reflection.Assembly assembly) [0x00054] in <7e492a29d11148239c3d64d68e18ea1f>:0
at Microsoft.CodeAnalysis.CSharp.ErrorFacts.get_ResourceManager () [0x0002a] in <16676840a0c44317b3d24e39d7d53d5d>:0
at Microsoft.CodeAnalysis.CSharp.ErrorFacts.GetMessage (Microsoft.CodeAnalysis.CSharp.MessageID code, System.Globalization.CultureInfo culture) [0x00000] in <16676840a0c44317b3d24e39d7d53d5d>:0
at Microsoft.CodeAnalysis.CSharp.CSharpCompiler.PrintLogo (System.IO.TextWriter consoleOutput) [0x0000c] in <16676840a0c44317b3d24e39d7d53d5d>:0
at Microsoft.CodeAnalysis.CommonCompiler.RunCore (System.IO.TextWriter consoleOutput, Microsoft.CodeAnalysis.ErrorLogger errorLogger, System.Threading.CancellationToken cancellationToken) [0x00046] in :0
at Microsoft.CodeAnalysis.CommonCompiler.Run (System.IO.TextWriter consoleOutput, System.Threading.CancellationToken cancellationToken) [0x00041] in :0
at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc+<>c__DisplayClass1_0.b__0 (System.IO.TextWriter tw) [0x00000] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0
at Microsoft.CodeAnalysis.CommandLine.ConsoleUtil.RunWithUtf8Output[T] (System.Boolean utf8Output, System.IO.TextWriter textWriter, System.Func2[T,TResult] func) [0x00034] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0 at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc.Run (System.String[] args, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter, Microsoft.CodeAnalysis.IAnalyzerAssemblyLoader analyzerLoader) [0x00048] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0 at (wrapper delegate-invoke) <Module>.invoke_int_string[]_BuildPaths_TextWriter_IAnalyzerAssemblyLoader(string[],Microsoft.CodeAnalysis.BuildPaths,System.IO.TextWriter,Microsoft.CodeAnalysis.IAnalyzerAssemblyLoader) at Microsoft.CodeAnalysis.CommandLine.BuildClient.RunLocalCompilation (System.String[] arguments, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter) [0x00006] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0 at Microsoft.CodeAnalysis.CommandLine.BuildClient.RunCompilation (System.Collections.Generic.IEnumerable1[T] originalArguments, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter, System.String pipeName) [0x000a3] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0
at Microsoft.CodeAnalysis.CommandLine.BuildClient.Run (System.Collections.Generic.IEnumerable1[T] arguments, Microsoft.CodeAnalysis.CommandLine.RequestLanguage language, Microsoft.CodeAnalysis.CommandLine.CompileFunc compileFunc, Microsoft.CodeAnalysis.CommandLine.ICompilerServerLogger logger) [0x0004e] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0 at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.MainCore (System.String[] args) [0x00006] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0 at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main (System.String[] args) [0x00000] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.CustomAttributeFormatException: Invalid custom attribute format at System.MonoCustomAttrs.GetCustomAttributes (System.Reflection.ICustomAttributeProvider obj, System.Type attributeType, System.Boolean inherit) [0x00161] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Reflection.RuntimeAssembly.GetCustomAttributes (System.Type attributeType, System.Boolean inherit) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Attribute.GetCustomAttributes (System.Reflection.Assembly element, System.Type attributeType, System.Boolean inherit) [0x0005c] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Attribute.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType, System.Boolean inherit) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Attribute.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Reflection.CustomAttributeExtensions.GetCustomAttribute (System.Reflection.Assembly element, System.Type attributeType) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Reflection.CustomAttributeExtensions.GetCustomAttribute[T] (System.Reflection.Assembly element) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguageAttribute (System.Reflection.Assembly assembly, System.String& cultureName, System.Int16& fallbackLocation) [0x00000] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Resources.ManifestBasedResourceGroveler.GetNeutralResourcesLanguage (System.Reflection.Assembly a, System.Resources.UltimateResourceFallbackLocation& fallbackLocation) [0x00004] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Resources.ResourceManager.CommonAssemblyInit () [0x00037] in <7e492a29d11148239c3d64d68e18ea1f>:0 at System.Resources.ResourceManager..ctor (System.String baseName, System.Reflection.Assembly assembly) [0x00054] in <7e492a29d11148239c3d64d68e18ea1f>:0 at Microsoft.CodeAnalysis.CSharp.ErrorFacts.get_ResourceManager () [0x0002a] in <16676840a0c44317b3d24e39d7d53d5d>:0 at Microsoft.CodeAnalysis.CSharp.ErrorFacts.GetMessage (Microsoft.CodeAnalysis.CSharp.MessageID code, System.Globalization.CultureInfo culture) [0x00000] in <16676840a0c44317b3d24e39d7d53d5d>:0 at Microsoft.CodeAnalysis.CSharp.CSharpCompiler.PrintLogo (System.IO.TextWriter consoleOutput) [0x0000c] in <16676840a0c44317b3d24e39d7d53d5d>:0 at Microsoft.CodeAnalysis.CommonCompiler.RunCore (System.IO.TextWriter consoleOutput, Microsoft.CodeAnalysis.ErrorLogger errorLogger, System.Threading.CancellationToken cancellationToken) [0x00046] in <ac13e7e517c04a7f9e002bc26dd715e4>:0 at Microsoft.CodeAnalysis.CommonCompiler.Run (System.IO.TextWriter consoleOutput, System.Threading.CancellationToken cancellationToken) [0x00041] in <ac13e7e517c04a7f9e002bc26dd715e4>:0 at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc+<>c__DisplayClass1_0.<Run>b__0 (System.IO.TextWriter tw) [0x00000] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0 at Microsoft.CodeAnalysis.CommandLine.ConsoleUtil.RunWithUtf8Output[T] (System.Boolean utf8Output, System.IO.TextWriter textWriter, System.Func2[T,TResult] func) [0x00034] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0
at Microsoft.CodeAnalysis.CSharp.CommandLine.Csc.Run (System.String[] args, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter, Microsoft.CodeAnalysis.IAnalyzerAssemblyLoader analyzerLoader) [0x00048] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0
at (wrapper delegate-invoke) .invoke_int_string[]_BuildPaths_TextWriter_IAnalyzerAssemblyLoader(string[],Microsoft.CodeAnalysis.BuildPaths,System.IO.TextWriter,Microsoft.CodeAnalysis.IAnalyzerAssemblyLoader)
at Microsoft.CodeAnalysis.CommandLine.BuildClient.RunLocalCompilation (System.String[] arguments, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter) [0x00006] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0
at Microsoft.CodeAnalysis.CommandLine.BuildClient.RunCompilation (System.Collections.Generic.IEnumerable1[T] originalArguments, Microsoft.CodeAnalysis.BuildPaths buildPaths, System.IO.TextWriter textWriter, System.String pipeName) [0x000a3] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0 at Microsoft.CodeAnalysis.CommandLine.BuildClient.Run (System.Collections.Generic.IEnumerable1[T] arguments, Microsoft.CodeAnalysis.CommandLine.RequestLanguage language, Microsoft.CodeAnalysis.CommandLine.CompileFunc compileFunc, Microsoft.CodeAnalysis.CommandLine.ICompilerServerLogger logger) [0x0004e] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0
at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.MainCore (System.String[] args) [0x00006] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0
at Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main (System.String[] args) [0x00000] in <5a2fb6f6da254fc5bb047188c9c3ccac>:0
make[4]: *** [build/profiles/build.make:134: build/deps/basic-profile-check.exe] Error 1

@VectorWorkshopBaoErJie
Copy link
Contributor

./build.sh 3.3 mono-6.12.0.147 Dockerfile.osx Dockerfile.ios Building a successful

@neikeq
Copy link

neikeq commented Oct 15, 2021

Can reproduce with the godot-mono-builds scripts on my mac. I even have an error (albeit a different one) when building for x86_64. The solution may be to disable --enable-btls-lib on the macOS builds but I'm not sure if that will result in the tls issues that godotengine/godot-mono-builds#47 and the other changes solve (solve, but still needs some tweaks, see the discussion at the end of that PR). That PR was aiming to fix the bug on Windows so not sure if the bug was also present on macOS.

@Xrayez
Copy link
Author

Xrayez commented Oct 28, 2021

I managed to have a successful build with d8d17c5.

@qjyqjyqjyqjy make sure to either remove files/mono-* directory before rebuilding, or do a manual revert within godot-mono-builds repository, as in d8d17c5.

I won't close this myself since the workaround is temporary and it's worth to track the issue, but feel free to close this if needed.

@neikeq
Copy link

neikeq commented Oct 29, 2021

We shouldn't close this, unless it's to move the issue to godotengine/godot-mono-builds. I need to check what are the consequences of building without --enable-btls-lib on macOS.

akien-mga added a commit to akien-mga/godot-mono-builds that referenced this issue May 4, 2022
This reverts commit f63f4e2.

This broke OSX ARM64 builds, and so we've been building official releases
with this commit reverted locally for a while.

See godotengine/build-containers#95 for details.
@akien-mga
Copy link
Member

For now I propose reverting the problematic commit in godotengine/godot-mono-builds#64, which is what we've been using de facto in this repo since d8d17c5.

And maybe we can move this issue to godot-mono-builds to keep track of it further, even if the revert is merged as a temporary solution.

akien-mga added a commit to akien-mga/godot-mono-builds that referenced this issue May 9, 2022
akien-mga added a commit that referenced this issue May 10, 2022
- F36 gives us MinGW GCC 11.2.1 and binutils 2.37 for Windows builds.
  * Had to downgrade autotools to F35 version for Mono wasm builds.
- OSX and iOS builds now use LLVM 14 for osxcross.
- Emscripten updated to 3.1.10 for classical builds (still using
  1.39.9 for Mono).
- Mono 6.12.0.178, and updated godot-mono-builds to fix issue with
  btls-lib on macOS ARM64 (fixes #95).
- SCons 4.3.0.
- Add `osslsigncode` to Linux image for use in godot-build-scripts.
- Linux toolchains not updated yet, need to prepare a new buildroot
  with latest GCC/binutils.
@akien-mga
Copy link
Member

Fixed by godotengine/godot-mono-builds#65 and #104.

akien-mga added a commit that referenced this issue May 10, 2022
- F36 gives us MinGW GCC 11.2.1 and binutils 2.37 for Windows builds.
  * Had to downgrade autotools to F35 version for Mono wasm builds.
- OSX and iOS builds now use LLVM 14 for osxcross.
- Emscripten updated to 3.1.10 for classical builds (still using
  1.39.9 for Mono).
- Mono 6.12.0.178, and updated godot-mono-builds to fix issue with
  btls-lib on macOS ARM64 (fixes #95).
- SCons 4.3.0.
- Linux toolchains not updated yet, need to prepare a new buildroot
  with latest GCC/binutils.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants