GERSL/pycold

Window platform implementation

Closed this issue · 5 comments

I began to seriously consider implementing pycold for the Windows platform, as it is the need from several other users and also for a geospatial course I am currently developing.

I copied the paragraph where Jon reported his last try for Windows platform.

"I did attempt to get windows, osx, but I wasn't able to figure out how to ge tthe dependency on GSL to be satisfied. I also did try to get 32bit systems to work (i686), but for some reason they can't find OpenMP (even though I'm pretty sure I installed the right GOMP on the images). These issues can be sorted out later though. CPython wheels 3.8, 3.9, and 3.10 for linux are now being built, so anyone on linux with those python versions will be able to pip install pycold. (FWIW people on other systems will be able to run the command and download the source, but it will only work if they have all the other dependencies setup). "

Hi @Erotemic could we remove the dependency of OpenMP for pycold? I don't remember where I used openmp. If I did, it should be fixed by removing OpenMP as I didn't see any need of using shared-memory parallelization for this package.

I'm not familiar enough with the C code to know if / when it is used. You could likely use an ifdef and a CMake flag to disable it on windows if it's only used for a small portion, or even just remove it entirely if it is never used.

Alternatively, I think mingw does provide libgomp so you could build against that on windows.

SuYe99 commented

Hi Jon @Erotemic , I finally finished my job transfer back to China, and began to work on pycold. I tried to 'bash run_developer_setup.sh' in a bash terminal of Windows, and got the error like the below. Do you have an idea on what is going on for here?
image

The issue on windows is that you need to ensure all dependencies are installed and cmake can find them.

Maybe try pip install ninja? (although pyproject.toml should have taken care of that, but maybe it isn't being respected?)

The main line that run_developer_setup.sh is executing is:

pip install --no-build-isolation --verbose -e . 

Running that might give a better idea of the issue.

For even finer grained information, you can also use a standard cmake-style build to debug C++ issues:

mkdir build
cd build
# Do the configure stuff interactively
cmake-gui ..
# Do whatever build backend you chose

Hello, is there any update on the Windows package implementation?