grab-site
grab-site copied to clipboard
fb-re2 dependency clang compile error on macOS Sonoma
Installing on macOS Sonoma according to the instructions. Clang compile failed on fb-re2
dependancy. Probably it tries to download latest release which is broken. Dependencies should be pinned to a working version.
- Sonoma 14.2
- Apple clang version 15.0.0 (clang-1500.1.0.2.5)
- Homebrew Python 3.8
DEPRECATION: fb-re2 is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
Running setup.py install for fb-re2 ... error
error: subprocess-exited-with-error
× Running setup.py install for fb-re2 did not run successfully.
│ exit code: 1
╰─> [110 lines of output]
running install
running build
running build_py
creating build
creating build/lib.macosx-14-x86_64-3.8
copying re2.py -> build/lib.macosx-14-x86_64-3.8
running build_ext
building '_re2' extension
creating build/temp.macosx-14-x86_64-3.8
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -I/usr/local/include -I/usr/local/opt/openssl@3/include -I/usr/local/opt/sqlite/include -I/usr/local/opt/tcl-tk/include/tcl-tk -I/Users/jerry/workspaces/grab-site/venv/include -I/usr/local/Cellar/[email protected]/3.8.18_1/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c _re2.cc -o build/temp.macosx-14-x86_64-3.8/_re2.o -std=c++11
In file included from _re2.cc:37:
In file included from /usr/local/include/re2/re2.h:222:
In file included from /usr/local/include/absl/base/call_once.h:34:
In file included from /usr/local/include/absl/base/internal/invoke.h:40:
In file included from /usr/local/include/absl/base/config.h:86:
/usr/local/include/absl/base/policy_checks.h:79:2: error: "C++ versions less than C++14 are not supported."
#error "C++ versions less than C++14 are not supported."
^
In file included from _re2.cc:37:
In file included from /usr/local/include/re2/re2.h:224:
In file included from /usr/local/include/absl/types/optional.h:39:
/usr/local/include/absl/utility/utility.h:164:12: error: no member named 'in_place_t' in namespace 'std'
using std::in_place_t;
~~~~~^
/usr/local/include/absl/utility/utility.h:165:12: error: no member named 'in_place' in namespace 'std'
using std::in_place;
~~~~~^
/usr/local/include/absl/utility/utility.h:181:12: error: no member named 'in_place_type' in namespace 'std'
using std::in_place_type;
~~~~~^
/usr/local/include/absl/utility/utility.h:182:12: error: no member named 'in_place_type_t' in namespace 'std'
using std::in_place_type_t;
~~~~~^
/usr/local/include/absl/utility/utility.h:198:12: error: no member named 'in_place_index' in namespace 'std'
using std::in_place_index;
~~~~~^
/usr/local/include/absl/utility/utility.h:199:12: error: no member named 'in_place_index_t' in namespace 'std'
using std::in_place_index_t;
~~~~~^
In file included from _re2.cc:37:
In file included from /usr/local/include/re2/re2.h:224:
/usr/local/include/absl/types/optional.h:48:12: error: no member named 'optional' in namespace 'std'
using std::optional;
~~~~~^
/usr/local/include/absl/types/optional.h:49:12: error: no member named 'make_optional' in namespace 'std'
using std::make_optional;
~~~~~^
/usr/local/include/absl/types/optional.h:50:12: error: no member named 'nullopt_t' in namespace 'std'; did you mean 'nullptr_t'?
using std::nullopt_t;
~~~~~^~~~~~~~~
nullptr_t
/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/c++/v1/cstddef:59:9: note: 'nullptr_t' declared here
using ::nullptr_t;
^
In file included from _re2.cc:37:
In file included from /usr/local/include/re2/re2.h:224:
/usr/local/include/absl/types/optional.h:51:12: error: no member named 'nullopt' in namespace 'std'
using std::nullopt;
~~~~~^
In file included from _re2.cc:37:
/usr/local/include/re2/re2.h:844:46: error: no member named 'optional' in namespace 'absl'
template <typename T> struct Parse3ary<absl::optional<T>> : public Parse3ary<T> {};
~~~~~~^
/usr/local/include/re2/re2.h:844:55: error: 'T' does not refer to a value
template <typename T> struct Parse3ary<absl::optional<T>> : public Parse3ary<T> {};
^
/usr/local/include/re2/re2.h:844:20: note: declared here
template <typename T> struct Parse3ary<absl::optional<T>> : public Parse3ary<T> {};
^
/usr/local/include/re2/re2.h:844:57: error: expected unqualified-id
template <typename T> struct Parse3ary<absl::optional<T>> : public Parse3ary<T> {};
^
/usr/local/include/re2/re2.h:845:46: error: no member named 'optional' in namespace 'absl'
template <typename T> struct Parse4ary<absl::optional<T>> : public Parse4ary<T> {};
~~~~~~^
/usr/local/include/re2/re2.h:845:55: error: 'T' does not refer to a value
template <typename T> struct Parse4ary<absl::optional<T>> : public Parse4ary<T> {};
^
/usr/local/include/re2/re2.h:845:20: note: declared here
template <typename T> struct Parse4ary<absl::optional<T>> : public Parse4ary<T> {};
^
/usr/local/include/re2/re2.h:845:57: error: expected unqualified-id
template <typename T> struct Parse4ary<absl::optional<T>> : public Parse4ary<T> {};
^
/usr/local/include/re2/re2.h:848:45: error: no template named 'optional' in namespace 'absl'
bool Parse(const char* str, size_t n, absl::optional<T>* dest) {
~~~~~~^
/usr/local/include/re2/re2.h:864:45: error: no template named 'optional' in namespace 'absl'
bool Parse(const char* str, size_t n, absl::optional<T>* dest, int radix) {
~~~~~~^
_re2.cc:211:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
PyObject_HEAD_INIT(NULL)
^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/[email protected]/3.8.18_1/Frameworks/Python.framework/Versions/3.8/include/python3.8/object.h:85:5: note: expanded from macro 'PyObject_HEAD_INIT'
1, type },
^~~~~~~
_re2.cc:255:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
PyObject_HEAD_INIT(NULL)
^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/[email protected]/3.8.18_1/Frameworks/Python.framework/Versions/3.8/include/python3.8/object.h:85:5: note: expanded from macro 'PyObject_HEAD_INIT'
1, type },
^~~~~~~
_re2.cc:299:3: warning: suggest braces around initialization of subobject [-Wmissing-braces]
PyObject_HEAD_INIT(NULL)
^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/[email protected]/3.8.18_1/Frameworks/Python.framework/Versions/3.8/include/python3.8/object.h:85:5: note: expanded from macro 'PyObject_HEAD_INIT'
1, type },
^~~~~~~
3 warnings and 19 errors generated.
error: command 'clang' failed with exit status 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> fb-re2
I’m experiencing the same error.
Running setup.py install for fb-re2 ... error
error: subprocess-exited-with-error
× Running setup.py install for fb-re2 did not run successfully.
│ exit code: 1
╰─> [15 lines of output]
running install
running build
running build_py
creating build
creating build/lib.macosx-14.0-arm64-3.7
copying re2.py -> build/lib.macosx-14.0-arm64-3.7
running build_ext
building '_re2' extension
creating build/temp.macosx-14.0-arm64-3.7
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Users/ksykes/gs-venv/include -I/Users/ksykes/.pyenv/versions/3.7.16/include/python3.7m -c _re2.cc -o build/temp.macosx-14.0-arm64-3.7/_re2.o -std=c++11
_re2.cc:37:10: fatal error: 're2/re2.h' file not found
#include <re2/re2.h>
^~~~~~~~~~~
1 error generated.
error: command 'clang' failed with exit status 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> fb-re2
note: This is an issue with the package mentioned above, not pip.
What is the best way to fix this?
@xor-gate and @ksykes , please try once more and see if your compilation errors persist. https://github.com/ArchiveTeam/grab-site/pull/240 has been merged in to switch to the mainline release on re2 bindings.