wangyiqiu / hdbscan

A Fast Parallel Algorithm for HDBSCAN* Clustering
MIT License
54 stars 13 forks source link

Software not compiling #7

Open garcia-nacho opened 1 year ago

garcia-nacho commented 1 year ago

I have tried to compile the source and I get this error:

make[2]: *** [pybindings/CMakeFiles/pyhdbscan.dir/build.make:63: pybindings/CMakeFiles/pyhdbscan.dir/pyhdbscan.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:191: pybindings/CMakeFiles/pyhdbscan.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
wangyiqiu commented 1 year ago

Did you initialize the dependencies? See instructions here If it still does not work for you, please share the commands, system, and architecture that you used.

garcia-nacho commented 1 year ago

Yes I did it. I did it inside a conda environment since I don't want to install all the required packages on my base environment because of compatibility issues.

Same error on two different computers, the last one Ubuntu 19.04 (x86_64) Commands:

conda create -n hdbscan
conda activate hdbscan 
conda install pip
git clone https://github.com/wangyiqiu/hdbscan.git
cd hdbscan
git submodule init
git submodule update
pip3 install -r pybindings/requirements.txt
mkdir build
cd build
cmake ..
make -j 

and again the last lines of the error:

In file included from /home/nacho/anaconda3/envs/hdbscan/include/python3.11/Python.h:42,
                 from /home/nacho/hdbscan/external/pybind11/include/pybind11/detail/common.h:124,
                 from /home/nacho/hdbscan/external/pybind11/include/pybind11/pytypes.h:12,
                 from /home/nacho/hdbscan/external/pybind11/include/pybind11/cast.h:13,
                 from /home/nacho/hdbscan/external/pybind11/include/pybind11/attr.h:13,
                 from /home/nacho/hdbscan/external/pybind11/include/pybind11/pybind11.h:45,
                 from /home/nacho/hdbscan/pybindings/pyhdbscan.cpp:6:
/home/nacho/anaconda3/envs/hdbscan/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
   22 | typedef struct _frame PyFrameObject;
      |                ^~~~~~
make[2]: *** [pybindings/CMakeFiles/pyhdbscan.dir/build.make:63: pybindings/CMakeFiles/pyhdbscan.dir/pyhdbscan.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:187: pybindings/CMakeFiles/pyhdbscan.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
wangyiqiu commented 1 year ago

I see, thanks. It's probably because of incompatibilities across Python and Pybind versions.

Could you try installing under virtual environment in your base environment?

I will try to replicate your error in Conda and will get back to you about it.

On Wed, Feb 15, 2023 at 5:19 PM Nacho Garcia @.***> wrote:

Yes I did it. I did it inside a conda environment since I don't want to install all the required packages on my base environment because of compatibility issues.

Same error on two different computers, the last one Ubuntu 19.04 (x86_64) Commands:

conda create -n hdbscan

conda activate hdbscan

conda install pip

git clone https://github.com/wangyiqiu/hdbscan.git

cd hdbscan

git submodule init

git submodule update

pip3 install -r pybindings/requirements.txt

mkdir build

cd build

cmake ..

make -j

and again the last lines of the error:

In file included from /home/nacho/anaconda3/envs/hdbscan/include/python3.11/Python.h:42,

             from /home/nacho/hdbscan/external/pybind11/include/pybind11/detail/common.h:124,

             from /home/nacho/hdbscan/external/pybind11/include/pybind11/pytypes.h:12,

             from /home/nacho/hdbscan/external/pybind11/include/pybind11/cast.h:13,

             from /home/nacho/hdbscan/external/pybind11/include/pybind11/attr.h:13,

             from /home/nacho/hdbscan/external/pybind11/include/pybind11/pybind11.h:45,

             from /home/nacho/hdbscan/pybindings/pyhdbscan.cpp:6:

/home/nacho/anaconda3/envs/hdbscan/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}

22 | typedef struct _frame PyFrameObject;

  |                ^~~~~~

make[2]: *** [pybindings/CMakeFiles/pyhdbscan.dir/build.make:63: pybindings/CMakeFiles/pyhdbscan.dir/pyhdbscan.cpp.o] Error 1

make[1]: *** [CMakeFiles/Makefile2:187: pybindings/CMakeFiles/pyhdbscan.dir/all] Error 2

make: *** [Makefile:84: all] Error 2

— Reply to this email directly, view it on GitHub https://github.com/wangyiqiu/hdbscan/issues/7#issuecomment-1432124025, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACY5DHIM3IHM4DNE4WN4XTLWXVJA7ANCNFSM6AAAAAAU4QFFHA . You are receiving this because you commented.Message ID: @.***>