enthought / enthought/pyql

Building on x64

Open
#253 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Cython
Stars
1.3k
Forks
235
PR merge metrics
No merged PRs in 30d

Description

I'm trying to build pyql for WIN32 x64 in the following environment:

- Python 3.6.2 | packaged by conda-forge | (default, Jul 23 2017, 22:58:45) [MSC v.1900 64 bit (AMD64)] on win32
- Boost 1.71.0
- QuantLib-1.16
- MSVC Community 2017 Version 15.9.17

I followed the instructions [here](https://pyql.readthedocs.io/en/latest/getting_started.html#installation-from-source-on-windows)

but had to make a few additional tweaks:

1. add the compiler flag /D QL_HIGH_RESOLUTION_DATE when building QuantLib so that QuantLib::Hour etc. were defined
2. add the same compiler flag in setup.py get_define_macros()
3. Put a guard: **if sys.platform != 'win32':** around the compiler_so code in setup.py pyql_build_ext.build_extensions(), since this code is *nix specific (I think)
4. Install cygwin with the binutils package in order to get nm (a *nix utility for examining binary files). Put the nm location in your PATH or amend generate_symbols.py symbol_generator_from_obj_file() sp that **command = [r'
from quantlib.settings import Settings
ImportError: DLL load failed: %1 is not a valid Win32 application.

which seems to suggest some sort of 32bit vs x64 conflict, but I can't work out why. Can anyone help?

This is some output from the build stage which seems to indicate that the 64 bit compiler is being used:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MT -D_WIN64 -DWIN64 -DNDEBUG -D_WINDOWS -DNOMINMAX -DWINNT -D_WINDLL -D_SCL_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -DQL_HIGH_RESOLUTION_DATE -ID:\lib\QuantLib-1.16 -ID:\lib\boost_1_71_0 -I. -I./cpp_layer -IC:\Users\wxf\Continuum\anaconda3\envs\gresham_pyql\lib\site-packages\numpy\core\include -IC:\Users\wxf\Continuum\anaconda3\envs\gresham_pyql\include -IC:\Users\wxf\Continuum\anaconda3\envs\gresham_pyql\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" /EHsc /Tpcpp_layer/constraint_support_code.cpp /Fobuild\temp.win-amd64-3.6\Release\cpp_layer/constraint_support_code.obj /GR /FD /Zm250 /EHsc
constraint_support_code.cpp

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.