2

我一直在尝试在 conda 环境中的我的 mac(BigSur,M1 Mac)上安装 pyv8。在花了一整天解决依赖关系之后,我陷入了 GCC 编译失败的困境。我附上了下面的日志,有人可以帮我解决这个问题吗?

在此之前我遇到的先前错误是未找到 v8.h。我通过将 python 设置完全迁移到 conda 解决了这些问题,使用 python3.8 创建了一个全新的环境,并使用 conda-forge 安装了 boost 和 libv8。

> pip install pyv8
Collecting pyv8
  Using cached PyV8-0.5.zip (22 kB)
Building wheels for collected packages: pyv8
  Building wheel for pyv8 (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/anaconda3/envs/r_app/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-install-0gsn8ct1/pyv8_4bed40de7c494760a0da210c69a5782d/setup.py'"'"'; __file__='"'"'/private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-install-0gsn8ct1/pyv8_4bed40de7c494760a0da210c69a5782d/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-wheel-6sf_oi7w
       cwd: /private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-install-0gsn8ct1/pyv8_4bed40de7c494760a0da210c69a5782d/
  Complete output (120 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.9-x86_64-3.8
  copying PyV8.py -> build/lib.macosx-10.9-x86_64-3.8
  running build_ext
  building '_PyV8' extension
  creating build/temp.macosx-10.9-x86_64-3.8
  creating build/temp.macosx-10.9-x86_64-3.8/src
  gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/anaconda3/envs/r_app/include -arch x86_64 -I/usr/local/anaconda3/envs/r_app/include -arch x86_64 -DBOOST_PYTHON_STATIC_LIB -Ilib/python/inc -Ilib/boost/inc -Ilib/v8/inc -I/usr/local/anaconda3/envs/r_app/include/python3.8 -c src/Exception.cpp -o build/temp.macosx-10.9-x86_64-3.8/src/Exception.o
  In file included from src/Exception.cpp:1:
  In file included from src/Exception.h:6:
  In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:29:
  /usr/local/anaconda3/envs/r_app/include/cppgc/common.h:14:6: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
  enum class EmbedderStackState {
       ^
  In file included from src/Exception.cpp:1:
  In file included from src/Exception.h:6:
  In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:51:1: error: unknown type name 'constexpr'
  constexpr intptr_t kIntptrAllBitsSet = intptr_t{-1};
  ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:51:19: error: expected ';' after top level declarator
  constexpr intptr_t kIntptrAllBitsSet = intptr_t{-1};
                    ^
                    ;
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:52:1: error: unknown type name 'constexpr'
  constexpr uintptr_t kUintptrAllBitsSet =
  ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:52:20: error: expected ';' after top level declarator
  constexpr uintptr_t kUintptrAllBitsSet =
                     ^
                     ;
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:60:10: error: unknown type name 'constexpr'
    static constexpr intptr_t kSmiMinValue =
           ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:60:28: error: expected ';' at end of declaration list
    static constexpr intptr_t kSmiMinValue =
                             ^
                             ;
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:62:10: error: unknown type name 'constexpr'
    static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1);
           ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:62:28: error: expected ';' at end of declaration list
    static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1);
                             ^
                             ;
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:69:20: error: unknown type name 'constexpr'
    V8_INLINE static constexpr bool IsValidSmi(intptr_t value) {
                     ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:69:46: error: unknown type name 'intptr_t'; did you mean '::intptr_t'?
    V8_INLINE static constexpr bool IsValidSmi(intptr_t value) {
                                               ^~~~~~~~
                                               ::intptr_t
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h:32:33: note: '::intptr_t' declared here
  typedef __darwin_intptr_t       intptr_t;
                                  ^
  In file included from src/Exception.cpp:1:
  In file included from src/Exception.h:6:
  In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:73:25: error: unknown type name 'uintptr_t'; did you mean '::uintptr_t'?
      return (static_cast<uintptr_t>(value) -
                          ^~~~~~~~~
                          ::uintptr_t
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h:30:33: note: '::uintptr_t' declared here
  typedef unsigned long           uintptr_t;
                                  ^
  In file included from src/Exception.cpp:1:
  In file included from src/Exception.h:6:
  In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:74:25: error: unknown type name 'uintptr_t'; did you mean '::uintptr_t'?
              static_cast<uintptr_t>(kSmiMinValue)) <=
                          ^~~~~~~~~
                          ::uintptr_t
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h:30:33: note: '::uintptr_t' declared here
  typedef unsigned long           uintptr_t;
                                  ^
  In file included from src/Exception.cpp:1:
  In file included from src/Exception.h:6:
  In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:75:25: error: unknown type name 'uintptr_t'; did you mean '::uintptr_t'?
             (static_cast<uintptr_t>(kSmiMaxValue) -
                          ^~~~~~~~~
                          ::uintptr_t
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h:30:33: note: '::uintptr_t' declared here
  typedef unsigned long           uintptr_t;
                                  ^
  In file included from src/Exception.cpp:1:
  In file included from src/Exception.h:6:
  In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:76:25: error: unknown type name 'uintptr_t'; did you mean '::uintptr_t'?
              static_cast<uintptr_t>(kSmiMinValue));
                          ^~~~~~~~~
                          ::uintptr_t
  /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h:30:33: note: '::uintptr_t' declared here
  typedef unsigned long           uintptr_t;
                                  ^
  In file included from src/Exception.cpp:1:
  In file included from src/Exception.h:6:
  In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:74:36: error: use of undeclared identifier 'kSmiMinValue'
              static_cast<uintptr_t>(kSmiMinValue)) <=
                                     ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:75:36: error: use of undeclared identifier 'kSmiMaxValue'
             (static_cast<uintptr_t>(kSmiMaxValue) -
                                     ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:76:36: error: use of undeclared identifier 'kSmiMinValue'
              static_cast<uintptr_t>(kSmiMinValue));
                                     ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:85:10: error: unknown type name 'constexpr'
    static constexpr intptr_t kSmiMinValue =
           ^
  /usr/local/anaconda3/envs/r_app/include/v8-internal.h:85:28: error: expected ';' at end of declaration list
    static constexpr intptr_t kSmiMinValue =
                             ^
                             ;
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  1 warning and 20 errors generated.
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for pyv8
  Running setup.py clean for pyv8
Failed to build pyv8
Installing collected packages: pyv8
    Running setup.py install for pyv8 ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/local/anaconda3/envs/r_app/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-install-0gsn8ct1/pyv8_4bed40de7c494760a0da210c69a5782d/setup.py'"'"'; __file__='"'"'/private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-install-0gsn8ct1/pyv8_4bed40de7c494760a0da210c69a5782d/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-record-mu0oxv49/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/anaconda3/envs/r_app/include/python3.8/pyv8
         cwd: /private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-install-0gsn8ct1/pyv8_4bed40de7c494760a0da210c69a5782d/
    Complete output (120 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.9-x86_64-3.8
    copying PyV8.py -> build/lib.macosx-10.9-x86_64-3.8
    running build_ext
    building '_PyV8' extension
    creating build/temp.macosx-10.9-x86_64-3.8
    creating build/temp.macosx-10.9-x86_64-3.8/src
    gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/anaconda3/envs/r_app/include -arch x86_64 -I/usr/local/anaconda3/envs/r_app/include -arch x86_64 -DBOOST_PYTHON_STATIC_LIB -Ilib/python/inc -Ilib/boost/inc -Ilib/v8/inc -I/usr/local/anaconda3/envs/r_app/include/python3.8 -c src/Exception.cpp -o build/temp.macosx-10.9-x86_64-3.8/src/Exception.o
    In file included from src/Exception.cpp:1:
    In file included from src/Exception.h:6:
    In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:29:
    /usr/local/anaconda3/envs/r_app/include/cppgc/common.h:14:6: warning: scoped enumerations are a C++11 extension [-Wc++11-extensions]
    enum class EmbedderStackState {
         ^
    In file included from src/Exception.cpp:1:
    In file included from src/Exception.h:6:
    In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:51:1: error: unknown type name 'constexpr'
    constexpr intptr_t kIntptrAllBitsSet = intptr_t{-1};
    ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:51:19: error: expected ';' after top level declarator
    constexpr intptr_t kIntptrAllBitsSet = intptr_t{-1};
                      ^
                      ;
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:52:1: error: unknown type name 'constexpr'
    constexpr uintptr_t kUintptrAllBitsSet =
    ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:52:20: error: expected ';' after top level declarator
    constexpr uintptr_t kUintptrAllBitsSet =
                       ^
                       ;
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:60:10: error: unknown type name 'constexpr'
      static constexpr intptr_t kSmiMinValue =
             ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:60:28: error: expected ';' at end of declaration list
      static constexpr intptr_t kSmiMinValue =
                               ^
                               ;
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:62:10: error: unknown type name 'constexpr'
      static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1);
             ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:62:28: error: expected ';' at end of declaration list
      static constexpr intptr_t kSmiMaxValue = -(kSmiMinValue + 1);
                               ^
                               ;
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:69:20: error: unknown type name 'constexpr'
      V8_INLINE static constexpr bool IsValidSmi(intptr_t value) {
                       ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:69:46: error: unknown type name 'intptr_t'; did you mean '::intptr_t'?
      V8_INLINE static constexpr bool IsValidSmi(intptr_t value) {
                                                 ^~~~~~~~
                                                 ::intptr_t
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h:32:33: note: '::intptr_t' declared here
    typedef __darwin_intptr_t       intptr_t;
                                    ^
    In file included from src/Exception.cpp:1:
    In file included from src/Exception.h:6:
    In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:73:25: error: unknown type name 'uintptr_t'; did you mean '::uintptr_t'?
        return (static_cast<uintptr_t>(value) -
                            ^~~~~~~~~
                            ::uintptr_t
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h:30:33: note: '::uintptr_t' declared here
    typedef unsigned long           uintptr_t;
                                    ^
    In file included from src/Exception.cpp:1:
    In file included from src/Exception.h:6:
    In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:74:25: error: unknown type name 'uintptr_t'; did you mean '::uintptr_t'?
                static_cast<uintptr_t>(kSmiMinValue)) <=
                            ^~~~~~~~~
                            ::uintptr_t
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h:30:33: note: '::uintptr_t' declared here
    typedef unsigned long           uintptr_t;
                                    ^
    In file included from src/Exception.cpp:1:
    In file included from src/Exception.h:6:
    In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:75:25: error: unknown type name 'uintptr_t'; did you mean '::uintptr_t'?
               (static_cast<uintptr_t>(kSmiMaxValue) -
                            ^~~~~~~~~
                            ::uintptr_t
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h:30:33: note: '::uintptr_t' declared here
    typedef unsigned long           uintptr_t;
                                    ^
    In file included from src/Exception.cpp:1:
    In file included from src/Exception.h:6:
    In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:76:25: error: unknown type name 'uintptr_t'; did you mean '::uintptr_t'?
                static_cast<uintptr_t>(kSmiMinValue));
                            ^~~~~~~~~
                            ::uintptr_t
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_uintptr_t.h:30:33: note: '::uintptr_t' declared here
    typedef unsigned long           uintptr_t;
                                    ^
    In file included from src/Exception.cpp:1:
    In file included from src/Exception.h:6:
    In file included from /usr/local/anaconda3/envs/r_app/include/v8.h:30:
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:74:36: error: use of undeclared identifier 'kSmiMinValue'
                static_cast<uintptr_t>(kSmiMinValue)) <=
                                       ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:75:36: error: use of undeclared identifier 'kSmiMaxValue'
               (static_cast<uintptr_t>(kSmiMaxValue) -
                                       ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:76:36: error: use of undeclared identifier 'kSmiMinValue'
                static_cast<uintptr_t>(kSmiMinValue));
                                       ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:85:10: error: unknown type name 'constexpr'
      static constexpr intptr_t kSmiMinValue =
             ^
    /usr/local/anaconda3/envs/r_app/include/v8-internal.h:85:28: error: expected ';' at end of declaration list
      static constexpr intptr_t kSmiMinValue =
                               ^
                               ;
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    1 warning and 20 errors generated.
    error: command 'gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/anaconda3/envs/r_app/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-install-0gsn8ct1/pyv8_4bed40de7c494760a0da210c69a5782d/setup.py'"'"'; __file__='"'"'/private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-install-0gsn8ct1/pyv8_4bed40de7c494760a0da210c69a5782d/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/ds/s560l9211jjcmtngt3mjx91w0000gp/T/pip-record-mu0oxv49/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/anaconda3/envs/r_app/include/python3.8/pyv8 Check the logs for full command output.
4

0 回答 0