Archlinux builds

Continuing discussion from #946 so that i stop hijacking that bug report as issue is no longer relevant overthere.
I am trying to build CppSharp on Archlinux. Few issues are already solved:
diff --git a/build/Helpers.lua b/build/Helpers.lua                                                                                [0/10]
index 846e4995..0530678d 100644
--- a/build/Helpers.lua
+++ b/build/Helpers.lua
@@ -81,6 +81,7 @@ function SetupNativeProject()

   filter { "action:gmake" }
     buildoptions { gcc_buildflags }
+    links { "z", "tinfo" }

   filter { "system:macosx", "language:C++" }
     buildoptions { gcc_buildflags, "-stdlib=libc++" }
@@ -100,7 +101,7 @@ end
 function SetupManagedProject()
   language "C#"
   location ("%{wks.location}/projects")
-
+  buildoptions { "/platform:x64" }
   dotnetframework "4.6"

   if not os.istarget("macosx") then

As you can see i had to:

Link to z and tinfo in order to fix several missing imports.
Force managed executables to build as 64bit. They defaulted to 32 bit executables and could not load 64bit native libraries produced by build system.

Issue at hand
mono --debug "../lib/Release_x64/CSharp.Gen.exe"

Generating bindings for CSharp (CSharp)
Looking for tests in: /home/rk/src/open/CppSharp/tests/CSharp
mono: symbol lookup error: /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so: undefined symbol: LLVMInitializeAArch64TargetInfo

libCppSharp.CppParser.so fails to import LLVMInitializeAArch64TargetInfo symbol:
~/src/open/CppSharp/build/gmake/lib/Release_x64 % objdump -t libCppSharp.CppParser.so|grep LLVMInitializeAArch64TargetInfo
0000000000000000         *UND*<PHONE_NUMBER>000000              LLVMInitializeAArch64TargetInfo

This symbol is defined in Target/AArch64/TargetInfo/AArch64TargetInfo.cpp:
~/src/open/CppSharp % grep -rF LLVMInitializeAArch64TargetInfo
deps/llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp:extern "C" void LLVMInitializeAArch64TargetInfo() {
deps/llvm/unittests/Target/AArch64/InstSizes.cpp:  LLVMInitializeAArch64TargetInfo();
build/gmake/lib/Release_x64/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp:extern "C" void LLVMInitializeAArch64TargetInfo() {
Binary file build/gmake/lib/Release_x64/libCppSharp.CppParser.so matches
Binary file build/gmake/obj/Release_x64/x64/Release/CppSharp.CppParser/Parser.o matches

Not sure how to proceed from here.. Any ideas?

Try calling LLVMInitializeAArch64TargetInfo somewhere in our parser. Linking should fail. If it does, then you just need one more dependency the name of which I would guess is AArch64 ( https://llvm.org/doxygen/dir_b69b85499a0be7bec9dbd65569a12909.html ).

Linking does not fail. I noticed something else. There are missing imports for all llvm-supported archs except for x86. I did a naive thing and defined them myself in Parser.cpp:
extern "C" void LLVMInitializeBPFTarget() { }
extern "C" void LLVMInitializeAArch64TargetMC() { }
extern "C" void LLVMInitializeHexagonTargetMC() { }
extern "C" void LLVMInitializeARMAsmParser() { }
extern "C" void LLVMInitializeSparcTargetInfo() { }
extern "C" void LLVMInitializeLanaiTargetMC() { }
extern "C" void LLVMInitializeARMTargetInfo() { }
extern "C" void LLVMInitializeXCoreTargetMC() { }
extern "C" void LLVMInitializeNVPTXTarget() { }
extern "C" void LLVMInitializeARMTarget() { }
extern "C" void LLVMInitializeMSP430TargetMC() { }
extern "C" void LLVMInitializeSystemZTargetInfo() { }
extern "C" void LLVMInitializeBPFTargetMC() { }
extern "C" void LLVMInitializeHexagonAsmParser() { }
extern "C" void LLVMInitializeSparcAsmParser() { }
extern "C" void LLVMInitializeMipsAsmParser() { }
extern "C" void LLVMInitializePowerPCAsmParser() { }
extern "C" void LLVMInitializeSystemZTargetMC() { }
extern "C" void LLVMInitializeNVPTXTargetInfo() { }
extern "C" void LLVMInitializeXCoreTargetInfo() { }
extern "C" void LLVMInitializeSystemZAsmParser() { }
extern "C" void LLVMInitializeAArch64AsmParser() { }
extern "C" void LLVMInitializePowerPCTargetMC() { }
extern "C" void LLVMInitializeHexagonTarget() { }
extern "C" void LLVMInitializeHexagonTargetInfo() { }
extern "C" void LLVMInitializeSystemZTarget() { }
extern "C" void LLVMInitializePowerPCTarget() { }
extern "C" void LLVMInitializeSparcTargetMC() { }
extern "C" void LLVMInitializeAArch64TargetInfo() { }
extern "C" void LLVMInitializeARMTargetMC() { }
extern "C" void LLVMInitializeAMDGPUTargetMC() { }
extern "C" void LLVMInitializeAArch64Target() { }
extern "C" void LLVMInitializeAMDGPUTarget() { }
extern "C" void LLVMInitializeBPFTargetInfo() { }
extern "C" void LLVMInitializeMipsTargetMC() { }
extern "C" void LLVMInitializeLanaiTarget() { }
extern "C" void LLVMInitializeAMDGPUAsmParser() { }
extern "C" void LLVMInitializeLanaiTargetInfo() { }
extern "C" void LLVMInitializeNVPTXTargetMC() { }
extern "C" void LLVMInitializeMSP430Target() { }
extern "C" void LLVMInitializeXCoreTarget() { }
extern "C" void LLVMInitializeMSP430TargetInfo() { }
extern "C" void LLVMInitializeLanaiAsmParser() { }
extern "C" void LLVMInitializeMipsTarget() { }
extern "C" void LLVMInitializePowerPCTargetInfo() { }
extern "C" void LLVMInitializeAMDGPUTargetInfo() { }
extern "C" void LLVMInitializeSparcTarget() { }
extern "C" void LLVMInitializeMipsTargetInfo() { }

And that (after a full rebuild) results in a crash:
mono --debug "../lib/Release_x64/CSharp.Gen.exe"

Generating bindings for CSharp (CSharp)
Looking for tests in: /home/rk/src/open/CppSharp/tests/CSharp
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) CppSharp.Parser.ClangParser/__Internal.ParseHeader (intptr) [0x00009] in <353e889be0a84bd7853b6e6477a6cf91>:0
  at CppSharp.Parser.ClangParser.ParseHeader (CppSharp.Parser.CppParserOptions) [0x0001f] in /home/rk/src/open/CppSharp/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs:19121
  at CppSharp.ClangParser.ParseSourceFiles (System.Collections.Generic.IEnumerable`1<string>,CppSharp.Parser.ParserOptions) [0x00046] in /home/rk/src/open/CppSharp/src/Parser/Parser.cs:56
  at CppSharp.ClangParser.ParseSourceFile (string,CppSharp.Parser.ParserOptions) [0x0000d] in /home/rk/src/open/CppSharp/src/Parser/Parser.cs:43
  at CppSharp.Driver.ParseCode () [0x00130] in /home/rk/src/open/CppSharp/src/Generator/Driver.cs:146
  at CppSharp.ConsoleDriver.Run (CppSharp.ILibrary) [0x00090] in /home/rk/src/open/CppSharp/src/Generator/Driver.cs:420
  at CppSharp.Tests.CSharpTestsGenerator.Main (string[]) [0x00007] in /home/rk/src/open/CppSharp/tests/CSharp/CSharp.cs:63
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <522ab977558f4349adca138cebed0998>:0

I guess the code now calls your empty definition which obviously does nothing and something that should've been initialised isn't. Try finding and linking whatever module contains LLVMInitializeAArch64TargetInfo instead.

What is the purpose of files in /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/lib/? Maybe if i should make them build as part of CppSharp.CppParser.so?

@tritao could you please give a hand here?

All modifications by me in attempt to fix this: https://github.com/rokups/CppSharp/commit/bb6fa2067bb165e6f97b1f0336b44232834b37f6
At the moment dlopen("libCppSharp.CppParser.so", RTLD_LAZY) fails with:
libCppSharp.CppParser.so: undefined symbol: _ZN4llvm29createLoadStoreVectorizerPassEv

I think i am taking a harder route of fixing this... In theory build should not require those missing symbols from architectures other than X86, right? Shoveling them all into the build seems wrong.

Definitely. Only some of those are required but I cannot tell which ones.
createLoadStoreVectorizerPass seems to be part of the Transforms module: https://llvm.org/doxygen/Transforms_2Vectorize_8h_source.html .

Looks like i managed to sort out lib order, but it still crashes on rebuild:
mono --debug "../lib/Release_x64/CSharp.Gen.exe"

Generating bindings for CSharp (CSharp)
Looking for tests in: /home/rk/src/open/CppSharp/tests/CSharp
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) CppSharp.Parser.ClangParser/__Internal.ParseHeader (intptr) [0x00009] in <353e889be0a84bd7853b6e6477a6cf91>:0
  at CppSharp.Parser.ClangParser.ParseHeader (CppSharp.Parser.CppParserOptions) [0x0001f] in /home/rk/src/open/CppSharp/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs:19121
  at CppSharp.ClangParser.ParseSourceFiles (System.Collections.Generic.IEnumerable`1<string>,CppSharp.Parser.ParserOptions) [0x00046] in /home/rk/src/open/CppSharp/src/Parser/Parser.cs:56
  at CppSharp.ClangParser.ParseSourceFile (string,CppSharp.Parser.ParserOptions) [0x0000d] in /home/rk/src/open/CppSharp/src/Parser/Parser.cs:43
  at CppSharp.Driver.ParseCode () [0x00130] in /home/rk/src/open/CppSharp/src/Generator/Driver.cs:146
  at CppSharp.ConsoleDriver.Run (CppSharp.ILibrary) [0x00090] in /home/rk/src/open/CppSharp/src/Generator/Driver.cs:420
  at CppSharp.Tests.CSharpTestsGenerator.Main (string[]) [0x00007] in /home/rk/src/open/CppSharp/tests/CSharp/CSharp.cs:63
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <522ab977558f4349adca138cebed0998>:0
/proc/self/maps:
40146000-40176000 rwxp 00000000 00:00 0
417ab000-417bb000 rwxp 00000000 00:00 0
5614204e3000-5614208ac000 r-xp 00000000 fe:02 2020450                    /usr/bin/mono-sgen
561420aac000-561420ab1000 r--p 003c9000 fe:02 2020450                    /usr/bin/mono-sgen
561420ab1000-561420ab3000 rw-p 003ce000 fe:02 2020450                    /usr/bin/mono-sgen
561420ab3000-561420ae7000 rw-p 00000000 00:00 0
5614227fc000-561423074000 rw-p 00000000 00:00 0                          [heap]
7fe1f7933000-7fe1fb91e000 r-xp 00000000 fe:01 19457222                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
7fe1fb91e000-7fe1fbb1d000 ---p 03feb000 fe:01 19457222                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
7fe1fbb1d000-7fe1fbf4b000 r--p 03fea000 fe:01 19457222                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
7fe1fbf4b000-7fe1fbfbe000 rw-p 04418000 fe:01 19457222                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
7fe1fbfbe000-7fe1fc000000 rw-p 00000000 00:00 0
7fe1fc000000-7fe1fc021000 rw-p 00000000 00:00 0
7fe1fc021000-7fe200000000 ---p 00000000 00:00 0
7fe20064c000-7fe2006cc000 rw-p 00000000 00:00 0
7fe2006d0000-7fe2007fd000 r--p 00000000 fe:02 398083                     /usr/lib/mono/gac/System.Xml/<IP_ADDRESS>__b77a5c561934e089/System.Xml.pdb
7fe2007fd000-7fe200b00000 r--p 00000000 fe:02 398084                     /usr/lib/mono/gac/System.Xml/<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
7fe200b00000-7fe200c00000 rw-p 00000000 00:00 0
7fe200c80000-7fe200c8e000 r--p 00000000 fe:02 398093                     /usr/lib/mono/gac/System.Configuration/<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.pdb
7fe200c8e000-7fe200cdb000 r--p 00000000 fe:02 398080                     /usr/lib/mono/gac/Mono.Security/<IP_ADDRESS>__0738eb9f132ed756/Mono.Security.dll
7fe200cdb000-7fe200cdc000 r-xp 00000000 fe:01 19458256                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libStd-symbols.so
7fe200cdc000-7fe200edb000 ---p 00001000 fe:01 19458256                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libStd-symbols.so
7fe200edb000-7fe200edc000 r--p 00000000 fe:01 19458256                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libStd-symbols.so
7fe200edc000-7fe200edd000 rw-p 00001000 fe:01 19458256                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libStd-symbols.so
7fe200edd000-7fe201054000 r-xp 00000000 fe:02 1969740                    /usr/lib/libstdc++.so.6.0.24
7fe201054000-7fe201254000 ---p 00177000 fe:02 1969740                    /usr/lib/libstdc++.so.6.0.24
7fe201254000-7fe201260000 r--p 00177000 fe:02 1969740                    /usr/lib/libstdc++.so.6.0.24
7fe201260000-7fe201261000 rw-p 00183000 fe:02 1969740                    /usr/lib/libstdc++.so.6.0.24
7fe201261000-7fe201264000 rw-p 00000000 00:00 0
7fe201264000-7fe20128b000 r-xp 00000000 fe:02 1972435                    /usr/lib/libtinfo.so.6.0
7fe20128b000-7fe20148b000 ---p 00027000 fe:02 1972435                    /usr/lib/libtinfo.so.6.0
7fe20148b000-7fe20148f000 r--p 00027000 fe:02 1972435                    /usr/lib/libtinfo.so.6.0
7fe20148f000-7fe201490000 rw-p 0002b000 fe:02 1972435                    /usr/lib/libtinfo.so.6.0
7fe201490000-7fe2014a6000 r-xp 00000000 fe:02 1978812                    /usr/lib/libz.so.1.2.11
7fe2014a6000-7fe2016a5000 ---p 00016000 fe:02 1978812                    /usr/lib/libz.so.1.2.11
7fe2016a5000-7fe2016a6000 r--p 00015000 fe:02 1978812                    /usr/lib/libz.so.1.2.11
7fe2016a6000-7fe2016a7000 rw-p 00016000 fe:02 1978812                    /usr/lib/libz.so.1.2.11
7fe2016a7000-7fe2016c5000 r--p 00000000 fe:02 398094                     /usr/lib/mono/gac/System.Configuration/<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
7fe2016c5000-7fe2016eb000 r--p 00000000 fe:02 398079                     /usr/lib/mono/gac/Mono.Security/<IP_ADDRESS>__0738eb9f132ed756/Mono.Security.pdb
7fe2016eb000-7fe201703000 r--p 00000000 fe:01 19458286                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Parser.CSharp.dll.mdb
7fe201703000-7fe201742000 r--p 00000000 fe:01 19458277                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Parser.CSharp.dll
7fe201742000-7fe20182e000 r--p 00000000 fe:02 398081                     /usr/lib/mono/gac/System/<IP_ADDRESS>__b77a5c561934e089/System.pdb
7fe20182e000-7fe201ab9000 r--p 00000000 fe:02 398082                     /usr/lib/mono/gac/System/<IP_ADDRESS>__b77a5c561934e089/System.dll
7fe201ab9000-7fe201b19000 r--p 00000000 fe:02 398089                     /usr/lib/mono/gac/System.Core/<IP_ADDRESS>__b77a5c561934e089/System.Core.pdb
7fe201b19000-7fe201c10000 r--p 00000000 fe:02 398090                     /usr/lib/mono/gac/System.Core/<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
7fe201c10000-7fe201c11000 ---p 00000000 00:00 0
7fe201c11000-7fe201c19000 ---p 00000000 00:00 0
7fe201c19000-7fe201e11000 rw-p 00000000 00:00 0
7fe201e11000-7fe201f6e000 r--p 00000000 fe:02 2124836                    /usr/lib/mono/4.5/mscorlib.pdb
7fe201f6e000-7fe202638000 r-xp 00000000 fe:02 2124547                    /usr/lib/mono/4.5/mscorlib.dll.so
7fe202638000-7fe202837000 ---p 006ca000 fe:02 2124547                    /usr/lib/mono/4.5/mscorlib.dll.so
7fe202837000-7fe202838000 r--p 006c9000 fe:02 2124547                    /usr/lib/mono/4.5/mscorlib.dll.so
7fe202838000-7fe202839000 rw-p 006ca000 fe:02 2124547                    /usr/lib/mono/4.5/mscorlib.dll.so
7fe202839000-7fe202856000 rw-p 00000000 00:00 0
7fe202856000-7fe202bff000 r--p 00000000 fe:02 2124837                    /usr/lib/mono/4.5/mscorlib.dll
7fe202bff000-7fe203bff000 rw-p 00000000 00:00 0
7fe203bff000-7fe203c00000 ---p 00000000 00:00 0
7fe203c00000-7fe204800000 rw-p 00000000 00:00 0
7fe20480a000-7fe20480e000 r--p 00000000 fe:01 19458288                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Parser.dll.mdb
7fe20480e000-7fe20481b000 r--p 00000000 fe:01 19458287                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Parser.dll
7fe20481b000-7fe20482a000 r--p 00000000 fe:01 19457208                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.AST.dll.mdb
7fe20482a000-7fe20484f000 r--p 00000000 fe:01 19457207                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.AST.dll
7fe20484f000-7fe204879000 r--p 00000000 fe:01 19458297                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Generator.dll.mdb
7fe204879000-7fe204a2f000 r--p 00000000 fe:02 2022253                    /usr/lib/locale/locale-archive
7fe204a2f000-7fe204bdd000 r-xp 00000000 fe:02 1968325                    /usr/lib/libc-2.26.so
7fe204bdd000-7fe204ddd000 ---p 001ae000 fe:02 1968325                    /usr/lib/libc-2.26.so
7fe204ddd000-7fe204de1000 r--p 001ae000 fe:02 1968325                    /usr/lib/libc-2.26.so
7fe204de1000-7fe204de3000 rw-p 001b2000 fe:02 1968325                    /usr/lib/libc-2.26.so
7fe204de3000-7fe204de7000 rw-p 00000000 00:00 0
7fe204de7000-7fe204dfd000 r-xp 00000000 fe:02 2023530                    /usr/lib/libgcc_s.so.1
7fe204dfd000-7fe204ffc000 ---p 00016000 fe:02 2023530                    /usr/lib/libgcc_s.so.1
7fe204ffc000-7fe204ffd000 r--p 00015000 fe:02 2023530                    /usr/lib/libgcc_s.so.1
7fe204ffd000-7fe204ffe000 rw-p 00016000 fe:02 2023530                    /usr/lib/libgcc_s.so.1
7fe204ffe000-7fe205017000 r-xp 00000000 fe:02 1968346                    /usr/lib/libpthread-2.26.so
7fe205017000-7fe205216000 ---p 00019000 fe:02 1968346                    /usr/lib/libpthread-2.26.so
7fe205216000-7fe205217000 r--p 00018000 fe:02 1968346                    /usr/lib/libpthread-2.26.so
7fe205217000-7fe205218000 rw-p 00019000 fe:02 1968346                    /usr/lib/libpthread-2.26.so
7fe205218000-7fe20521c000 rw-p 00000000 00:00 0
7fe20521c000-7fe20521f000 r-xp 00000000 fe:02 1968258                    /usr/lib/libdl-2.26.so
7fe20521f000-7fe20541e000 ---p 00003000 fe:02 1968258                    /usr/lib/libdl-2.26.so
7fe20541e000-7fe20541f000 r--p 00002000 fe:02 1968258                    /usr/lib/libdl-2.26.so
7fe20541f000-7fe205420000 rw-p 00003000 fe:02 1968258                    /usr/lib/libdl-2.26.so
7fe205420000-7fe205427000 r-xp 00000000 fe:02 1968247                    /usr/lib/librt-2.26.so
7fe205427000-7fe205626000 ---p 00007000 fe:02 1968247                    /usr/lib/librt-2.26.so
7fe205626000-7fe205627000 r--p 00006000 fe:02 1968247                    /usr/lib/librt-2.26.so
7fe205627000-7fe205628000 rw-p 00007000 fe:02 1968247                    /usr/lib/librt-2.26.so
7fe205628000-7fe205773000 r-xp 00000000 fe:02 1968257                    /usr/lib/libm-2.26.so
7fe205773000-7fe205972000 ---p 0014b000 fe:02 1968257                    /usr/lib/libm-2.26.so
7fe205972000-7fe205973000 r--p 0014a000 fe:02 1968257                    /usr/lib/libm-2.26.so
7fe205973000-7fe205974000 rw-p 0014b000 fe:02 1968257                    /usr/lib/libm-2.26.so
7fe205974000-7fe205999000 r-xp 00000000 fe:02 1968326                    /usr/lib/ld-2.26.so
7fe20599b000-7fe20599c000 rw-p 00000000 00:00 0
7fe20599c000-7fe20599e000 r--p 00000000 fe:01 19457205                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.dll.mdb
7fe20599e000-7fe2059a5000 r--p 00000000 fe:01 19457204                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.dll
7fe2059a5000-7fe205a21000 r--p 00000000 fe:01 19458294                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Generator.dll
7fe205a21000-7fe205a25000 r--p 00000000 fe:01 19458317                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Generator.Tests.dll.mdb
7fe205a25000-7fe205a33000 r--p 00000000 fe:01 19458316                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Generator.Tests.dll
7fe205a33000-7fe205aee000 rw-p 00000000 00:00 0
7fe205aee000-7fe205b4d000 ---p 00000000 00:00 0
7fe205b4d000-7fe205b55000 rw-p 00000000 00:00 0
7fe205b55000-7fe205b56000 r--p 00000000 fe:01 19458360                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CSharp.Gen.exe.mdb
7fe205b56000-7fe205b88000 rw-p 00000000 00:00 0
7fe205b88000-7fe205b8c000 r--p 00000000 fe:01 19458328                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CSharp.Gen.exe
7fe205b8c000-7fe205b97000 rw-p 00000000 00:00 0
7fe205b97000-7fe205b98000 rw-s 00000000 00:17 1097883                    /dev/shm/mono.21394
7fe205b98000-7fe205b99000 r--p 00024000 fe:02 1968326                    /usr/lib/ld-2.26.so
7fe205b99000-7fe205b9a000 rw-p 00025000 fe:02 1968326                    /usr/lib/ld-2.26.so
7fe205b9a000-7fe205b9b000 rw-p 00000000 00:00 0
7ffd659dc000-7ffd659e4000 ---p 00000000 00:00 0
7ffd661ba000-7ffd661db000 rw-p 00000000 00:00 0                          [stack]
7ffd661e0000-7ffd661e3000 r--p 00000000 00:00 0                          [vvar]
7ffd661e3000-7ffd661e5000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Native stacktrace:

        mono(+0xbc4c9) [0x56142059f4c9]
        mono(+0x123ef1) [0x561420606ef1]
        /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so(+0x9524c0) [0x7fe1f82854c0]
        /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so(_ZNK4llvm3opt7ArgList15AddAllArgValuesERNS_11SmallVectorIPKcLj16EEENS0_12OptSpecifierES7_S7_+0x5f) [0x7fe1f91e47cf]
        /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so(_ZNK4llvm3opt7ArgList15getAllArgValuesB5cxx11ENS0_12OptSpecifierE+0x66) [0x7fe1f91e4a66]
        /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so(_ZN5clang18CompilerInvocation14CreateFromArgsERS0_PKPKcS5_RNS_17DiagnosticsEngineE+0x451) [0x7fe1f82a2961]
        /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so(_ZN8CppSharp9CppParser6Parser5SetupEv+0x6ff) [0x7fe1f825570f]
        /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so(_ZN8CppSharp9CppParser6Parser11ParseHeaderERKSt6vectorISsSaISsEE+0x5c) [0x7fe1f82668dc]
        [0x4016d630]

Debug info from gdb:

[New LWP 21395]
[New LWP 21396]
warning: File "/usr/bin/mono-sgen-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
        add-auto-load-safe-path /usr/bin/mono-sgen-gdb.py
line to your configuration file "/home/rk/.gdbinit".
To completely disable this security protection add
        set auto-load safe-path /
line to your configuration file "/home/rk/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
        info "(gdb)Auto-loading safe path"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
0x00007fe20500f687 in waitpid () from /usr/lib/libpthread.so.0
  Id   Target Id         Frame
* 1    Thread 0x7fe205b4d780 (LWP 21394) "mono" 0x00007fe20500f687 in waitpid () from /usr/lib/libpthread.so.0
  2    Thread 0x7fe2043ff700 (LWP 21395) "SGen worker" 0x00007fe20500b38d in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  3    Thread 0x7fe201e10700 (LWP 21396) "Finalizer" 0x00007fe20500dcc6 in do_futex_wait.constprop () from /usr/lib/libpthread.so.0

Thread 3 (Thread 0x7fe201e10700 (LWP 21396)):
#0  0x00007fe20500dcc6 in do_futex_wait.constprop () from /usr/lib/libpthread.so.0
#1  0x00007fe20500ddb8 in __new_sem_wait_slow.constprop.0 () from /usr/lib/libpthread.so.0
#2  0x00005614206edb51 in ?? ()
#3  0x00005614206c4049 in ?? ()
#4  0x0000561420787a09 in ?? ()
#5  0x00007fe20500508a in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007fe204b2547f in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7fe2043ff700 (LWP 21395)):
#0  0x00007fe20500b38d in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x0000561420772574 in ?? ()
#2  0x00007fe20500508a in start_thread () from /usr/lib/libpthread.so.0
#3  0x00007fe204b2547f in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7fe205b4d780 (LWP 21394)):
#0  0x00007fe20500f687 in waitpid () from /usr/lib/libpthread.so.0
#1  0x000056142059f580 in ?? ()
#2  0x0000561420606ef1 in ?? ()
#3  0x00007fe1f82854c0 in std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_move_assign(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&&, std::integral_constant<bool, true>) [clone .isra.246] () from /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
#4  0x00007fe1f91e47cf in llvm::opt::ArgList::AddAllArgValues(llvm::SmallVector<char const*, 16u>&, llvm::opt::OptSpecifier, llvm::opt::OptSpecifier, llvm::opt::OptSpecifier) const () from /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
#5  0x00007fe1f91e4a66 in llvm::opt::ArgList::getAllArgValues[abi:cxx11](llvm::opt::OptSpecifier) const () from /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
#6  0x00007fe1f82a2961 in clang::CompilerInvocation::CreateFromArgs(clang::CompilerInvocation&, char const* const*, char const* const*, clang::DiagnosticsEngine&) () from /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
#7  0x00007fe1f825570f in CppSharp::CppParser::Parser::Setup (this=this@entry=0x56142302f560) at ../../../src/CppParser/Parser.cpp:259
#8  0x00007fe1f82668dc in CppSharp::CppParser::Parser::ParseHeader (this=0x56142302f560, SourceFiles=std::vector of length 1, capacity 1 = {...}) at ../../../src/CppParser/Parser.cpp:3976
#9  0x000000004016d630 in ?? ()
#10 0x00007fe204422a28 in ?? ()
#11 0x00007fe2044152f8 in ?? ()
#12 0x00007fe204423210 in ?? ()
#13 0x00007fe204423a10 in ?? ()
#14 0x0000561422a0dea0 in ?? ()
#15 0x000056142283e1c0 in ?? ()
#16 0x000000004016c800 in ?? ()
#17 0x00007ffd661d8d50 in ?? ()
#18 0x00007ffd661d8c70 in ?? ()
#19 0x000000004016cea4 in ?? ()
#20 0x00007fe2044152f8 in ?? ()
#21 0x00007fe204423210 in ?? ()
#22 0x00007fe2044235a8 in ?? ()
#23 0x0000561422a0dea0 in ?? ()
#24 0x00007ffd661d8d50 in ?? ()
#25 0x000000004016c3d8 in ?? ()
#26 0x0000000000000001 in ?? ()
#27 0x006c00650052002f in ?? ()
#28 0x00007fe204423a38 in ?? ()
#29 0x00007fe204423a38 in ?? ()
#30 0x000000004014617c in ?? ()
#31 0x00007ffd661d8b50 in ?? ()
#32 0x00007ffd661d8ce0 in ?? ()
#33 0x00007fe204422a28 in ?? ()
#34 0x00007ffd661d94b0 in ?? ()
#35 0x00007fe2044152f8 in ?? ()
#36 0x00007fe2044234d8 in ?? ()
#37 0x00007fe204403728 in ?? ()
#38 0x00007ffd661d8eb0 in ?? ()
#39 0x000000004016c2dc in ?? ()
#40 0x00007fe204423210 in ?? ()
#41 0x00007fe2044152f8 in ?? ()
#42 0x00007fe2044235a8 in ?? ()
#43 0x00007fe204423a10 in ?? ()
#44 0x00007ffd661d8eb0 in ?? ()
#45 0x0000000040166598 in ?? ()
#46 0x00007fe204403728 in ?? ()
#47 0x00007fe204422a28 in ?? ()
#48 0x00007fe204422a28 in ?? ()
#49 0x00007fe204423210 in ?? ()
#50 0x00007fe204423238 in ?? ()
#51 0x00007fe204423210 in ?? ()
#52 0x00007fe204423210 in ?? ()
#53 0x00007fe2044233c8 in ?? ()
#54 0x00007fe204407c38 in ?? ()
#55 0x00007fe204400f98 in ?? ()
#56 0x00007fe2044037c0 in ?? ()
#57 0x00007fe204400960 in ?? ()
#58 0x00007fe204400960 in ?? ()
#59 0x00007fe204400f98 in ?? ()
#60 0x00007fe204423210 in ?? ()
#61 0x0000000000000000 in ?? ()

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

But at least dlopen("libCppSharp.CppParser.so", RTLD_LAZY) works properly now.

@rokups thank you, great work so far. About this one, try attaching a debugger and check. @tritao knows more about it so he can help when he gets back.

I think we might need to re-generate the parser bindings for the new GCC5 ABI.

You mentioning new ABI made me notice that you already have x86_64-linux-gnu-cxx11abi, but it was disabled in build scripts. I patched build scripts to use that (removed define disabling c++11 abi too), but it still crashes:
mono --debug "../lib/Release_x64/CSharp.Gen.exe"

Generating bindings for CSharp (CSharp)
Looking for tests in: /home/rk/src/open/CppSharp/tests/CSharp
*** Error in `mono': free(): invalid pointer: 0x0000557e8ab1abc0 ***
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) CppSharp.Parser.ClangParser/__Internal.ParseHeader (intptr) [0x00009] in <200870bd680b4b1aa347b0661ff7b6ac>:0
  at CppSharp.Parser.ClangParser.ParseHeader (CppSharp.Parser.CppParserOptions) [0x0001f] in /home/rk/src/open/CppSharp/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs:19121
  at CppSharp.ClangParser.ParseSourceFiles (System.Collections.Generic.IEnumerable`1<string>,CppSharp.Parser.ParserOptions) [0x00046] in /home/rk/src/open/CppSharp/src/Parser/Parser.cs:56
  at CppSharp.ClangParser.ParseSourceFile (string,CppSharp.Parser.ParserOptions) [0x0000d] in /home/rk/src/open/CppSharp/src/Parser/Parser.cs:43
  at CppSharp.Driver.ParseCode () [0x00130] in /home/rk/src/open/CppSharp/src/Generator/Driver.cs:146
  at CppSharp.ConsoleDriver.Run (CppSharp.ILibrary) [0x00090] in /home/rk/src/open/CppSharp/src/Generator/Driver.cs:420
  at CppSharp.Tests.CSharpTestsGenerator.Main (string[]) [0x00007] in /home/rk/src/open/CppSharp/tests/CSharp/CSharp.cs:63
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00051] in <522ab977558f4349adca138cebed0998>:0
/proc/self/maps:
40533000-40563000 rwxp 00000000 00:00 0
405bc000-405cc000 rwxp 00000000 00:00 0
557e89766000-557e89b2f000 r-xp 00000000 fe:02 2020450                    /usr/bin/mono-sgen
557e89d2f000-557e89d34000 r--p 003c9000 fe:02 2020450                    /usr/bin/mono-sgen
557e89d34000-557e89d36000 rw-p 003ce000 fe:02 2020450                    /usr/bin/mono-sgen
557e89d36000-557e89d6a000 rw-p 00000000 00:00 0
557e8a95a000-557e8b1cd000 rw-p 00000000 00:00 0                          [heap]
7f93c0000000-7f93c0021000 rw-p 00000000 00:00 0
7f93c0021000-7f93c4000000 ---p 00000000 00:00 0
7f93c7937000-7f93cb91e000 r-xp 00000000 fe:01 19457222                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
7f93cb91e000-7f93cbb1d000 ---p 03fe7000 fe:01 19457222                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
7f93cbb1d000-7f93cbf4b000 r--p 03fe6000 fe:01 19457222                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
7f93cbf4b000-7f93cbfbe000 rw-p 04414000 fe:01 19457222                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so
7f93cbfbe000-7f93cc000000 rw-p 00000000 00:00 0
7f93cc000000-7f93cc021000 rw-p 00000000 00:00 0
7f93cc021000-7f93d0000000 ---p 00000000 00:00 0
7f93d02d0000-7f93d03fd000 r--p 00000000 fe:02 398083                     /usr/lib/mono/gac/System.Xml/<IP_ADDRESS>__b77a5c561934e089/System.Xml.pdb
7f93d03fd000-7f93d0700000 r--p 00000000 fe:02 398084                     /usr/lib/mono/gac/System.Xml/<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
7f93d0700000-7f93d0800000 rw-p 00000000 00:00 0
7f93d0824000-7f93d08a4000 rw-p 00000000 00:00 0
7f93d08a6000-7f93d08f3000 r--p 00000000 fe:02 398080                     /usr/lib/mono/gac/Mono.Security/<IP_ADDRESS>__0738eb9f132ed756/Mono.Security.dll
7f93d08f3000-7f93d08f4000 r-xp 00000000 fe:01 19458287                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libStd-symbols.so
7f93d08f4000-7f93d0af3000 ---p 00001000 fe:01 19458287                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libStd-symbols.so
7f93d0af3000-7f93d0af4000 r--p 00000000 fe:01 19458287                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libStd-symbols.so
7f93d0af4000-7f93d0af5000 rw-p 00001000 fe:01 19458287                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libStd-symbols.so
7f93d0af5000-7f93d0c6c000 r-xp 00000000 fe:02 1969740                    /usr/lib/libstdc++.so.6.0.24
7f93d0c6c000-7f93d0e6c000 ---p 00177000 fe:02 1969740                    /usr/lib/libstdc++.so.6.0.24
7f93d0e6c000-7f93d0e78000 r--p 00177000 fe:02 1969740                    /usr/lib/libstdc++.so.6.0.24
7f93d0e78000-7f93d0e79000 rw-p 00183000 fe:02 1969740                    /usr/lib/libstdc++.so.6.0.24
7f93d0e79000-7f93d0e7c000 rw-p 00000000 00:00 0
7f93d0e7c000-7f93d0ea3000 r-xp 00000000 fe:02 1972435                    /usr/lib/libtinfo.so.6.0
7f93d0ea3000-7f93d10a3000 ---p 00027000 fe:02 1972435                    /usr/lib/libtinfo.so.6.0
7f93d10a3000-7f93d10a7000 r--p 00027000 fe:02 1972435                    /usr/lib/libtinfo.so.6.0
7f93d10a7000-7f93d10a8000 rw-p 0002b000 fe:02 1972435                    /usr/lib/libtinfo.so.6.0
7f93d10a8000-7f93d10be000 r-xp 00000000 fe:02 1978812                    /usr/lib/libz.so.1.2.11
7f93d10be000-7f93d12bd000 ---p 00016000 fe:02 1978812                    /usr/lib/libz.so.1.2.11
7f93d12bd000-7f93d12be000 r--p 00015000 fe:02 1978812                    /usr/lib/libz.so.1.2.11
7f93d12be000-7f93d12bf000 rw-p 00016000 fe:02 1978812                    /usr/lib/libz.so.1.2.11
7f93d12bf000-7f93d12dd000 r--p 00000000 fe:02 398094                     /usr/lib/mono/gac/System.Configuration/<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
7f93d12dd000-7f93d1303000 r--p 00000000 fe:02 398079                     /usr/lib/mono/gac/Mono.Security/<IP_ADDRESS>__0738eb9f132ed756/Mono.Security.pdb
7f93d1303000-7f93d1342000 r--p 00000000 fe:01 19458297                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Parser.CSharp.dll
7f93d1342000-7f93d142e000 r--p 00000000 fe:02 398081                     /usr/lib/mono/gac/System/<IP_ADDRESS>__b77a5c561934e089/System.pdb
7f93d142e000-7f93d16b9000 r--p 00000000 fe:02 398082                     /usr/lib/mono/gac/System/<IP_ADDRESS>__b77a5c561934e089/System.dll
7f93d16b9000-7f93d1719000 r--p 00000000 fe:02 398089                     /usr/lib/mono/gac/System.Core/<IP_ADDRESS>__b77a5c561934e089/System.Core.pdb
7f93d1719000-7f93d1810000 r--p 00000000 fe:02 398090                     /usr/lib/mono/gac/System.Core/<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
7f93d1810000-7f93d1811000 ---p 00000000 00:00 0
7f93d1811000-7f93d1819000 ---p 00000000 00:00 0
7f93d1819000-7f93d1a11000 rw-p 00000000 00:00 0
7f93d1a11000-7f93d1b6e000 r--p 00000000 fe:02 2124836                    /usr/lib/mono/4.5/mscorlib.pdb
7f93d1b6e000-7f93d2238000 r-xp 00000000 fe:02 2124547                    /usr/lib/mono/4.5/mscorlib.dll.so
7f93d2238000-7f93d2437000 ---p 006ca000 fe:02 2124547                    /usr/lib/mono/4.5/mscorlib.dll.so
7f93d2437000-7f93d2438000 r--p 006c9000 fe:02 2124547                    /usr/lib/mono/4.5/mscorlib.dll.so
7f93d2438000-7f93d2439000 rw-p 006ca000 fe:02 2124547                    /usr/lib/mono/4.5/mscorlib.dll.so
7f93d2439000-7f93d2456000 rw-p 00000000 00:00 0
7f93d2456000-7f93d27ff000 r--p 00000000 fe:02 2124837                    /usr/lib/mono/4.5/mscorlib.dll
7f93d27ff000-7f93d37ff000 rw-p 00000000 00:00 0
7f93d37ff000-7f93d3800000 ---p 00000000 00:00 0
7f93d3800000-7f93d4400000 rw-p 00000000 00:00 0
7f93d440a000-7f93d4418000 r--p 00000000 fe:02 398093                     /usr/lib/mono/gac/System.Configuration/<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.pdb
7f93d4418000-7f93d4430000 r--p 00000000 fe:01 19458300                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Parser.CSharp.dll.mdb
7f93d4430000-7f93d4434000 r--p 00000000 fe:01 19458307                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Parser.dll.mdb
7f93d4434000-7f93d4441000 r--p 00000000 fe:01 19458301                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Parser.dll
7f93d4441000-7f93d4450000 r--p 00000000 fe:01 19457208                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.AST.dll.mdb
7f93d4450000-7f93d4475000 r--p 00000000 fe:01 19457207                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.AST.dll
7f93d4475000-7f93d449f000 r--p 00000000 fe:01 19458316                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Generator.dll.mdb
7f93d449f000-7f93d4655000 r--p 00000000 fe:02 2022253                    /usr/lib/locale/locale-archive
7f93d4655000-7f93d4803000 r-xp 00000000 fe:02 1968325                    /usr/lib/libc-2.26.so
7f93d4803000-7f93d4a03000 ---p 001ae000 fe:02 1968325                    /usr/lib/libc-2.26.so
7f93d4a03000-7f93d4a07000 r--p 001ae000 fe:02 1968325                    /usr/lib/libc-2.26.so
7f93d4a07000-7f93d4a09000 rw-p 001b2000 fe:02 1968325                    /usr/lib/libc-2.26.so
7f93d4a09000-7f93d4a0d000 rw-p 00000000 00:00 0
7f93d4a0d000-7f93d4a23000 r-xp 00000000 fe:02 2023530                    /usr/lib/libgcc_s.so.1
7f93d4a23000-7f93d4c22000 ---p 00016000 fe:02 2023530                    /usr/lib/libgcc_s.so.1
7f93d4c22000-7f93d4c23000 r--p 00015000 fe:02 2023530                    /usr/lib/libgcc_s.so.1
7f93d4c23000-7f93d4c24000 rw-p 00016000 fe:02 2023530                    /usr/lib/libgcc_s.so.1
7f93d4c24000-7f93d4c3d000 r-xp 00000000 fe:02 1968346                    /usr/lib/libpthread-2.26.so
7f93d4c3d000-7f93d4e3c000 ---p 00019000 fe:02 1968346                    /usr/lib/libpthread-2.26.so
7f93d4e3c000-7f93d4e3d000 r--p 00018000 fe:02 1968346                    /usr/lib/libpthread-2.26.so
7f93d4e3d000-7f93d4e3e000 rw-p 00019000 fe:02 1968346                    /usr/lib/libpthread-2.26.so
7f93d4e3e000-7f93d4e42000 rw-p 00000000 00:00 0
7f93d4e42000-7f93d4e45000 r-xp 00000000 fe:02 1968258                    /usr/lib/libdl-2.26.so
7f93d4e45000-7f93d5044000 ---p 00003000 fe:02 1968258                    /usr/lib/libdl-2.26.so
7f93d5044000-7f93d5045000 r--p 00002000 fe:02 1968258                    /usr/lib/libdl-2.26.so
7f93d5045000-7f93d5046000 rw-p 00003000 fe:02 1968258                    /usr/lib/libdl-2.26.so
7f93d5046000-7f93d504d000 r-xp 00000000 fe:02 1968247                    /usr/lib/librt-2.26.so
7f93d504d000-7f93d524c000 ---p 00007000 fe:02 1968247                    /usr/lib/librt-2.26.so
7f93d524c000-7f93d524d000 r--p 00006000 fe:02 1968247                    /usr/lib/librt-2.26.so
7f93d524d000-7f93d524e000 rw-p 00007000 fe:02 1968247                    /usr/lib/librt-2.26.so
7f93d524e000-7f93d5399000 r-xp 00000000 fe:02 1968257                    /usr/lib/libm-2.26.so
7f93d5399000-7f93d5598000 ---p 0014b000 fe:02 1968257                    /usr/lib/libm-2.26.so
7f93d5598000-7f93d5599000 r--p 0014a000 fe:02 1968257                    /usr/lib/libm-2.26.so
7f93d5599000-7f93d559a000 rw-p 0014b000 fe:02 1968257                    /usr/lib/libm-2.26.so
7f93d559a000-7f93d55bf000 r-xp 00000000 fe:02 1968326                    /usr/lib/ld-2.26.so
7f93d55c0000-7f93d55c2000 rw-p 00000000 00:00 0
7f93d55c2000-7f93d55c9000 r--p 00000000 fe:01 19457204                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.dll
7f93d55c9000-7f93d5645000 r--p 00000000 fe:01 19458308                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Generator.dll
7f93d5645000-7f93d5649000 r--p 00000000 fe:01 19458328                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Generator.Tests.dll.mdb
7f93d5649000-7f93d5657000 r--p 00000000 fe:01 19458321                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.Generator.Tests.dll
7f93d5657000-7f93d5711000 rw-p 00000000 00:00 0
7f93d5711000-7f93d5713000 r--p 00000000 fe:01 19457205                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CppSharp.dll.mdb
7f93d5713000-7f93d5714000 rw-p 00000000 00:00 0
7f93d5714000-7f93d5773000 ---p 00000000 00:00 0
7f93d5773000-7f93d577b000 rw-p 00000000 00:00 0
7f93d577b000-7f93d577c000 r--p 00000000 fe:01 19458422                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CSharp.Gen.exe.mdb
7f93d577c000-7f93d57ae000 rw-p 00000000 00:00 0
7f93d57ae000-7f93d57b2000 r--p 00000000 fe:01 19458421                   /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/CSharp.Gen.exe
7f93d57b2000-7f93d57bd000 rw-p 00000000 00:00 0
7f93d57bd000-7f93d57be000 rw-s 00000000 00:17 269114                     /dev/shm/mono.5482
7f93d57be000-7f93d57bf000 r--p 00024000 fe:02 1968326                    /usr/lib/ld-2.26.so
7f93d57bf000-7f93d57c0000 rw-p 00025000 fe:02 1968326                    /usr/lib/ld-2.26.so
7f93d57c0000-7f93d57c1000 rw-p 00000000 00:00 0
7fffa53f7000-7fffa53ff000 ---p 00000000 00:00 0
7fffa5bd5000-7fffa5bf6000 rw-p 00000000 00:00 0                          [stack]
7fffa5bf7000-7fffa5bfa000 r--p 00000000 00:00 0                          [vvar]
7fffa5bfa000-7fffa5bfc000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Native stacktrace:

        mono(+0xbc4c9) [0x557e898224c9]
        /usr/lib/libpthread.so.0(+0x11da0) [0x7f93d4c35da0]
        /usr/lib/libc.so.6(gsignal+0x110) [0x7f93d46898a0]
        /usr/lib/libc.so.6(abort+0x1c9) [0x7f93d468af09]
        /usr/lib/libc.so.6(+0x77517) [0x7f93d46cc517]
        /usr/lib/libc.so.6(+0x7dc84) [0x7f93d46d2c84]
        /usr/lib/libc.so.6(+0x7f599) [0x7f93d46d4599]
        /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so(_ZN8CppSharp9CppParser6Parser5SetupEv+0xa02) [0x7f93c8258452]
        /home/rk/src/open/CppSharp/build/gmake/lib/Release_x64/libCppSharp.CppParser.so(_ZN8CppSharp9CppParser6Parser11ParseHeaderERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS8_EE+0x61) [0x7f93c8268981]
        [0x40559ca0]

Debug info from gdb:

[New LWP 5483]
[New LWP 5484]
warning: File "/usr/bin/mono-sgen-gdb.py" auto-loading has been declined by your `auto-load safe-path' set to "$debugdir:$datadir/auto-load".
To enable execution of this file add
        add-auto-load-safe-path /usr/bin/mono-sgen-gdb.py
line to your configuration file "/home/rk/.gdbinit".
To completely disable this security protection add
        set auto-load safe-path /
line to your configuration file "/home/rk/.gdbinit".
For more information about this security protection see the
"Auto-loading safe path" section in the GDB manual.  E.g., run from the shell:
        info "(gdb)Auto-loading safe path"
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
0x00007f93d4c35687 in waitpid () from /usr/lib/libpthread.so.0
  Id   Target Id         Frame
* 1    Thread 0x7f93d5773780 (LWP 5482) "mono" 0x00007f93d4c35687 in waitpid () from /usr/lib/libpthread.so.0
  2    Thread 0x7f93d3fff700 (LWP 5483) "SGen worker" 0x00007f93d4c3138d in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
  3    Thread 0x7f93d1a10700 (LWP 5484) "Finalizer" 0x00007f93d4c33cc6 in do_futex_wait.constprop () from /usr/lib/libpthread.so.0

Thread 3 (Thread 0x7f93d1a10700 (LWP 5484)):
#0  0x00007f93d4c33cc6 in do_futex_wait.constprop () from /usr/lib/libpthread.so.0
#1  0x00007f93d4c33db8 in __new_sem_wait_slow.constprop.0 () from /usr/lib/libpthread.so.0
#2  0x0000557e89970b51 in ?? ()
#3  0x0000557e89947049 in ?? ()
#4  0x0000557e89a0aa09 in ?? ()
#5  0x00007f93d4c2b08a in start_thread () from /usr/lib/libpthread.so.0
#6  0x00007f93d474b47f in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f93d3fff700 (LWP 5483)):
#0  0x00007f93d4c3138d in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x0000557e899f5574 in ?? ()
#2  0x00007f93d4c2b08a in start_thread () from /usr/lib/libpthread.so.0
#3  0x00007f93d474b47f in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f93d5773780 (LWP 5482)):
#0  0x00007f93d4c35687 in waitpid () from /usr/lib/libpthread.so.0
#1  0x0000557e89822580 in ?? ()
#2  <signal handler called>
#3  0x00007f93d46898a0 in raise () from /usr/lib/libc.so.6
#4  0x00007f93d468af09 in abort () from /usr/lib/libc.so.6
#5  0x00007f93d46cc517 in __libc_message () from /usr/lib/libc.so.6
#6  0x00007f93d46d2c84 in malloc_printerr () from /usr/lib/libc.so.6
#7  0x00007f93d46d4599 in _int_free () from /usr/lib/libc.so.6
#8  0x00007f93c8258452 in __gnu_cxx::new_allocator<char>::deallocate (this=0x7fffa5bf2000, __p=<optimized out>) at /usr/include/c++/7.2.0/ext/new_allocator.h:125
#9  std::allocator_traits<std::allocator<char> >::deallocate (__a=..., __n=<optimized out>, __p=<optimized out>) at /usr/include/c++/7.2.0/bits/alloc_traits.h:462
#10 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_destroy (__size=<optimized out>, this=0x7fffa5bf2000) at /usr/include/c++/7.2.0/bits/basic_string.h:210
#11 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_dispose (this=0x7fffa5bf2000) at /usr/include/c++/7.2.0/bits/basic_string.h:205
#12 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string (this=0x7fffa5bf2000, __in_chrg=<optimized out>) at /usr/include/c++/7.2.0/bits/basic_string.h:620
#13 CppSharp::CppParser::Parser::Setup (this=this@entry=0x557e8b174550) at ../../../src/CppParser/Parser.cpp:268
#14 0x00007f93c8268981 in CppSharp::CppParser::Parser::ParseHeader (this=0x557e8b174550, SourceFiles=std::vector of length 1, capacity 1 = {...}) at ../../../src/CppParser/Parser.cpp:3976
#15 0x0000000040559ca0 in ?? ()
#16 0x00007f93d4021d00 in ?? ()
#17 0x00007f93d40145d0 in ?? ()
#18 0x00007f93d40220e0 in ?? ()
#19 0x00007f93d40228a8 in ?? ()
#20 0x0000557e8b131840 in ?? ()
#21 0x0000557e8a99c1c0 in ?? ()
#22 0x0000000040558e70 in ?? ()
#23 0x00007fffa5bf2940 in ?? ()
#24 0x00007fffa5bf2860 in ?? ()
#25 0x0000000040559514 in ?? ()
#26 0x00007f93d40145d0 in ?? ()
#27 0x00007f93d40220e0 in ?? ()
#28 0x00007f93d4022438 in ?? ()
#29 0x0000557e8b131840 in ?? ()
#30 0x00007fffa5bf2940 in ?? ()
#31 0x0000000040558a48 in ?? ()
#32 0x0000000000000001 in ?? ()
#33 0x006c00650052002f in ?? ()
#34 0x00007f93d40228d0 in ?? ()
#35 0x00007f93d40228d0 in ?? ()
#36 0x000000004053317c in ?? ()
#37 0x00007fffa5bf2740 in ?? ()
#38 0x00007fffa5bf28d0 in ?? ()
#39 0x00007f93d4021d00 in ?? ()
#40 0x00007fffa5bf30a0 in ?? ()
#41 0x00007f93d40145d0 in ?? ()
#42 0x00007f93d4022368 in ?? ()
#43 0x00007f93d4003728 in ?? ()
#44 0x00007fffa5bf2aa0 in ?? ()
#45 0x000000004055894c in ?? ()
#46 0x00007f93d40220e0 in ?? ()
#47 0x00007f93d40145d0 in ?? ()
#48 0x00007f93d4022438 in ?? ()
#49 0x00007f93d40228a8 in ?? ()
#50 0x00007fffa5bf2aa0 in ?? ()
#51 0x0000000040553598 in ?? ()
#52 0x00007f93d4003728 in ?? ()
#53 0x00007f93d4021d00 in ?? ()
#54 0x00007f93d4021d00 in ?? ()
#55 0x00007f93d40220e0 in ?? ()
#56 0x00007f93d4022108 in ?? ()
#57 0x00007f93d40220e0 in ?? ()
#58 0x00007f93d40220e0 in ?? ()
#59 0x00007f93d4022258 in ?? ()
#60 0x00007f93d4006f10 in ?? ()
#61 0x00007f93d4000f98 in ?? ()
#62 0x00007f93d40037c0 in ?? ()
#63 0x00007f93d4000960 in ?? ()
#64 0x00007f93d4000960 in ?? ()
#65 0x00007f93d4000f98 in ?? ()
#66 0x00007f93d40220e0 in ?? ()
#67 0x0000000000000000 in ?? ()

What you need to do now is to run CppSharp.Parser.Gen.exe project over your recent system headers, because the ones we have committed in the repo are probably outdated for GCC5 ABI, even in the cxx11-abi variant. That needs to be done from another host system with an already working CppSharp version, either old Ubuntu (same as CI) or macOS/Windows host.

How is that done? I am playing a guessing game here. I have CppSharp built in a docker, with host /usr exposed at /CppSharp-master/usr mountpoint. Running mono build/gmake/lib/Release_x64/CppSharp.Parser.Gen.exe produces lots of errors (see attached log below).
CppSharp.log

Can you package your system headers in an archive and send it to @ddobrev? He will try to generate a set of updated parser bindings.
For reference, this is the files our parser binding headers archives contain now: https://gist.github.com/tritao/53bdb6a23ab6c7f5544fa891a0c7f4f9

@ddobrev please be so kind and do the magic :) https://drive.google.com/uc?id=1eB3kUKR6Tfz48HbV6jh6u8QJFwMKSRie

@rokups I would gladly help but I get error 403 when I try opening your link.

For some reason gdrive defaulted to very restrictive sharing setting. Try previous link again or this one: https://drive.google.com/file/d/1eB3kUKR6Tfz48HbV6jh6u8QJFwMKSRie/view?usp=sharing

Got it. I'll send you the generated bindings a little later.

@rokups there might be a chance we don't need new headers and new bindings. Please see if our C++11 ABI bindings work for you. You can find them at https://github.com/mono/CppSharp/tree/master/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi or directly change the build script by setting https://github.com/mono/CppSharp/blob/b7d5b2568f25ad48adbefafe264492f29842327d/src/CppParser/premake5.lua#L26 to 1.

@rokups I added this previously to work-around the new C++11 ABI, I think this is what's causing all the issues for you:
https://github.com/mono/CppSharp/blob/b7d5b2568f25ad48adbefafe264492f29842327d/src/CppParser/premake5.lua#L26
I think you need to remove this line, and change the build script to use the C++11 ABI parser bindings here (x86_64-linux-gnu-cxx11abi): https://github.com/mono/CppSharp/blob/master/src/CppParser/Bindings/CSharp/premake5.lua#L28

I already tested that, still crashes. Crashlog is in my comments from day
or two ago.
On November 21, 2017 3:31:15 PM João Matos<EMAIL_ADDRESS>wrote:

@rokups I added this previously to work-around the new C++11 ABI, I think
this is what's causing all the issues for you:
https://github.com/mono/CppSharp/blob/b7d5b2568f25ad48adbefafe264492f29842327d/src/CppParser/premake5.lua#L26
I think you need to remove this line, and change the build script to use
the C++11 ABI parser bindings here (x86_64-linux-gnu-cxx11abi):
https://github.com/mono/CppSharp/blob/master/src/CppParser/Bindings/CSharp/premake5.lua#L28
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/mono/CppSharp/issues/1003#issuecomment-346027021

@rokups I've just seen your log, it doesn't indicate crashes but rather parsing errors. Try adding this to your settings:
options.LanguageVersion = LanguageVersion.CPP17_GNU;

I meant this post detailing crash using cxx11 ABI bundled with CppSharp.
Can no longer do builds using docker container because following URL is no longer working: https://github.com/mono/CppSharp/releases/download/CppSharp/llvm-cad143-linux-x64-Release.tar.xz

@tritao I am out of ideas about this one. Any thoughts?

@rokups I saw you tried to yuse cxx11 ABI, but did you also remove this line?
https://github.com/mono/CppSharp/blob/b7d5b2568f25ad48adbefafe264492f29842327d/src/CppParser/premake5.lua#L26

Also make sure to build LLVM from source, as our pre-packaged builds won't be compatible with new C++11 ABI.

I definitely removed _GLIBCXX_USE_CXX11_ABI=0 and built llvm from source.

This is definitely weird... can you post the output of  gcc -dM -E - < /dev/null?

Output of gcc from ubuntu 14.04 docker container: docker.log. I get those parsing errors in docker container.
Output of gcc from my host system: host.log. CppSharp crashes on this system.

When i run CppSharp.Parser.Gen.exe (built on ubuntu 14.04) on my main system i get this:
~/src/open/CppSharp % build/gmake/lib/Release_x64/CppSharp.Parser.Gen.exe
Generating the C# parser bindings for Linux...
Parsing libraries...
Error parsing 'CppSharp.CppParser.lib'
Parsing code...
Parsed 'AST.h, Sources.h, CppParser.h'
CppSharp has encountered an error while parsing code.

Generating the C# parser bindings for Linux (GCC C++11 ABI)...
Error loading type maps from assembly 'CppSharp': The classes in the module cannot be loaded.
Parsing libraries...
Error parsing 'CppSharp.CppParser.lib'
Parsing code...
Parsed 'AST.h, Sources.h, CppParser.h'
CppSharp has encountered an error while parsing code.

Any idea whats up with errors?

I am afraid I cannot guess any more from this point. This needs debugging. @tritao could you help him attach a debugger?

We never tried generating the parser bindings on Linux, we always cross-generate them from Windows for all target systems.
But just looking at this log, I don't think we have any .lib files on Linux, so I think the CppSharp.Parser.Gen.exe driver code needs to be modified to work with the library extension in Linux (.so).

I tried changing CppSharp.CppParser.lib to libCppSharp.CppParser.so but that did not work. Is that really what i was supposed to do? .lib on windows is a static lib and .so on linux is a dynamic lib.

Trying it on windows (downloaded binaries from appveyor) i get:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.Setup.Configuration.Interop, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.

Installing this package from nuget did not help:
PS H:\src\open\CppSharp> .\nuget.exe install Microsoft.VisualStudio.Setup.Configuration.Interop
Installing 'Microsoft.VisualStudio.Setup.Configuration.Interop 1.15.103'.
Successfully installed 'Microsoft.VisualStudio.Setup.Configuration.Interop 1.15.103'.

One more attempt to build linux bindings on windows. I had to do some changes so all headers are found (commit) but it still results in parsing errors: error.log
@ddobrev have you tried generating bindings from headers i sent you?

@rokups I am afraid I don't have that kind of time to do this for free. I did notice something, though: our Linux headers have a x86_64-linux-gnu dir inside /usr/include while the package you sent us and I assume you use now lacks it. Could you try if adding it fixes the problem?

Ok i am getting somewhere.
For starters i have created a new build system (https://github.com/rokups/CppSharp/commit/19b32013245ec2d620b3fd30741286aedddeb234). *.csproj for managed targets and CMakeLists.txt for native targets. So far CMake scripts target only linux, but if you are interested in having this project setup we may discuss it further. Making it all work on other platforms should not be hard. I am pretty sure there should be a way to even build native libs straight from MonoDevelop.
After replacing build system i finally could properly build everything with some tinkering. Finally i can generate bindings on my system by running CppSharp.Parser.Gen.exe (https://github.com/rokups/CppSharp/commit/e1749d88ebfc12dc0ef97acb02cfa78971501155)!
Problem is new bindings do not build. Binding generator generates new bindings without RbTreeImpl struct (https://github.com/rokups/CppSharp/commit/f4806965d0f2968fd82d047a671ad6d0d7dcebf1#diff-ef739951f9b8221fb9c523724fe991e6L1159), however in Std.cs this removed struct is still accessed (https://github.com/rokups/CppSharp/commit/f4806965d0f2968fd82d047a671ad6d0d7dcebf1#diff-ef739951f9b8221fb9c523724fe991e6R1155). Any idea how to solve that?
Also CppSharp.Parser.Gen.exe created CppSharp.CppParser-symbols.cpp file, but i do not see it referenced anywhere in premake scripts. Which target is supposed to include this file in the build?

@rokups hello, I am happy to see you haven't given up on us. :)

I don't want to start a useless discussion about whether CMake is better than premake or not. Rather, I will clarify that our build system has been created by @tritao and he's the person to talk here. However, I think he wouldn't go for it because he likes and uses premake and I really doubt what you have done cannot be achieved with it. I myself am not particularly excited because we'd have to rewrite all of our tested on all 3 platforms scripts and force users to build C++# in a new way. I think the best approach here is a discussion between you and @tritao ;
That missing piece is a bug in C++# we've had for a while. You are welcome to either fix it or copy the code over by hand for the time being;
CppSharp.CppParser-symbols.cpp is not used or needed at present;
This is annoying but it doesn't actually hurt so we'll see about it some other time.

Ah awesome, then it sounds like i should have all the pieces to get rolling. Thank you :)
I would still like to submit a PR with these commits:

https://github.com/rokups/CppSharp/commit/dd79db9da66462169bbf31e5685790d0ae09f571
https://github.com/rokups/CppSharp/commit/e1749d88ebfc12dc0ef97acb02cfa78971501155
https://github.com/rokups/CppSharp/commit/44cc5f0e64aded5fb9971a470d9031a3b74c5a9f

Any objections?

1 and 3 are perfectly fine, I would merge them right away. I don't quite get 2 though, is it about generating the Linux bindings on Windows? It's fine for testing but I cannot see what use it could be in our production code.

It is about generating bindings on linux and possibly MacOS (i have no way to test mac builds). As you know CppSharp.CppParser.lib does not exist on linux/macos. That is why i added parserModule.Libraries.Add("libCppSharp.CppParser.so");. To my surprise CppSharp is already intelligent enough and loads and parses this library just fine.
Second set of changes should help covering wider variety of linux distributions. Archlinux uses x86_64-pc-linux-gnu instead of x86_64-linux-gnu for some reason. With these extra includes generating bindings worked. Without them it errored about missing includes.
This change should not have any impact on existing systems. Windows systems will still parse CppSharp.CppParser.lib as before. As it is very unlikely for x86_64-linux-gnu and x86_64-pc-linux-gnu to exist on same linux machine CppSharp would just pick up includes from the dir that exists, ignoring dir that does not exist.

It's fine for testing but I cannot see what use it could be in our production code.

It will definitely have no actual use for your projects, but it would make CppSharp work for more people in more environments. That can not be a bad thing :)

You have some good points. I think we can take 2 as well with just one change: do not add any libraries, they are not used when generating the parser bindings. That is, just delete the addition of .lib and do nothing instead.

You mean get rid of this?
            if (Platform.IsWindows)
                parserModule.Libraries.Add("CppSharp.CppParser.lib");
            else
                parserModule.Libraries.Add("libCppSharp.CppParser.so");

It enables binding generation on linux OS. Is that a bad thing?

I am saying it's not used, it does not matter to the bindings.

Ohh i see, ok ill remove it completely and submit a PR

@rokups What problems did you find with Premake? Can we just fix it to work on your system rather than replace the whole build system?

Actually i think by now premake builds would work too with two tiny patches. I mainly made csproj/cmake scripts to allow me use IDEs without issues. This wasnt a suggestion to replace a build system, but just rather letting you know such work is done just in case should you wish to use it ;) All i care is that i myself get to use that build system ;)
With that said i am closing this issue. My build solution on Arch will not be really acceptable to you as it involves:

Building all llvm targets, not just x86 (otherwise mono chokes on missing symbols related to those archs)
Linking to extra libs z tinfo pthread. tinfo is not available on ubuntu 14.04 so it would break current build.
Tiny patch in SetupManagedProject() which forces x86 or x64 platform on managed targets. Without it they default to x86 even in x64 builds on my platform. I should submit PR for this one as it breaks nothing and just makes sure build is set up correctly.

Thank you for all the help 👍

Point 3 sounds useful, please do send a PR.

Well the issue still exists, so I don't think we should just close it.
About the extra libs, do you think we could use llvm-config to get the exact list of libraries to be linked on the system?

About the extra libs, do you think we could use llvm-config to get the exact list of libraries to be linked on the system?

Output on my system:
~ % llvm-config --libs
-lLLVM-5.0
~ % llvm-config --system-libs

~ % llvm-config --libfiles
/usr/lib/libLLVM-5.0.so
~ %

Seems like it would not work with custom llvm build. Another way, which would substantially ease everything, would be to use llvm libs installed in the system. Would that be a viable option? How hard is dependency on exact llvm commit?

By the way, Premake works for generating VS solutions even under macOS/Linux (this is how I work) so you should not need anything else just to use CppSharp inside the IDE.

Eeek! Now that makes me feel silly :)
Can you confirm if last line of the following snippet will not break on other platforms? It works at least on mcs.
function SetupManagedProject()
  language "C#"
  location ("%{wks.location}/projects")
  buildoptions {"/platform:".._OPTIONS["arch"]}

I think that solution to the managed arch should work since the C# compiler is the same across platforms.
About the LLVM libs issue, it's been a while since I used it, but I think you need to pass the LLVM components to get more libraries, like llvm-config --libs engine bcreader scalaropts. If you pass –components it should print all the available ones.

Passing components to llvm-config does not change it's output. There is something else though, but it is very hacky:
        linux-vdso.so.1 (0x00007ffcda1de000)
        libffi.so.6 => /usr/lib/../lib/libffi.so.6 (0x00007ff57bde4000)
        libedit.so.0 => /usr/lib/../lib/libedit.so.0 (0x00007ff57bbac000)
        libdl.so.2 => /usr/lib/../lib/libdl.so.2 (0x00007ff57b9a8000)
        libncursesw.so.6 => /usr/lib/../lib/libncursesw.so.6 (0x00007ff57b770000)
        libpthread.so.0 => /usr/lib/../lib/libpthread.so.0 (0x00007ff57b552000)
        libz.so.1 => /usr/lib/../lib/libz.so.1 (0x00007ff57b33b000)
        libstdc++.so.6 => /usr/lib/../lib/libstdc++.so.6 (0x00007ff57afb4000)
        libm.so.6 => /usr/lib/../lib/libm.so.6 (0x00007ff57ac68000)
        libgcc_s.so.1 => /usr/lib/../lib/libgcc_s.so.1 (0x00007ff57aa51000)
        libc.so.6 => /usr/lib/../lib/libc.so.6 (0x00007ff57a699000)
        /usr/lib64/ld-linux-x86-64.so.2 (0x00007ff57fa6c000)
        libtinfo.so.6 => /usr/lib/../lib/libtinfo.so.6 (0x00007ff57a46d000)

But it might break if llvm-config returns more than one file.
Or... Maybe we can just link libtinfo if it exists and not link it otherwise? That should not cause issues on any existing platforms even if that lib gets linked but not used.


[Stable] Fix latest pylint errors

Summary
Related to #613
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

15 of 15 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 85.744%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
10171

Relevant Lines:
11862

💛  - Coveralls


make sure you can sign the new dockerhub repos.

According to the docs, I should be able to do that with my current settings.
Closing this.
I will test it soon while doing a new release.


Add equals() to classes that only override hashCode()

lgtm. You can merge after Travis is done.

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


feat(kubelet): adding pester as client wrapper

Fix https://github.com/newrelic/nri-kubernetes/issues/325
After checking memory leaks I noticed that kubelet fails from time to time due to kubelet not answering

adding as KSM https://github.com/newrelic/nri-kubernetes/blob/d67f7401273153b3dcc842f80323c7655d8a64f2/src/ksm/client/client.go#L39


Bump k8s deps

What type of PR is this?
/kind feature
What this PR does / why we need it:
K8s 1.30 was recently released, this PR bumps kubectl-validate deps to k8s 1.30 deps
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Updates validation logic/CEL libraries to k8s 1.30

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

@alexzielenski is this ready to go ?

Would love to see this get merged, we are bumping to K8s 1.30 https://github.com/kyverno/kyverno/pull/10285!


Tabs: tabs color and font-size controlled by variables in vars.scss

Please make sure these boxes are checked before submitting your PR, thank you!

[x] Make sure you follow Element's contributing guide (中文 | English | Español).
[x] Make sure you are merging your commits to dev branch.
[x] Add some descriptions and refer relative issues for you PR.

Note: This does not break any existing functionality or change any existing colors.

This PR addresses this issue by having customizable variables in vars.scss that can control component color and font size https://github.com/ElemeFE/element/issues/12758

https://github.com/ElemeFE/element/issues/12758#issuecomment-421292134

Why not make it possible to overwrite styles in a clean way instead of having to handle each style manually? One can always overwrite CSS on all components, but complexity will arise because not every case is obvious on first glance (disabled state, tabs with icons, etc...). I'm sure I don't have to sell you on the difference of having customizable a variable vs writing 50 lines of CSS to the same effect.
The variables assigned to tab component at the moment are not even used and having them at the moment is kinda misleading anyway.


opening files 10 lines below

Hi, just installed your plugin and got weird error. Line selected on GH page is always 10 below cursor position.
Thanks for help!

Hello @fazibear thank you for reporting the issue, I'll check it when I have time, again thank you so much


test_h12_calibration failure

https://github.com/malariagen/malariagen-data-python/actions/runs/12138164610/job/33843008159#step:5:498

=================================== FAILURES ===================================
________________________ test_h12_calibration[af1_sim] _________________________

fixture = <tests.anoph.conftest.Af1Simulator object at 0x7fe234de2690>
api = <malariagen_data.anoph.h12.AnophelesH12Analysis object at 0x7fe22045c250>

    @parametrize_with_cases("fixture,api", cases=".")
    def test_h12_calibration(fixture, api: AnophelesH12Analysis):
        # Set up test parameters.
        all_sample_sets = api.sample_sets()["sample_set"].to_list()
        window_sizes = np.random.randint(100, 500, size=random.randint(2, 5)).tolist()
        window_sizes = sorted([int(x) for x in window_sizes])
        h12_params = dict(
            contig=random.choice(api.contigs),
            sample_sets=[random.choice(all_sample_sets)],
            window_sizes=window_sizes,
            min_cohort_size=5,
        )

        # Run function under test.
        calibration_runs = api.h12_calibration(**h12_params)

        # Check results.
        assert isinstance(calibration_runs, dict)
>       assert len(calibration_runs) == len(window_sizes)
E       AssertionError: assert 4 == 5
E        +  where 4 = len({'118': array([0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.01...5,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125]), '489': array([0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125])})
E        +  and   5 = len([118, 146, 146, 312, 489])

tests/anoph/test_h12.py:117: AssertionError
----------------------------- Captured stdout call -----------------------------

Access haplotypes: ⠋ (0:00:00.00)

Save results to cache: ⠋ (0:00:00.00)

----------------------------- Captured stderr call -----------------------------

Load haplotypes:   0%|          | 0/8 [00:00<?, ?it/s]

Compute H12:   0%|          | 0/5 [00:00<?, ?it/s]

=========================== short test summary info ============================
FAILED tests/anoph/test_h12.py::test_h12_calibration[af1_sim] - AssertionError: assert 4 == 5
 +  where 4 = len({'118': array([0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.01...5,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125]), '489': array([0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125, 0.0128125,\n       0.0128125, 0.0128125, 0.0128125, 0.0128125])})
 +  and   5 = len([118, 146, 146, 312, 489])
================== 1 failed, 423 passed in 222.94s (0:03:42) ===================
Error: Process completed with exit code 1.

This should be solved by a change pushed by @alimanfoo to #676.


Search bar issues

My complaints related to the search bar:

[x] The item icons are circular - It may look cool, but it cuts off the tech level indicators.
[ ] The search results aren't proper links - As a result, there is no way to open the item page in a new tab, making viewing the details of multiple items way more complicated than it should be.
[ ] On losing focus, the search query will be cleared - I don't find this to be useful behaviour, and to make things more confusing, the results of the last search will remain shown once the search bar regains focus. Also, having the search bar autofocus on page load would be pretty useful.
[ ] Having the search bar available in the toolbar on every page would be nice.

I just open-sourced our frontend - if you're interested in helping, this would be a good starting point: https://github.com/EVE-Tools/vue43/blob/master/components/Search.vue
The input control is a Vuetify select.


Simplified everything to use toString()

I no longer have a bunch of random methods to convert objects to strings. They are all called toString().
@leonardt Just for a small code review

Fixes #391


Support to API2200 for Enclosure Resources

Description
Adds Support to below resources for API 2200 :-
Enclosure
Enclosure Group
Logical Enclosure
Logical Interconnect Group
Scope
Task
Issues Resolved
[List any issues this PR will resolve. e.g., Fixes #01]
Check List

[x] New functionality includes testing.

[x] All tests pass for go 1.11 + gofmt checks.

[ ] New functionality has been documented in the README if applicable.

[ ] New functionality has been thoroughly documented in the examples (please include helpful comments).

[x] Changes are documented in the CHANGELOG.

avoid hardcoded uris and id to support automation.
Also instead of changing the api version for every release, use the apiversion variable
	apiversion, _ := strconv.Atoi(os.Getenv("ONEVIEW_APIVERSION"))


feat(category_theory/opposites): opposites of full and faithful functors

Opposites of full/faithful functors are full/faithful.
TO CONTRIBUTORS:
Make sure you have:

[x] reviewed and applied the coding style: coding, naming
[x] make sure definitions and lemmas are put in the right files
[x] make sure definitions and lemmas are not redundant

For reviewers: code review check list

LGTM.


fix: Loader will be displayed on clicking send.

Fixes #200
Changes: Loader is now displayed on pressing the send button.

@iamareebjamal @adityastic please review.


Storybook >Components>Shipping Address > Invalid placeholder

Describe the bug
Shipping Address > Invalid placeholder.
Personal Info>Placeholder are not proper and Add validation Phone accept the number.
To Reproduce
Steps to reproduce the behavior:

Go to 'Components'
Click on 'Shipping Address'
Click on 'Default'

Expected behavior
Add validation Phone accept the number.
Screenshots

.
Desktop (please complete the following information):
-OS: [Windows 10 Enterprise]
-Browser [ edge]
-Version [ 125.0.2535.92]]
Smartphone (please complete the following information):NA

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Completed -

After submitting Country is not clear.

Completed -


chore(main): release 0.2.0

:robot: I have created a release beep boop
0.2.0 (2023-05-17)
Bug Fixes

deps: update all non-major dependencies (6505229)

Miscellaneous Chores

release 0.2.0 (e15360c)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/FruitieX/add-bot-rs/releases/tag/v0.2.0 :sunflower:


Can't use auto-service with annotation processor with IDEA with this plugin?

I'm trying to write an annotation processor and I can't use an annotation processor to generate the annotation processor with IDEA.
Basically, this plugin + my annotation processor + the annotation processor that I'm trying to use + IDEA = impossible to compile.
Edit: IDEA bug? Seems enabling gradle-assisted compilation (aka "Delegate IDE build/run actions to gradle") fixes it.

Looks like a dupe of #44 right? (tl;dr: yes, a bug in IDEA: https://github.com/tbroyer/gradle-apt-plugin/issues/44#issuecomment-300106844)

Uh, the errors imply more that it's trying to use the compilation output as an annotation processor... So if it is an IDEA bug, it's not the same IDEA bug.

Then could you please give more details as to your problem? I don't understand what your setup is, what you're trying to do, what you experience nor what you'd expect.

I'm trying to use auto-service for an annotation processor. So I'm using an annotation processor to literally make an annotation processor.
I have an annotation class and an annotation processor class with @AutoProcessor. With the default configuration, this compiles the first time, but errors every other time, unless I delete the output directory.
IDEA bug?

Which error do you have? Which IDEA version do you use? How did you import your project into IDEA? (see various options and variants in the README)

When using the Gradle integration in IntelliJ IDEA however, rather than the idea task, you'll have to manually enable annotation processing: in Settings… → Build, Execution, Deployment → Compiler → Annotation Processors, check Enable annotation processing and Obtain processors from project classpath.

(skipped the gradle behaviour part but w/e)
IDEA 2017.1.4

(skipped the gradle behaviour part but w/e)

Did you only skip it in the copy/paste above? or in your setup?
Also, you still did not answer: which error do you have?
Do you have a small repro case that I could test on my side?

Do the setup, skip the gradle behaviour part (the way it's worded implies it's optional), create a dummy annotation, create a dummy annotation processor, use @AutoService on the annotation processor instead of adding meta-inf and such.

Definitely an IDEA bug. You can easily reproduce it with a small project from scratch in IDEA, without Gradle involved at all. I, for one, highly suggest delegating build actions to Gradle. Alternatively, in your "annotation processing" settings, list processors explicitly to tell IDEA to only run the com.google.auto.service.processor.AutoServiceProcessor, and not try to run your own processor.


guide: external cache info (extracted from Use Cases)

Rel. https://github.com/iterative/dvc.org/issues/654#issuecomment-775489955

Make external cache setup section in external data guide
Simplify the shared cache setup section in the use case
Add some usage notes and warnings
Review usage of term "external cache" and link to guide
Other small copy edits

@casperdcl @iesahin please try to pre-review this if one of you has a chance soon. I'm wondering if the changes will make sense to you without much context (I did add a description above though). Thanks


Remove u8 prefix in string literals.

String literals with the prefix u8 now have the type const char8_t[N] in
C++20. As a consequence the library does not compile in c++2a mode with GCC
(you can't concatenate std::basic_string<char> and const char8_t[] as
char and char8_t are different types).

This change is

Seems reasonable. Unicode is a mess in C++ anyway and I'm not sure if there is any practical difference here.


Add "How open source licenses work and how to add them to your projects" to list

I added two resources which will be useful for the programmer.
Security Resources

A collection of hacking/penetration testing resources to make you better!

Licenses

How open source licenses work and how to add them to your projects

Both of them will help every programmer improve their skill better and kickstart their own opensource.

@notsu I would ask you to split this PR and leave just "How open source licenses work and how to add them to your projects".
I would not add Hacking resources for now, as those are quite specific

@mr-mig removed that link, please check again.

Thank you! Squashed and merged.


[0.3.4] Prevents leptos_dom from compiling

I don't know why, but adding thaw to my dependencies prevents leptos_dom from compiling with this error:
error[E0433]: failed to resolve: use of undeclared type `ElementChildren`
   --> /home/ggorg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_dom-0.6.15/src/html.rs:628:40
    |
628 |             if matches!(self.children, ElementChildren::Chunks(_)) {
    |                                        ^^^^^^^^^^^^^^^ use of undeclared type `ElementChildren`

error[E0433]: failed to resolve: use of undeclared type `ElementChildren`
   --> /home/ggorg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_dom-0.6.15/src/html.rs:838:40
    |
838 |             if matches!(self.children, ElementChildren::Chunks(_)) {
    |                                        ^^^^^^^^^^^^^^^ use of undeclared type `ElementChildren`

error[E0433]: failed to resolve: use of undeclared type `ElementChildren`
   --> /home/ggorg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_dom-0.6.15/src/html.rs:902:40
    |
902 |             if matches!(self.children, ElementChildren::Chunks(_)) {
    |                                        ^^^^^^^^^^^^^^^ use of undeclared type `ElementChildren`

error[E0433]: failed to resolve: use of undeclared type `ElementChildren`
   --> /home/ggorg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_dom-0.6.15/src/html.rs:929:40
    |
929 |             if matches!(self.children, ElementChildren::Chunks(_)) {
    |                                        ^^^^^^^^^^^^^^^ use of undeclared type `ElementChildren`

error[E0433]: failed to resolve: use of undeclared type `ElementChildren`
    --> /home/ggorg/.cargo/registry/src/index.crates.io-6f17d22bba15001f/leptos_dom-0.6.15/src/html.rs:1044:40
     |
1044 |             if matches!(self.children, ElementChildren::Chunks(_)) {
     |                                        ^^^^^^^^^^^^^^^ use of undeclared type `ElementChildren`

Some errors have detailed explanations: E0433, E0609.
For more information about an error, try `rustc --explain E0433`.
error: could not compile `leptos_dom` (lib) due to 10 previous errors

removing thaw makes the project compile successfully again.
my dependencies:
[dependencies]
axum = { version = "0.7", features = ["ws"], optional = true }
console_error_panic_hook = "0.1"
leptos = { version = "0.6", features = ["nightly"] }
leptos_axum = { version = "0.6", optional = true }
leptos_meta = { version = "0.6", features = ["nightly"] }
leptos_router = { version = "0.6", features = ["nightly"] }
tokio = { version = "1", features = ["rt-multi-thread"], optional = true }
tower = { version = "0.5", optional = true }
tower-http = { version = "0.6", features = ["fs"], optional = true }
wasm-bindgen = "=0.2.93"
thiserror = "1"
tracing = { version = "0.1", optional = true }
http = "1"
headers = { version = "0.4.0", features = ["nightly"], optional = true }
axum-extra = { version = "0.9.4", features = ["typed-header"], optional = true }
futures = { version = "0.3.30", optional = true }

thaw = { version = "0.3.4", features = ["csr", "ssr", "hydrate"] }

i just had to update my Cargo.toml to:
[dependencies]
axum = { version = "0.7", features = ["ws"], optional = true }
console_error_panic_hook = "0.1"
leptos = { version = "0.6", features = ["nightly"] }
leptos_axum = { version = "0.6", optional = true }
leptos_meta = { version = "0.6", features = ["nightly"] }
leptos_router = { version = "0.6", features = ["nightly"] }
tokio = { version = "1", features = ["rt-multi-thread"], optional = true }
tower = { version = "0.5", optional = true }
tower-http = { version = "0.6", features = ["fs"], optional = true }
wasm-bindgen = "=0.2.93"
thiserror = "1"
tracing = { version = "0.1", optional = true }
http = "1"
headers = { version = "0.4.0", features = ["nightly"], optional = true }
axum-extra = { version = "0.9.4", features = ["typed-header"], optional = true }
futures = { version = "0.3.30", optional = true }
thaw = { version = "0.3.4", default-features = false }

[features]
hydrate = [
  "leptos/hydrate",
  "leptos_meta/hydrate",
  "leptos_router/hydrate",
  "thaw/hydrate",
]
ssr = [
  "dep:axum",
  "dep:tokio",
  "dep:tower",
  "dep:tower-http",
  "dep:leptos_axum",
  "leptos/ssr",
  "leptos_meta/ssr",
  "leptos_router/ssr",
  "dep:tracing",
  "dep:headers",
  "dep:axum-extra",
  "dep:futures",
  "thaw/ssr",
]
futures = ["dep:futures"]


Some modules are not rendered on storybook, but rn-webapp can render it

Describe the bug
Some modules are not rendered on storybook, but rn-webapp can render it.
Steps to reproduce the behavior

Create a story, using a component that uses an unsupported module. I will use @react-native-community/blur as an example for this issue.

Expected behavior
For the storybook to render the component, since rn-webapp can render it.
Screenshots and/or logs

Environment

OS: Windows
Node.js version: 12.22.0
NPM version: 6.14.11
Browser (if applicable): Chrome
Browser version (if applicable): 96.0.4664.45

Additional context
here's my storybook main.js
module.exports = {
	core: {
		builder: 'webpack5',
	},
	stories: [
		'../src/**/*.stories.mdx',
		'../src/**/*.stories.@(js|jsx|ts|tsx)',
	],
	addons: [
		'@storybook/addon-links',
		'@storybook/addon-essentials',
		'@storybook/addon-react-native-web',
	],
}

Here's my story file BlurView.stories.tsx:
import React from 'react'
import {BlurView} from '@atoms/BlurView/BlurView'
import {ComponentStory} from '@storybook/react'
import {Text, View} from 'react-native'

export default {
	title: 'atoms/BlurView',
	component: BlurView,
}

const Template: ComponentStory<typeof BlurView> = (args) => (
	<>
		<View
			style={{
				backgroundImage: 'url(MY_URL_HERE)',
				backgroundSize: 'cover',
				backgroundPosition: 'center',
				height: 400,
			}}>
			<BlurView {...args}>
				<Text style={{color: 'white'}}>
					This is a text inside BlurView
				</Text>
			</BlurView>
		</View>
	</>
)

export const Basic = Template.bind({})
Basic.args = {
	blurAmount: 10,
}

and my BlurView component:
import React from 'react'
import {
	BlurView as Blur,
	BlurViewProperties,
} from '@react-native-community/blur'

export interface IBlurView extends BlurViewProperties {
	children?: JSX.Element | JSX.Element[]
}

export const BlurView = ({
	children,
	blurType = 'dark',
	blurAmount,
	...props
}: IBlurView) => (
	<Blur
		{...props}
		blurType={blurType}
		blurAmount={blurAmount}
		reducedTransparencyFallbackColor="white">
		{children}
	</Blur>
)

@lacsinagramar I don't think this is an issue with rendering the blur view, seems more like it's not resolving the blur view component in '@atoms/BlurView/BlurView'.
Are you using a mono repo?

@lacsinagramar I don't think this is an issue with rendering the blur view, seems more like it's not resolving the blur view component in '@atoms/BlurView/BlurView'.
Are you using a mono repo?

Yes @atoms/BlurView/BlurView is the component at the last of the message. @atoms is just an alias config

@lacsinagramar I don't think this is an issue with rendering the blur view, seems more like it's not resolving the blur view component in '@atoms/BlurView/BlurView'.
Are you using a mono repo?

Yes @atoms/BlurView/BlurView is the component at the last of the message. @atoms is just an alias config

Have you added this alias config to the storybook webpack config?

@lacsinagramar I don't think this is an issue with rendering the blur view, seems more like it's not resolving the blur view component in '@atoms/BlurView/BlurView'.
Are you using a mono repo?

Yes @atoms/BlurView/BlurView is the component at the last of the message. @atoms is just an alias config

Have you added this alias config to the storybook webpack config?

I think it's already configured in the babel.config.js cause other components under my @atoms folder are working.

@lacsinagramar could you share a repository with a reproduction of this problem? That would really help to debug it.

@dannyhw Sure, I'll try to reproduce a repo for this.

you could try the new canary version 0.0.8-canary.13.d8d70a6.0, this new version is meant to deal with some mono repo issues.

@lacsinagramar you could try the new canary version 0.0.8-canary.13.d8a51bb.0 from my current PR, this new version is meant to deal with some mono repo issues.

@dannyhw Sorry I didn't have the time to reproduce a repo. I specifically fixed the BlurView error. I had to copy my webpack config on my next.config.js to .storybook/webpack.config.js
Though, there are still some modules that fails like react-native-flash-message. I'm seeing module transpiling on our next.config.js using next-transpile-modules, so I will try to do transpiling config on my storybook. Will update if it fixes it.

Update: I added the modules to modulesToTranspile then I get this error on storybook.

@dannyhw am I missing something?

Update: I added the modules to modulesToTranspile then I get this error on storybook.

@dannyhw am I missing something?

@lacsinagramar  did you update to the latest version?

Updating to latest version (0.0.10) gave an error.

But I fixed it by changing line 58-62 into:
const root = options && options.projectRoot && process.cwd();
const modules = [
  ...DEFAULT_INCLUDES,
  ...(options && options.modulesToTranspile || []),
];

And all of my modules work now! Thank you! 💖
Should I create a PR for the code that I changed?

Updating to latest version (0.0.10) gave an error.

But I fixed it by changing line 58-62 into:
const root = options && options.projectRoot && process.cwd();
const modules = [
  ...DEFAULT_INCLUDES,
  ...(options && options.modulesToTranspile || []),
];

And all of my modules work now! Thank you! 💖
@dannyhw  Should I create a PR for the code that I changed?

@lacsinagramar glad it working :).
Actually the idea is that you could pass a project root or we assume its the cwd (current working directory).
So that would be like this:
const root = options && options.projectRoot || process.cwd();
And yes would be great if you can open a PR 🙏

@lacsinagramar glad it working :).
Actually the idea is that you could pass a project root or we assume its the cwd (current working directory). So that would be like this: const root = options && options.projectRoot || process.cwd();
And yes would be great if you can open a PR 🙏

PR (#18) for this is up now. Thanks 🚀


Feature request : Optionnal card container OR Templating

In some cases, we do not want the grid to be in a card container. For example when we want to have multiple grids inside one custom card container.
It's not so simple because you integrated data inside the card-header/footer, so we cannot just optionnally display card elements. The title can be dropped. But the pagination has to stay somewhere.
Another way of dealing with this, it to manage templates (so we can have multiple templates, and choose one of another for each of our grid).

Noted. I'll see how to get around this

See #67


flutter help attach should provide better instructions

Currently flutter help attach says:

Attach to a running application.

But based on https://github.com/flutter/flutter/issues/29886#issuecomment-476046878 , this is very misleading since flutter attachneeds to be run first, and therefore the application can't be "running".
flutter help attach should provide more detailed and more accurate instructions. (Or it should work how it claims, although I'm presuming that's much less feasible.)
[✓] Flutter (Channel unknown, v1.4.13-pre.16, on Linux, locale en_US.UTF-8)
• Flutter version 1.4.13-pre.16 at /home/jamesdlin/git/flutter/flutter
• Framework revision 514aba6e36 (3 hours ago), 2019-04-09 17:40:20 -0400
• Engine revision eec74e5c92
• Dart version 2.2.1 (build 2.2.1-dev.3.1 None)

Fixed in [31279](Add flutter attach documentation #31279).

Thanks for adding the documentation, but is that markdown document supposed to be shown when I run flutter help attach? (I'm not seeing it.) If not, then this isn't fixed. flutter help attach is the first place a user should be expected to look.

To solve this issue I am changing this file...but when I did flutter help attach in cmd it still showing this old description why the change here in description is not visible. Do I need to change another file also..

@Pragya007 did you rebuild the tool? There are instructions here https://github.com/flutter/flutter/wiki/The-flutter-tool#making-changes-to-the-flutter-tool

@Pragya007 did you rebuild the tool? There are instructions here https://github.com/flutter/flutter/wiki/The-flutter-tool#making-changes-to-the-flutter-tool

Thanks @christopherfujino

Fixed in https://github.com/flutter/flutter/pull/61569, this issue should be closed.


Consider improving the user experience

Currently running the phpat command with no arguments, or with -h/--help makes the tool to crash with a fatal error. It would be more user friendly if a suggestion what to do was displayed instead.
Looks like the config file is not checked for existence and Yaml::parse() is called with a non-string argument.

I don't think this is a bug since the documented usage is specifying the file. Anyway is definitely something to improve. I'll work on it.

Boundaries between a bug are blurred. call it an improvement ;)

More or less done with #74 😄 and it will be deployed on the next release.
In a future I will probably add more cases to the command, but for now will only execute the tests.


Video control bars is flickering very often when mouse is hovered on the controls

Hi guys,
I have a strange problem, I am using Videogular for embedding videos in my webapp. Only difference that I made other than following the demo is, i have downloaded the css and other supporting files and using them. Now I see the strange issue that control bar (play, stop, next etc) is flickering heavily.
Not sure why this is happening.? Can you point me to some reasons? or it would be appreciable if you can provide a solution.
I wanted to show the error but not sure how to post it. I hope you got what I am mentioning.
Thanks,
-/Sammi

I tried to zero down to the cause but not sure if this can be of help. Please see the screen shot. The classes ng-animate hide-animation-remove show-animation-add show animation hide animation-remove-active show-animation-add-active are causing this weird behavior.

SOS :)

Are you using AngularJS 1.4? I know that animations have been changed, so maybe that's the problem.

No, I am using 1.3

Could you post an example at Codepen?

Hi,
I tried to get it done in codepen. But not able to do it :(. I have pasted the code in above section. Would that be helpful?
If not please let me know. I shall somehow reproduce the issue in codepen or anyother editor.
Thanks,

I want to debug the code, try to put your example on a private server and send me the url or post it here, as you want.

Hi,
I got the exactly what was the issue. I was setting vg-autohide-time=1. Which was causing flickering issue.
Now i have delayed the autohide time and it works perfectly fine.
Sorry for misleading you. But I guess there is problem with Angular 1.4 Hope it will be resolved soon :).
Thanks again and have a great week.
Cheers,
-/Sammi


missing dependency tiny-warning

tiny-warning is imported but not declared in dependencies.
import invariant from 'tiny-warning';

Also experiencing this as of Yarn 2.

see https://github.com/stackworx/formik-material-ui/pull/167

bumping this

@andrewmclagan you can get around this by just adding this dependency yourself to your package.json

Fixed. will release soon

I'm still having this issue today with Yarn 2.
Running<EMAIL_ADDRESS>and<EMAIL_ADDRESS>


Inspectable WebContents

After a blank setup I recieve this message? Anyone else has the same?
Caravel Tag 0.10.0
Thanks Philipp

Which browser is this? Looks like some remote debugging options of your browser than something related to caravel.

Seems invalid, not enough details, closing