MTG / gaia

C++ library to apply similarity measures and classifications on the results of audio analysis, including Python bindings. Together with Essentia it can be used to compute high-level descriptions of music.
http://essentia.upf.edu
GNU Affero General Public License v3.0
273 stars 66 forks source link

build error while using homebrew #127

Open 5pacedo9 opened 10 months ago

5pacedo9 commented 10 months ago

I'm installing essentia with gaia, while brew install gaia -v, I met this:

==> /opt/homebrew/opt/python@3.8/bin/python3 waf configure --with-python-bindings --prefix=/opt/homebrew/Cellar/gaia/HEAD-0d0942b
Failed to execute: /opt/homebrew/opt/python@3.8/bin/python3
objc[20875]: Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libauthinstall.dylib (0x202d03bc8) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1112b02c8). One of the two will be used. Which one is undefined.
objc[20875]: Class AMSupportURLSession is implemented in both /usr/lib/libauthinstall.dylib (0x202d03c18) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1112b0318). One of the two will be used. Which one is undefined.

==> Formula
Tap: mtg/essentia
Path: /opt/homebrew/Library/Taps/mtg/homebrew-essentia/gaia.rb
==> Configuration
HOMEBREW_VERSION: 4.2.1
ORIGIN: https://mirrors.cloud.tencent.com/homebrew/brew.git
HEAD: 7817518992920b8dbd15e48a5e6c5ad768f4ba8b
Last commit: 3 weeks ago
Core tap JSON: 17 Jan 08:44 UTC
Core cask tap JSON: 17 Jan 08:44 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_API_DOMAIN: https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api
HOMEBREW_BOTTLE_DOMAIN: https://mirrors.ustc.edu.cn/homebrew-bottles
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
HOMEBREW_PIP_INDEX_URL: https://pypi.tuna.tsinghua.edu.cn/simple
HOMEBREW_SORBET_RUNTIME: set
http_proxy: http://localhost:7890
https_proxy: http://localhost:7890
Homebrew Ruby: 3.1.4 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 13.0.0 build 1300
Git: 2.43.0 => /opt/homebrew/bin/git
Curl: 8.1.2 => /usr/bin/curl
macOS: 11.7.10-arm64
CLT: 13.2.0.0.1.1638488800
Xcode: 13.2.1
Rosetta 2: false
==> ENV
HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j8
CMAKE_PREFIX_PATH: /opt/homebrew/opt/readline:/opt/homebrew/opt/sqlite:/opt/homebrew/opt/qt@5:/opt/homebrew
CMAKE_INCLUDE_PATH: /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
CMAKE_FRAMEWORK_PATH: /opt/homebrew/opt/python@3.8/Frameworks:/opt/homebrew/opt/qt@5/Frameworks
PKG_CONFIG_PATH: /opt/homebrew/opt/openssl@3/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig:/opt/homebrew/opt/sqlite/lib/pkgconfig:/opt/homebrew/opt/tcl-tk/lib/pkgconfig:/opt/homebrew/opt/xz/lib/pkgconfig:/opt/homebrew/opt/python@3.8/lib/pkgconfig:/opt/homebrew/opt/pcre2/lib/pkgconfig:/opt/homebrew/opt/libyaml/lib/pkgconfig:/opt/homebrew/opt/libpng/lib/pkgconfig:/opt/homebrew/opt/freetype/lib/pkgconfig:/opt/homebrew/opt/glib/lib/pkgconfig:/opt/homebrew/opt/jpeg-turbo/lib/pkgconfig:/opt/homebrew/opt/lz4/lib/pkgconfig:/opt/homebrew/opt/zstd/lib/pkgconfig:/opt/homebrew/opt/libtiff/lib/pkgconfig:/opt/homebrew/opt/webp/lib/pkgconfig:/opt/homebrew/opt/qt@5/lib/pkgconfig:/opt/homebrew/opt/eigen/share/pkgconfig
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/opt/homebrew/Library/Homebrew/os/mac/pkgconfig/11
HOMEBREW_GIT: git
HOMEBREW_SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk
ACLOCAL_PATH: /opt/homebrew/share/aclocal
PATH: /opt/homebrew/Library/Homebrew/shims/mac/super:/opt/homebrew/opt/pkg-config/bin:/opt/homebrew/opt/gdbm/bin:/opt/homebrew/opt/openssl@3/bin:/opt/homebrew/opt/sqlite/bin:/opt/homebrew/opt/tcl-tk/bin:/opt/homebrew/opt/xz/bin:/opt/homebrew/opt/python@3.8/bin:/opt/homebrew/opt/pcre2/bin:/opt/homebrew/opt/swig/bin:/opt/homebrew/opt/libpng/bin:/opt/homebrew/opt/freetype/bin:/opt/homebrew/opt/gettext/bin:/opt/homebrew/opt/glib/bin:/opt/homebrew/opt/jpeg-turbo/bin:/opt/homebrew/opt/giflib/bin:/opt/homebrew/opt/lz4/bin:/opt/homebrew/opt/zstd/bin:/opt/homebrew/opt/libtiff/bin:/opt/homebrew/opt/webp/bin:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/python@3.8/libexec/bin:/usr/bin:/bin:/usr/sbin:/sbin

Error: mtg/essentia/gaia HEAD-0d0942b did not build
Logs:
     /Users/5pacedo9/Library/Logs/Homebrew/gaia/00.options.out
     /Users/5pacedo9/Library/Logs/Homebrew/gaia/01.python3
Do not report this issue to Homebrew/brew or Homebrew/homebrew-core!

These open issues may also help:
gaia tap depends on python 2 https://github.com/MTG/homebrew-essentia/issues/23
essentia installs fine, but gaia fails https://github.com/MTG/homebrew-essentia/issues/22
Update gaia2 formula once new gaia 2.4.7 is released https://github.com/MTG/homebrew-essentia/issues/31

env: MacOS 11.7.10, M1 chip There's more than one versions of python on my Mac, 3.8, 3.9, 3.11, 3.12(installed by homebrew), and another 3.11 installed by anaconda. My $PATH: /Users/5pacedo9/anaconda3/bin:/Users/5pacedo9/anaconda3/condabin://Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Library/Apple/usr/bin:/Applications/Wireshark.app/Contents/MacOS:.:/usr/local/mysql/bin According to the log, Failed to execute: /opt/homebrew/opt/python@3.8/bin/python3, there's no python3 in the dir, so I manually copied a python3.8(which was installed by homebrew and was also a dependency of gaia according to brew info) to the expected dir. However, after doing this, I still got the same error. As to the

objc[20875]: Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libauthinstall.dylib (0x202d03bc8) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1112b02c8). One of the two will be used. Which one is undefined.
objc[20875]: Class AMSupportURLSession is implemented in both /usr/lib/libauthinstall.dylib (0x202d03c18) and /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x1112b0318). One of the two will be used. Which one is undefined.

, I have no idea how to solve this.

5pacedo9 commented 10 months ago

Well, after using ln -s /opt/homebrew/opt/python@3.8/bin/python3.8 /opt/homebrew/opt/python@3.8/bin/python3, the error was gone, but new error comes


==> Installing gaia from mtg/essentia
/usr/bin/env tar --extract --no-same-owner --file /Users/5pacedo9/Library/Caches/Homebrew/downloads/1cbcb6e389d8f4d52cd3a3a31989443d3a5f4b6a29e4443e3b3bfd6f14d7245d--v2.4.6.tar.gz --directory /private/tmp/d20240118-19055-4sv8ao
/usr/bin/env cp -pR /private/tmp/d20240118-19055-4sv8ao/gaia-2.4.6/. /private/tmp/gaia-20240118-19055-b9vej7/gaia-2.4.6
==> /opt/homebrew/opt/python@3.8/bin/python3 waf configure --with-python-bindings --prefix=/opt/homebrew/Cellar/gaia/2.4.6
Waf: The wscript in '/private/tmp/gaia-20240118-19055-b9vej7/gaia-2.4.6' is unreadable
Traceback (most recent call last):
  File "/private/tmp/gaia-20240118-19055-b9vej7/gaia-2.4.6/.waf3-1.8.21-71bc2f1f9d6d313df7b3e05a55143f91/waflib/Scripting.py", line 104, in waf_entry_point
    set_main_module(os.path.normpath(os.path.join(Context.run_dir,Context.WSCRIPT_FILE)))
  File "/private/tmp/gaia-20240118-19055-b9vej7/gaia-2.4.6/.waf3-1.8.21-71bc2f1f9d6d313df7b3e05a55143f91/waflib/Scripting.py", line 129, in set_main_module
    Context.g_module=Context.load_module(file_path)
  File "/private/tmp/gaia-20240118-19055-b9vej7/gaia-2.4.6/.waf3-1.8.21-71bc2f1f9d6d313df7b3e05a55143f91/waflib/Context.py", line 354, in load_module
    try:exec(compile(code,path,'exec'),module.__dict__)
  File "/private/tmp/gaia-20240118-19055-b9vej7/gaia-2.4.6/wscript", line 15
    except Exception, e:
                    ^
SyntaxError: invalid syntax