sot / xija

Thermal modeling framework for Chandra X-ray Observatory
https://sot.github.io/xija
BSD 3-Clause "New" or "Revised" License
9 stars 5 forks source link

Add conditional naming of init stub function for building on Windows for Python 3 #54

Closed taldcroft closed 6 years ago

taldcroft commented 6 years ago

From @mbaski.

mbaski commented 6 years ago

I need to test that this will still build and run properly within Python 2.7 on Windows. I'm hoping Jean can do the same for Linux (I'm not setup to easily build and test on Linux).

jeanconn commented 6 years ago

Not sure which platforms we care about for this for now, but I didn't see any build or test problems on Linux PY3 64, PY2 64, or PY2 32 bit.

PY3 64

ska3-unagi: git clean -fxd
ska3-unagi: python setup.py build_ext --inplace
running build_ext
building 'xija.core' extension
creating build
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/xija
gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/proj/sot/ska3/flight/include/python3.6m -c xija/core.c -o build/temp.linux-x86_64-3.6/xija/core.o
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/xija
gcc -pthread -shared -L/proj/sot/ska3/flight/lib -Wl,-rpath=/proj/sot/ska3/flight/lib,--no-as-needed build/temp.linux-x86_64-3.6/xija/core.o -L/proj/sot/ska3/flight/lib -lpython3.6m -o build/lib.linux-x86_64-3.6/xija/core.cpython-36m-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.6/xija/core.cpython-36m-x86_64-linux-gnu.so -> xija
ska3-unagi: python setup.py test
running test
running egg_info
creating xija.egg-info
writing xija.egg-info/PKG-INFO
writing dependency_links to xija.egg-info/dependency_links.txt
writing top-level names to xija.egg-info/top_level.txt
writing manifest file 'xija.egg-info/SOURCES.txt'
reading manifest file 'xija.egg-info/SOURCES.txt'
writing manifest file 'xija.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-3.6/xija/core.cpython-36m-x86_64-linux-gnu.so -> xija
==================================================== test session starts =====================================================
platform linux -- Python 3.6.2, pytest-3.2.1, py-1.4.34, pluggy-0.4.0
rootdir: /proj/sot/ska/jeanproj/git/xija, inifile: setup.cfg
plugins: remotedata-0.3.0, openfiles-0.3.0, doctestplus-0.1.3, arraydiff-0.2
collected 9 items                                                                                                             

xija/tests/test_models.py .........

====================================================== warnings summary ======================================================
None
  [pytest] section in setup.cfg files is deprecated, use [tool:pytest] instead.

-- Docs: http://doc.pytest.org/en/latest/warnings.html
=========================================== 9 passed, 1 warnings in 32.86 seconds ============================================
ska3-unagi: 

PY2 64

ska-unagi: git clean -fxd
ska-unagi: git log -n 1
commit 7affeceb34f0f266edeb92952e5fd3aa108108c5
Author: Mark Baski <mbaski@occ.harvard.edu>
Date:   Wed Aug 8 12:06:19 2018 -0400

    Added conditional naming of init stub function for building on Windows for Python 3.
ska-unagi: python setup.py build_ext --inplace
running build_ext
building 'xija.core' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/xija
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/proj/sot/ska/arch/x86_64-linux_CentOS-5/include/python2.7 -c xija/core.c -o build/temp.linux-x86_64-2.7/xija/core.o
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/xija
gcc -pthread -shared -L/proj/sot/ska/arch/x86_64-linux_CentOS-5/lib -Wl,-rpath=/proj/sot/ska/arch/x86_64-linux_CentOS-5/lib,--no-as-needed build/temp.linux-x86_64-2.7/xija/core.o -L/proj/sot/ska/arch/x86_64-linux_CentOS-5/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/xija/core.so
copying build/lib.linux-x86_64-2.7/xija/core.so -> xija
ska-unagi: python setup.py test
running test
running egg_info
creating xija.egg-info
writing xija.egg-info/PKG-INFO
writing top-level names to xija.egg-info/top_level.txt
writing dependency_links to xija.egg-info/dependency_links.txt
writing manifest file 'xija.egg-info/SOURCES.txt'
reading manifest file 'xija.egg-info/SOURCES.txt'
writing manifest file 'xija.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-2.7/xija/core.so -> xija
===================================================== test session starts ======================================================
platform linux2 -- Python 2.7.9 -- py-1.4.26 -- pytest-2.6.4
collected 9 items 

xija/tests/test_models.py .........

================================================== 9 passed in 15.04 seconds ===================================================
ska-unagi: 

PY2 32

ska-quango: git clean -fxd
pRemoving build/
yRemoving xija.egg-info/
Removing xija/__pycache__/
Removing xija/component/__pycache__/
Removing xija/core.cpython-36m-x86_64-linux-gnu.so
Removing xija/tests/__pycache__/
ska-quango: python setup.py build_ext --inplace
running build_ext
building 'xija.core' extension
creating build
creating build/temp.linux-i686-2.7
creating build/temp.linux-i686-2.7/xija
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/proj/sot/ska/arch/i686-linux_CentOS-5/include/python2.7 -c xija/core.c -o build/temp.linux-i686-2.7/xija/core.o
creating build/lib.linux-i686-2.7
creating build/lib.linux-i686-2.7/xija
gcc -pthread -shared -L/proj/sot/ska/arch/i686-linux_CentOS-5/lib -Wl,-rpath=/proj/sot/ska/arch/i686-linux_CentOS-5/lib,--no-as-needed build/temp.linux-i686-2.7/xija/core.o -L/proj/sot/ska/arch/i686-linux_CentOS-5/lib -lpython2.7 -o build/lib.linux-i686-2.7/xija/core.so
copying build/lib.linux-i686-2.7/xija/core.so -> xija
ska-quango: python setup.py test
running test
running egg_info
creating xija.egg-info
writing xija.egg-info/PKG-INFO
writing top-level names to xija.egg-info/top_level.txt
writing dependency_links to xija.egg-info/dependency_links.txt
writing manifest file 'xija.egg-info/SOURCES.txt'
reading manifest file 'xija.egg-info/SOURCES.txt'
writing manifest file 'xija.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-i686-2.7/xija/core.so -> xija
============================= test session starts ==============================
platform linux2 -- Python 2.7.9 -- py-1.4.26 -- pytest-2.6.4
collected 9 items 

xija/tests/test_models.py .........

========================== 9 passed in 30.49 seconds ===========================
ska-quango: 
mbaski commented 6 years ago

This update worked successfully within Python 2.7 on Windows (I installed the package into python_Windows_64bit_testing and then used MCC to view data from all the thermal models) so I'm good with it now.

taldcroft commented 6 years ago

Merging and tagging, but note that this is not approved for installation to Ska2 flight with LR approval. This can come along for the ride if any other xija updates drive such a review. It's fine for Ska3 flight / matlab. I guess @jeanconn should check Ska3 matlab32 for completeness.