-
Notifications
You must be signed in to change notification settings - Fork 47
Conversation
…tar error message for windows 10 during `probe_platform_engines!()`
@@ -165,7 +165,8 @@ function locate(lp::LibraryProduct; verbose::Bool = false, | |||
if platforms_match(platform, platform_key_abi()) | |||
if isolate | |||
# Isolated dlopen is a lot slower, but safer | |||
if success(`$(Base.julia_cmd()) -e "import Libdl; Libdl.dlopen(\"$dl_path\")"`) | |||
dl_esc_path = replace(dl_path, "\\"=>"\\\\") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ooh, we gotta be careful with this one; I don't think this will work on every platform. What is more likely to work is to replace(dl_path, "\\"=>"/")
, since forward-slash (even though it's not the default returned by tools on Windows) should work everywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not expect that any other platform than windows will have a\
in the path.
Moreover, I just copied the idea of line 395
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just checked whether your proposal would work on windows, and interestingly it does pass the test. But ImageMagick does not build with "\\"=>"/"
whereas it does with "\\" => "\\\\"
.
So I would encourage someone with a Linux machine to also test whether ImageMagick builds successfully with my version.
What is the image magick error?
…On Sat, Jun 15, 2019 at 15:15 hhaensel ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In src/Products.jl
<#166 (comment)>
:
> @@ -165,7 +165,8 @@ function locate(lp::LibraryProduct; verbose::Bool = false,
if platforms_match(platform, platform_key_abi())
if isolate
# Isolated dlopen is a lot slower, but safer
- if success(`$(Base.julia_cmd()) -e "import Libdl; Libdl.dlopen(\"$dl_path\")"`)
+ dl_esc_path = replace(dl_path, "\\"=>"\\\\")
Just checked whether your proposal would work on windows, and
interestingly it does pass the test. But ImageMagick does not build with
"\\"=>"/" whereas it does with "\\" => "\\\\".
So I would encourage someone with a Linux machine to also test whether
ImageMagick builds successfully with my version.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#166?email_source=notifications&email_token=AAA762F4IBLIEG3J63WCP23P2VSXLA5CNFSM4HYOROZ2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB3U6BQY#discussion_r294060932>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAA762GINMUU7GB7Q2M3BBDP2VSXLANCNFSM4HYOROZQ>
.
|
Strangely, the
|
Some more hints: With respect to the critical call
This seems to show that "/" is not accepted by
|
I traced part of the problem:
|
I finally digged it down. All in all, I think the choice of Another point, I came across is
Maybe, it would be good to use isolate=true in this call, as satisfied() has isolate=false as default?Otherwise, one would first check satisfied() in the current context, but during write_deps_file() require isolate=true and this might fail...I found this confusing. |
Suppress errors and warnings and correct quotes for Windows