Well, the error seems to follow this pattern: ImportError: Cannot load library: loadsegments[number]: *number* cannot map segment from `library.so` at ... On Windows, it always says '%1 is not a valid Win32 application' So, could you catch the exceptions and compare the string or perform a regex match or the like? Andrew Barnert <abarnert@yahoo.com> wrote:
I suspect that on most platforms, we just get a NULL return from dlopen, call dlerror, and use the error string it returns. A quick test on OS X seems to bear that out. So, short of parsing the dlerror string (or trying to parse the elf/mach-o/etc. headers ourselves), I'm not sure what we could do.
Sent from a random iPhone
On Aug 4, 2013, at 23:01, Ryan <rymg19@gmail.com> wrote:
I don't really know C. At all. I was thinking the errors could be caught at a higher level, something like(the code isn't runnable):
except windowserror as ex: if ex.string == '%1 is not...: raise_error_here
Guido van Rossum <guido@python.org> wrote:
Do you know how to fix this?
On Sunday, August 4, 2013, Ryan wrote:
Here are my experiences in accidently getting a .so/.dll file for
the wrong chip/CPU type:
Windows:
%1 is not a valid Win32 application
*nix/Android:
A long message about improper memory mappings and such.
I'd like to propose the concept of better errors in these cases.
Both Windows and Posix errors is this case are horrible, and it'd be nice for them to actually be written in English.
-- Sent from my Android phone with K-9 Mail. Please excuse my brevity.
-- Sent from my Android phone with K-9 Mail. Please excuse my brevity. _______________________________________________ Python-ideas mailing list Python-ideas@python.org http://mail.python.org/mailman/listinfo/python-ideas
-- Sent from my Android phone with K-9 Mail. Please excuse my brevity.