Thanks @Jameson,

I am a bit confused about "you are not adding any code to the system image 
(`--eval nothing`)". According to your blog 
http://juliacomputing.com/blog/2016/02/09/static-julia.html , I think that 
this is a crucial point to obtain a small sized dll. Am I right?

What is then the right way to emit "ccallable" declarations in order to 
export julia function(s)? (foo in our example from the original post in 
this thread)

Is it okay to work with current version of julia 0.4.5. or I have to switch 
to another version; If yes, to which one?

Thanks in advance.

Dňa utorok, 10. mája 2016 22:13:57 UTC+2 Jameson napísal(-a):
>
> The compile-all flag is only partially functional on v0.4. I think it's 
> best to just leave it off. I tested on master and fixed a bug with emitting 
> `@ccallable`, but that's unrelated. From the command line below, it looks 
> like you are not adding any code to the system image (`--eval nothing`) 
> which would also means there are no `ccallable` declarations being emitted 
> into the current compile.
>
> Other than that, I don't see anything wrong with that command. You 
> shouldn't see that error unless you tried to make a Task or use `@async` 
> from the compile host. It's ambiguous how that would be serialized, so it's 
> simply an error and any parallel workers should be created / started by an 
> `__init__` method.
>
>
> On Tuesday, May 10, 2016 at 2:53:22 AM UTC-4, Ján Adamčák wrote:
>>
>> Hello guys, 
>>
>> Thank you for your comments, though we were more optimistic...
>>
>>
>> Dňa piatok, 6. mája 2016 16:27:28 UTC+2 Ján Adamčák napísal(-a):
>>>
>>> Sorry, my fault. 
>>>
>>> During last week I created build_sysimg2.jl from julia 0.4.5 
>>> build_sysimg.jl and when I run it, at line 86 (build_sysimg2.jl)
>>>
>>> run(`$julia -C $cpu_target --output-o sysimg_all.o --sysimage 
>>> $sysimg_path.$(Libdl.dlext) --startup-file=no --compile=all --eval nothing`)
>>>
>>> I got this error:
>>>
>>> fatal: error thrown and no exception handler available.
>>> ErrorException("Task cannot be serialized")
>>> jl_unprotect_stack at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_throw at C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll 
>>> (unknown line)
>>> jl_error at C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll 
>>> (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_compress_ast at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_save_system_image_to_stream at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_create_system_image at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> jl_atexit_hook at 
>>> C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\libjulia.dll (unknown line)
>>> unknown function (ip: 00000000004028B5)
>>> unknown function (ip: 000000000040140C)
>>> unknown function (ip: 000000000040153B)
>>> BaseThreadInitThunk at C:\WINDOWS\system32\KERNEL32.DLL (unknown line)
>>> RtlUserThreadStart at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)
>>> ERROR: LoadError: failed process: 
>>> Process(`'C:\Users\Adam\AppData\Local\Julia-0.4.5\bin\julia' -C native 
>>> --output-o sysimg_all.o --sysimage my_img.dll --startup-file=no 
>>> --compile=all --eval nothing`, ProcessExited(1)) [1]
>>>  in run at process.jl:531
>>> while loading 
>>> c:\Users\Adam\AppData\Local\Julia-0.4.5\share\julia\build_sysimg2.jl, in 
>>> expression starting on line 191
>>>
>>>  Before this error, julia wrote some warnings:
>>>
>>> WARNING: could not attach metadata for @simd loop.
>>>
>>> Same error I got on Ubuntu 16.04...
>>>  
>>>
>>>
>>> Dňa piatok, 6. mája 2016 15:48:19 UTC+2 Jeff Bezanson napísal(-a):
>>>>
>>>> That command line in build_sysimg.jl:77 looks strange. Actually I 
>>>> can't find that line anywhere; our build_sysimg and BuildExecutable.jl 
>>>> now have something slightly different. 
>>>>
>>>> On Fri, May 6, 2016 at 9:25 AM, Tom Breloff <[email protected]> wrote: 
>>>> > Also, I think there's even fewer people that are experts on the 
>>>> Windows 
>>>> > build process.  I think the community tends to be more linux/osx 
>>>> focused. 
>>>> > 
>>>> > On Fri, May 6, 2016 at 4:08 AM, Andreas Lobinger <[email protected]> 
>>>> > wrote: 
>>>> >> 
>>>> >> Hello colleague, 
>>>> >> 
>>>> >> this topic is still seen as experimental and not that many of julia 
>>>> users 
>>>> >> could be considered expert on this... 
>>>> >> If the recipe given (long time ago i tried to follow this on a linux 
>>>> >> installation which i general has more tooling to get shared 
>>>> libraries and 
>>>> >> compilation working...) doesn't work, you could raise a concrete 
>>>> issue on 
>>>> >> github - there you get more audience with julia internal know-how. 
>>>> >> 
>>>> >> Wishing a happy day, 
>>>> >> 
>>>> >>        Andreas 
>>>> >> 
>>>> >> 
>>>> >> On Friday, May 6, 2016 at 8:51:47 AM UTC+2, Ján Adamčák wrote: 
>>>> >>> 
>>>> >>> Nobody??? 
>>>> >>> 
>>>> >>> Dňa pondelok, 2. mája 2016 11:30:11 UTC+2 Ján Adamčák napísal(-a): 
>>>> >>>> 
>>>> >>>> 
>>>> >>>> Hello, 
>>>> >>>> 
>>>> >>>> Trying to create an executable from Julia source, there are 
>>>> questions 
>>>> >>>> that raised... The process of exporting functions wasn't 
>>>> successful, 
>>>> >>>> function(s) was not exported to dll, and even the generated dll 
>>>> cant be 
>>>> >>>> loaded in c++ code. Below is the process explained in details: 
>>>> >>>> 
>>>> >>>> Can anybody bring more insight, how to build a standalone 
>>>> executable 
>>>> >>>> from Julia source? 
>>>> >>>> 
>>>> > 
>>>>
>>>

Reply via email to