Creating *.dll with packageCompiler

Hello,

I would like to create *.dll file from my *.jl code. Before I had packageCompiler version 0.6.4 and it works just perfectly. I only did something like this:

using PackageCompiler

build_shared_lib("test.jl", "test")

and it creates test.dll what works perfectly … of course with a lot of *.dlls around but it is still good. However I lost my version v0.6.4 and now I am not able to add this package again. So I tried newest package version v1.1.1. However there is no function like build_shared_lib. Please could someone tell me if it is even possible to somehow create *.dll file in Julia nowadays?
I mean there is no sense to use Julia if there is no possibility of creating files as dll because of using Julia in already existing software. So I am getting really frustrated about this incompatibility and chaos in Julia packages. Please could anyone help me?

Thank you in advanced

1 Like

First, you can always keep using 0.6.4:

pkg> add PackageCompiler@0.6.4

in the Pkg REPL and keep using it.

Please open an issue on the PackageCompiler repository with your exact use case and how you used to do it and I am sure we can figure something out.

2 Likes

Hi, thank you for answer. I created an issue there. Anyway I was able to run v0.6.4 version. But I found interesting issue. I created *.dll file:

Base.@ccallable function test()::Cint
    return(2)
end

then create library:
build_shared_lib("C:/Users/Ondra/AppData/Local/Programs/Julia/Julia-1.4.1/builddirNeurons.jl", "NN")

When I do it in Julia 64bit version I was able then to call it back in Julia:

ccall((:test,"C:/Users/Ondra/AppData/Local/Programs/Julia/Julia-1.4.1/builddir/NN.dll"),Int32,(Int,),1)

it simply execute the function.

But when I built library in 32bit Julia (it is actually what I would like to) and call it in Julia as above I got following error:

Exception: EXCEPTION_ACCESS_VIOLATION at 0x0 -- unknown function (ip: 00000000)
in expresion starting at REPL[1]:1 
unknown function(ip: 00000000) 
_test at C:\Users\Ondra\AppData\Local\Programs\Julia\Julia-1.4.1\builddir\NN.dll (unknown line).

Should I build it with some flags in 32bit version?

2 Likes