gostevehoward / confseq

Confidence sequences and uniform boundaries
MIT License
54 stars 3 forks source link

gcc cannot find "uniform_boundaries.h" when installing through pip #3

Closed enosair closed 3 years ago

enosair commented 3 years ago

When I run pip3 install confseq, gcc complains it cannot find "uniform_boundaries.h" when building confseq.boundaries extension.

    building 'confseq.boundaries' extension
    creating build/temp.linux-x86_64-3.9
    creating build/temp.linux-x86_64-3.9/src
    creating build/temp.linux-x86_64-3.9/src/confseq
    gcc -pthread -B /private/home/xxx/.conda/envs/my_env/compiler_compat -Wl,--sysroot=/ -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /private/home/xxx/.conda/envs/my_env/include -fno-semantic-interposition -fPIC -O2 -isystem /private/home/xxx/.conda/envs/my_env/include -fno-semantic-interposition -fPIC -I/private/home/xxx/.conda/envs/my_env/lib/python3.9/site-packages/pybind11/include -I/private/home/xxx/.conda/envs/my_env/lib/python3.9/site-packages/pybind11/include -I/private/home/xxx/.conda/envs/my_env/include/python3.9 -c src/confseq/boundaries.cpp -o build/temp.linux-x86_64-3.9/src/confseq/boundaries.o -DVERSION_INFO="0.0.5" -std=c++14 -fvisibility=hidden
    src/confseq/boundaries.cpp:4:10: fatal error: uniform_boundaries.h: No such file or directory
        4 | #include "uniform_boundaries.h"
          |          ^~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    error: command '/usr/bin/gcc' failed with exit code 1

I installed your package successfully last year; the failure appears when installing it on my server and new laptop. I wonder if the recent change you made broke the installation.

enosair commented 3 years ago

I was using Anaconda with python 3.8. Downgrading to python 3.7 solved this issue, but this surfaced some incompatibility issues might be going on.

gostevehoward commented 3 years ago

@enosair Thank you for reporting this and apologies for the delay. I've just pushed a change to use scikit-build and CMake which will hopefully improve build compatibility. I uploaded version 0.0.6 to PyPI, so hopefully pip3 install confseq will work now (I tested with Python 3.9.4 on MacOS 10.15.7). If you happen to try it, let me know how it goes!

enosair commented 3 years ago

@gostevehoward Thank you!

I've been able to use it successfully, but I tested it in the following environments for you:

gostevehoward commented 3 years ago

Hmm, I'm still on Catalina. If you'd like to debug, might be helpful to

I'm not experienced in this toolchain but maybe there's an easy fix.

WannabeSmith commented 3 years ago

FWIW, installation works for me on macos 11.4 with Python 3.7.10 once boost is installed (via brew).