-
Notifications
You must be signed in to change notification settings - Fork 472
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
Fix jitter on Windows #1199
Fix jitter on Windows #1199
Conversation
Hi @jbgalet ! |
If you are not familiar with appveyor yml, don't hesitate to tell me, I will PR your PR with the fix! |
Thanks a lot @jbgalet! Don't worry for the travis bugs, it's a llvm bug we are facing for some times. |
* Appveyor * Fix typo, update jitcore_llvm.py, update llvmlite to 0.32.0 to have python3.8 wheels * Add all platforms in AppVeyor. Use -m to avoid WinError 32 * Use llvmlite 0.31.0, latest version to provide Python2.7 support AND Python3.8 * Remove -m
Should be good, note that I had to update the llvmlite requirement to 0.31.0 to make it work, but it breaks travis (since llvmlite 0.31 requires llvm 7). |
Thank you @jbgalet ! |
@jbgalet , with your travis file, did you manage to make llvm tests pass again on travis ? |
@@ -248,7 +249,8 @@ def buil_all(): | |||
for lib in libs: | |||
filename = os.path.basename(lib) | |||
dst = os.path.join(build_base, lib_dirname, "miasm", "jitter") | |||
if filename not in ["VmMngr.lib", "Jitgcc.lib", "Jitllvm.lib"]: | |||
# Windows built libraries may have a name like VmMngr.cp38-win_amd64.lib | |||
if not any([fnmatch.fnmatch(filename, pattern) for pattern in ["VmMngr.*lib", "Jitgcc.*lib", "Jitllvm.*lib"]]): |
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 know it's too late, but you don't need to build a list in such situations; this works:
if not any([fnmatch.fnmatch(filename, pattern) for pattern in ["VmMngr.*lib", "Jitgcc.*lib", "Jitllvm.*lib"]]): | |
if not any(fnmatch.fnmatch(filename, pattern) for pattern in ["VmMngr.*lib", "Jitgcc.*lib", "Jitllvm.*lib"]): |
Oh ok! |
Fix jitter on Windows
On Windows with Python38 the Jitter fails to compile mostly because of the native extension filenames
.cp38-win_amd64.lib
.Therefore:
jitcore_cc_base.py
(sysconfig.get_config_var('EXT_SUFFIX')
is.pyd
but we need.lib
here)python27.lib