Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

more helpful error message for 32/64 bit dll mismatch on windows #4204

Open
mlubin opened this issue Sep 3, 2013 · 6 comments
Open

more helpful error message for 32/64 bit dll mismatch on windows #4204

mlubin opened this issue Sep 3, 2013 · 6 comments
Labels
speculative Whether the change will be implemented is speculative system:windows Affects only Windows

Comments

@mlubin
Copy link
Member

mlubin commented Sep 3, 2013

Something that caught me today, and I imagine will catch a large number of users in the future, is trying to open a 32-bit dll from win64 julia. This is something that there should be a more useful error message for. The discussion at http://stackoverflow.com/questions/495244/how-can-i-test-a-windows-dll-to-determine-if-it-is-32bit-or-64bit seems to indicate that it's possible but a bit messy.

@vtjnash
Copy link
Member

vtjnash commented Sep 10, 2013

It would be nice, but we don't really know why windows failed to open a dll, or even which dll's it tried to open. We could only attempt to guess.

I think we should just replace window's generic and meaningless %1 is not a valid win32 application with a custom message which suggests various fixes: dll could not be found in Base.LD_LOAD_PATH, the current directory, or %PATH%; it has failed dependencies; or it was not a valid win$WORD_SIZE binary

@mlubin
Copy link
Member Author

mlubin commented Sep 10, 2013

Well 32/64 bit is something I believe could be explicitly checked before even trying to open the dll. I'll leave it up to you to decide if it's worth the trouble.

@vtjnash
Copy link
Member

vtjnash commented Sep 10, 2013

my point is that we never open the dll. we just ask windows to search for the first dll it can load. trying to emulate the linker is possible, but generally not advisable. replacing the error message, however, is very straightforward and would be equally (or more?) helpful.

@mlubin
Copy link
Member Author

mlubin commented Sep 11, 2013

I see the issue. Changing the error message will definitely be an improvement.

@staticfloat
Copy link
Member

@vtjnash; not disagreeing with you, but we do already emulate an incredible amount of the dynamic linker on OSX and Linux. We search path lists, cache library name -> path mappings, etc... ;)

@ihnorton
Copy link
Member

Breadcrumb: #7940

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
speculative Whether the change will be implemented is speculative system:windows Affects only Windows
Projects
None yet
Development

No branches or pull requests

4 participants