wooden-spoon / relational-ERM

Software relating to relational empirical risk minimization
MIT License
17 stars 2 forks source link

Setup.py not compiling on MacOS. #4

Open SrivatsavPyda99 opened 3 years ago

SrivatsavPyda99 commented 3 years ago

Environment information: MacOS Catalina - 10.15.6 conda environment (python 3.6,tensorflow 1.11) gcc-10 (Homebrew GCC 10.2.0) 10.2.0

I'm running setup.py using the command "python setup.py build_ext --inplace"

I then get the following error:

**running build_ext building 'relational_erm.tensorflow_ops._datasets_tensorflow' extension gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/srivatsavpyda/opt/anaconda3/envs/tf2/include -arch x86_64 -I/Users/srivatsavpyda/opt/anaconda3/envs/tf2/include -arch x86_64 -I/Users/srivatsavpyda/opt/anaconda3/envs/tf2/lib/python3.6/site-packages/tensorflow/include -I/Users/srivatsavpyda/opt/anaconda3/envs/tf2/include/python3.6m -c relational_erm/tensorflow_ops/biased_walk_dataset.cpp -o build/temp.macosx-10.7-x86_64-3.6/relational_erm/tensorflow_ops/biased_walk_dataset.o -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 clang: warning: include path for libstdc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] relational_erm/tensorflow_ops/biased_walk_dataset.cpp:1:10: fatal error: 'algorithm' file not found

include

     ^~~~~~~~~~~

1 error generated. error: command 'gcc' failed with exit status 1**

My current understanding is that I have too new a version of gcc installed on my Mac. Is this correct? Has this problem been encountered before?

vveitch commented 3 years ago

@wendazhou any idea?

wendazhou commented 3 years ago

Your installation of gcc is broken in that you have installed the compiler, but not the C++ standard library that comes with GCC. I would recommend using clang on Mac instead (as it is the standard system compiler), which you can for example install through conda (conda install clangxx_osx-64).

Also the current code does not work with tensorflow v2 (the current tensorflow version). I have created a branch tensorflow-v2 which has the ops and tests ported over to the current version of tensorflow, but the training code etc. is not compatible.

Hope it helps.