JuliaLang / JuliaLang/PackageCompiler.jl

Compiled libraries depend on being inside the "bin"-folder

Open
#658 9 comments 0 reactions 0 assignees View on GitHub
feature request upstream
Dominant language
Julia
Stars
1.6k
Forks
205
Avg merge
18h 37m
Merged PRs (30d)
7

Description

Hi,

I just found out, that the compiled DLLs rely on beeing inside a folder called "bin" (as they are after the compilation process). Renaming the "bin"-folder after compilation (like to "binary" for example) results in the following error:

`ERROR: Unable to load dependent library ...\binary\../bin/libgcc_s_seh-1.dll`

There should be no path construct like that in the final DLL (_go one path element down an re-enter the "bin"-path_), a DLL should be independent of its path (if possible). The "bin"-folder can be moved to any location and the DLLs still work, as long the "bin"-folder is not renamed.

BTW, the EXE fails with code `0xc0000142`.

Thanks and regards!

Edit: Testet on Windows 10 (64-bit) with the shipped library example.

Contributor guide

No contributing guide indexed for this repository

Research direction

Use the shipped library example on Windows 10 (64-bit) and first reproduce the failure by renaming the compiled "bin" folder to "binary". Inspect the generated DLL dependency path and the EXE failure, then verify that the compiled DLLs and executable still load after the folder is renamed or moved without requiring a "bin" path.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.