I’m still getting Internal error: System.DllNotFoundException when I try to build a Linux Island Oxygene application on a Linux build host. I did a fresh install of Debian 10 on a Windows 10 machine using Windows Subsystem for Linux (though please note I get the exact same error on real Linux machines as well; it is NOT an artifact of WSL). Then I installed Elements for Linux. Then I try to build an application:
pmunts@GOLAN:~/src/libsimpleio/elements/linux/programs/test_gpio$ make
"/usr/local/bin/ebuild" "test_gpio.elements" --configuration:Release
RemObjects EBuild. An open source build engine for Elements and beyond.
Copyright RemObjects Software 2016-2019. All Rights Reserved. Created by marc hoffman.
Version 10.0.0.2445 (develop) built on talax, 20191011-150638. Commit 248933d.
No exact Ubuntu SDK version was specified for target 'Island-Linux', using 'Ubuntu 2.19'.
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/x86_64/libsimpleio.fx' via 'HintPath' for target 'Island-Linux'.
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/aarch64/libsimpleio.fx' for target 'Island-Linux' (aarch64).
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/armv6/libsimpleio.fx' for target 'Island-Linux' (armv6).
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/x86_64/libsimpleio.fx' for target 'Island-Linux' (x86_64).
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/armv6/libsimpleio.fx' via 'HintPath' for target 'Island-Linux'.
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/aarch64/libsimpleio.fx' for target 'Island-Linux' (aarch64).
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/armv6/libsimpleio.fx' for target 'Island-Linux' (armv6).
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/x86_64/libsimpleio.fx' for target 'Island-Linux' (x86_64).
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/aarch64/libsimpleio.fx' via 'HintPath' for target 'Island-Linux'.
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/aarch64/libsimpleio.fx' for target 'Island-Linux' (aarch64).
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/armv6/libsimpleio.fx' for target 'Island-Linux' (armv6).
Reference 'libsimpleio' was resolved to '/home/pmunts/src/libsimpleio/elements/linux/bindings/x86_64/libsimpleio.fx' for target 'Island-Linux' (x86_64).
Reference 'rtl' was resolved to '/usr/local/lib/elements/Island SDKs/Linux/Ubuntu 2.19/aarch64/rtl.fx' for target 'Island-Linux'.
Reference 'rtl' was resolved to '/usr/local/lib/elements/Island SDKs/Linux/Ubuntu 2.19/aarch64/rtl.fx' for target 'Island-Linux' (aarch64).
Reference 'rtl' was resolved to '/usr/local/lib/elements/Island SDKs/Linux/Ubuntu 2.19/armv6/rtl.fx' for target 'Island-Linux' (armv6).
Reference 'rtl' was resolved to '/usr/local/lib/elements/Island SDKs/Linux/Ubuntu 2.19/x86_64/rtl.fx' for target 'Island-Linux' (x86_64).
Reference 'gc' was resolved to '/usr/local/lib/elements/Island SDKs/Linux/Ubuntu 2.19/aarch64/gc.fx' for target 'Island-Linux'.
Reference 'gc' was resolved to '/usr/local/lib/elements/Island SDKs/Linux/Ubuntu 2.19/aarch64/gc.fx' for target 'Island-Linux' (aarch64).
Reference 'gc' was resolved to '/usr/local/lib/elements/Island SDKs/Linux/Ubuntu 2.19/armv6/gc.fx' for target 'Island-Linux' (armv6).
Reference 'gc' was resolved to '/usr/local/lib/elements/Island SDKs/Linux/Ubuntu 2.19/x86_64/gc.fx' for target 'Island-Linux' (x86_64).
Reference 'Island' was resolved to '/usr/local/lib/elements/References/Island/Ubuntu/x86_64/Island.fx' for target 'Island-Linux'.
Reference 'Island' was resolved to '/usr/local/lib/elements/References/Island/Ubuntu/aarch64/Island.fx' for target 'Island-Linux' (aarch64).
Reference 'Island' was resolved to '/usr/local/lib/elements/References/Island/Ubuntu/armv6/Island.fx' for target 'Island-Linux' (armv6).
Reference 'Island' was resolved to '/usr/local/lib/elements/References/Island/Ubuntu/x86_64/Island.fx' for target 'Island-Linux' (x86_64).
RemObjects Elements (Oxygene, C#, Swift and Java) Compiler for .NET, Cocoa, Java and Island.
Version 10.0.0.2445 (develop) built on talax, 20191011-150638. Commit 248933d.
Copyright 2003-2019 RemObjects Software, LLC. All rights reserved.
E: Internal error: System.DllNotFoundException: RemObjects.Elements.LLVM.dll assembly:<unknown assembly> type:<unknown type> member:(null)
at (wrapper managed-to-native) LLVM.Interop.LLVMInterop.LLVMInitializeAll()
at RemObjects.Elements.Island.IslandOutput..cctor () [0x00186] in <0493226bc0624090b2fa745a7c9d0592>:0
Project 'test_gpio' failed to build.
Solution 'test_gpio' failed to build all projects.
make: *** [/home/pmunts/src/libsimpleio/elements/include/elements.mk:43: elements_mk_build] Error 1
The shared library link libRemObjects.Elements.LLVM.so is in /usr/local/lib/ and it has the correct permissions 0755. The exact same project builds from the command line fine on both Windows and MacOS.
Something that has occurred to me is, I haven’t installed a license file on any of my Linux build hosts. Could that be the real problem, and where should I install a license file on Linux? I can build an Oxygene .Net Core application without any problems on my Linux build host; presumably that process doesn’t use llvm.