我使用的系统是manjaro,在尝试pip install magenta-gpu时出现此问题
(magenta) [nano@nano-pc ~]$ pip install python-rtmidi
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting python-rtmidi
Using cached https://pypi.tuna.tsinghua.edu.cn/packages/af/fb/705cbdc6f27bdb428f57f4751034665798ca166fad7acb57a28a148a1549/python-rtmidi-1.3.0.tar.gz
Building wheels for collected packages: python-rtmidi
Building wheel for python-rtmidi (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/nano/miniconda3/envs/magenta/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_p_91_11/python-rtmidi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_p_91_11/python-rtmidi/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 /tmp/pip-wheel-t67qll1z --python-tag cp37
cwd: /tmp/pip-install-_p_91_11/python-rtmidi/
Complete output (29 lines):
Detected JACK version 0.125.
JACK version is recent enough to have 'jack_port_rename' function.
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/release.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/midiutil.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/midiconstants.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/__init__.py -> build/lib.linux-x86_64-3.7/rtmidi
running build_ext
building 'rtmidi._rtmidi' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/src
creating build/temp.linux-x86_64-3.7/src/rtmidi
gcc -pthread -B /home/nano/miniconda3/envs/magenta/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -D__LINUX_ALSA__ -D__UNIX_JACK__ -DJACK_HAS_PORT_RENAME -Isrc/rtmidi -I/home/nano/miniconda3/envs/magenta/include/python3.7m -c src/_rtmidi.cpp -o build/temp.linux-x86_64-3.7/src/_rtmidi.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
gcc -pthread -B /home/nano/miniconda3/envs/magenta/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -D__LINUX_ALSA__ -D__UNIX_JACK__ -DJACK_HAS_PORT_RENAME -Isrc/rtmidi -I/home/nano/miniconda3/envs/magenta/include/python3.7m -c src/rtmidi/RtMidi.cpp -o build/temp.linux-x86_64-3.7/src/rtmidi/RtMidi.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
g++ -pthread -shared -B /home/nano/miniconda3/envs/magenta/compiler_compat -L/home/nano/miniconda3/envs/magenta/lib -Wl,-rpath=/home/nano/miniconda3/envs/magenta/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.7/src/_rtmidi.o build/temp.linux-x86_64-3.7/src/rtmidi/RtMidi.o -lasound -ljack -lpthread -o build/lib.linux-x86_64-3.7/rtmidi/_rtmidi.cpython-37m-x86_64-linux-gnu.so
/home/nano/miniconda3/envs/magenta/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/envs/magenta/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/envs/magenta/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/envs/magenta/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
build/temp.linux-x86_64-3.7/src/_rtmidi.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for python-rtmidi
Running setup.py clean for python-rtmidi
Failed to build python-rtmidi
Installing collected packages: python-rtmidi
Running setup.py install for python-rtmidi ... error
ERROR: Command errored out with exit status 1:
command: /home/nano/miniconda3/envs/magenta/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_p_91_11/python-rtmidi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_p_91_11/python-rtmidi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-i3jlvs0s/install-record.txt --single-version-externally-managed --compile
cwd: /tmp/pip-install-_p_91_11/python-rtmidi/
Complete output (29 lines):
Detected JACK version 0.125.
JACK version is recent enough to have 'jack_port_rename' function.
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/release.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/midiutil.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/midiconstants.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/__init__.py -> build/lib.linux-x86_64-3.7/rtmidi
running build_ext
building 'rtmidi._rtmidi' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/src
creating build/temp.linux-x86_64-3.7/src/rtmidi
gcc -pthread -B /home/nano/miniconda3/envs/magenta/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -D__LINUX_ALSA__ -D__UNIX_JACK__ -DJACK_HAS_PORT_RENAME -Isrc/rtmidi -I/home/nano/miniconda3/envs/magenta/include/python3.7m -c src/_rtmidi.cpp -o build/temp.linux-x86_64-3.7/src/_rtmidi.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
gcc -pthread -B /home/nano/miniconda3/envs/magenta/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -D__LINUX_ALSA__ -D__UNIX_JACK__ -DJACK_HAS_PORT_RENAME -Isrc/rtmidi -I/home/nano/miniconda3/envs/magenta/include/python3.7m -c src/rtmidi/RtMidi.cpp -o build/temp.linux-x86_64-3.7/src/rtmidi/RtMidi.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
g++ -pthread -shared -B /home/nano/miniconda3/envs/magenta/compiler_compat -L/home/nano/miniconda3/envs/magenta/lib -Wl,-rpath=/home/nano/miniconda3/envs/magenta/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.7/src/_rtmidi.o build/temp.linux-x86_64-3.7/src/rtmidi/RtMidi.o -lasound -ljack -lpthread -o build/lib.linux-x86_64-3.7/rtmidi/_rtmidi.cpython-37m-x86_64-linux-gnu.so
/home/nano/miniconda3/envs/magenta/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/envs/magenta/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/envs/magenta/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/envs/magenta/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
build/temp.linux-x86_64-3.7/src/_rtmidi.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /home/nano/miniconda3/envs/magenta/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-_p_91_11/python-rtmidi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-_p_91_11/python-rtmidi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-i3jlvs0s/install-record.txt --single-version-externally-managed --compile Check the logs for full command output.
离线
离线
/home/nano/miniconda3/envs/magenta/compiler_compat/ld 这个是你自己装的?所以你是自己装了个旧的 gcc 编译器,但是 binutils 用的系统的?
那么出现此错误(unable to initialize decompress status for section .debug_info)是意料之中的。
不建议自己另外安装不属于系统的软件,因为大部分想这样做的人都搞不懂系统包管理器到底是干嘛的。而小部分明白系统包管理器干了啥的人,轻易不会想自己再管理一套独立于系统的工具。
所以你还是从 AUR 装吧。
离线
你用的anaconda啊?anaconda不是有它自己的包管理器吗?没有这个包吗?非必要你不要用pip,你都不知道这些“包管理器”之间的关系,它们是干嘛的
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
你用的anaconda啊?anaconda不是有它自己的包管理器吗?没有这个包吗?非必要你不要用pip,你都不知道这些“包管理器”之间的关系,它们是干嘛的
你好,感谢你的建议,anaconda中并没有这个包,所以才从pip安装的。
离线
/home/nano/miniconda3/envs/magenta/compiler_compat/ld 这个是你自己装的?所以你是自己装了个旧的 gcc 编译器,但是 binutils 用的系统的?
那么出现此错误(unable to initialize decompress status for section .debug_info)是意料之中的。不建议自己另外安装不属于系统的软件,因为大部分想这样做的人都搞不懂系统包管理器到底是干嘛的。而小部分明白系统包管理器干了啥的人,轻易不会想自己再管理一套独立于系统的工具。
所以你还是从 AUR 装吧。
你好,感谢你的建议,我尝试了从AUR安装,结果发现不能使用makepkg指令:
(base) [nano@nano-pc python-rtmidi-1.3.0]$ makepkg -si
==> ERROR: PKGBUILD does not exist.
然后我尝试了这个包的官方文档,出现的问题看起来似乎是一样的:
(base) [nano@nano-pc python-rtmidi-1.3.0]$ python setup.py install
Detected JACK version 0.125.
JACK version is recent enough to have 'jack_port_rename' function.
running install
running bdist_egg
running egg_info
writing python_rtmidi.egg-info/PKG-INFO
writing dependency_links to python_rtmidi.egg-info/dependency_links.txt
writing top-level names to python_rtmidi.egg-info/top_level.txt
reading manifest file 'python_rtmidi.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching '.appveyor.yml'
warning: no previously-included files found matching '.travis.yml'
warning: no previously-included files found matching '*.rst.in'
no previously-included directories found matching 'ci'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
writing manifest file 'python_rtmidi.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/midiutil.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/midiconstants.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/release.py -> build/lib.linux-x86_64-3.7/rtmidi
copying rtmidi/__init__.py -> build/lib.linux-x86_64-3.7/rtmidi
running build_ext
building 'rtmidi._rtmidi' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/src
creating build/temp.linux-x86_64-3.7/src/rtmidi
gcc -pthread -B /home/nano/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -D__LINUX_ALSA__ -D__UNIX_JACK__ -DJACK_HAS_PORT_RENAME -Isrc/rtmidi -I/home/nano/miniconda3/include/python3.7m -c src/_rtmidi.cpp -o build/temp.linux-x86_64-3.7/src/_rtmidi.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
gcc -pthread -B /home/nano/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -D__LINUX_ALSA__ -D__UNIX_JACK__ -DJACK_HAS_PORT_RENAME -Isrc/rtmidi -I/home/nano/miniconda3/include/python3.7m -c src/rtmidi/RtMidi.cpp -o build/temp.linux-x86_64-3.7/src/rtmidi/RtMidi.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
g++ -pthread -shared -B /home/nano/miniconda3/compiler_compat -L/home/nano/miniconda3/lib -Wl,-rpath=/home/nano/miniconda3/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.7/src/_rtmidi.o build/temp.linux-x86_64-3.7/src/rtmidi/RtMidi.o -lasound -ljack -lpthread -o build/lib.linux-x86_64-3.7/rtmidi/_rtmidi.cpython-37m-x86_64-linux-gnu.so
/home/nano/miniconda3/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
/home/nano/miniconda3/compiler_compat/ld: build/temp.linux-x86_64-3.7/src/_rtmidi.o: unable to initialize decompress status for section .debug_info
build/temp.linux-x86_64-3.7/src/_rtmidi.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
error: command 'g++' failed with exit status 1
这是我的gcc版本:
(base) [nano@nano-pc python-rtmidi-1.3.0]$ gcc --version
gcc (GCC) 9.1.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
离线
/home/nano/miniconda3/envs/magenta/compiler_compat/ld 这个是你自己装的?所以你是自己装了个旧的 gcc 编译器,但是 binutils 用的系统的?
那么出现此错误(unable to initialize decompress status for section .debug_info)是意料之中的。不建议自己另外安装不属于系统的软件,因为大部分想这样做的人都搞不懂系统包管理器到底是干嘛的。而小部分明白系统包管理器干了啥的人,轻易不会想自己再管理一套独立于系统的工具。
所以你还是从 AUR 装吧。
这个包是谷歌的magenta项目中必须的,似乎想要在arch体验magenta的话就没法不安装这个包,所以前来求助:o
离线
不要在你的 miniconda3 环境里编译呀。说了你那个环境的链接器和 Arch 现在版本的软件不兼容的。
离线
好巧我也有项目用到magenta。
你pip安装的时候调用了系统pip吧,你应该在anaconda的虚拟环境里运行才对。
ecmascript是世界上最好的语言
离线
啊我和仙子的观点不一样,我的做法是是python的东西不要让系统来管理,同时也不要让任何python的东西跑到系统的管辖范围里去,而是要把他们都放到~/,或者/usr/local之类的地方。anaconda大概也是这么做的。
总之,系统的东西不要和自行安装的东西掺和到一起就对了,要么都用系统的,要么都用自己的。
ecmascript是世界上最好的语言
离线
Anaconda这玩意就这么搞的。但是要会用。在环境中安装了部分编译套件就会有这种不兼容现象。本来anaconda中不需要任何的C套件,直接用系统的就好了。
最近编辑记录 xtricman (2019-10-06 11:15:33)
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
啊我和仙子的观点不一样,我的做法是是python的东西不要让系统来管理,同时也不要让任何python的东西跑到系统的管辖范围里去,而是要把他们都放到~/,或者/usr/local之类的地方。anaconda大概也是这么做的。
总之,系统的东西不要和自行安装的东西掺和到一起就对了,要么都用系统的,要么都用自己的。
这样也行。不过显然楼主的 anaconda 在混用自己和系统的组件,才触发了这个 bug。
离线
不要在你的 miniconda3 环境里编译呀。说了你那个环境的链接器和 Arch 现在版本的软件不兼容的。
感谢你的帮助,我退出了conda环境后再进行编译就成功了。现在还有一个问题就是这样安装后,conda环境里的python找不到这个包。。
离线
肯定的呀…你都没在anaconda环境了…说了这么多你也不管。反正就想着解决眼前的问题。也不想为什么。也不想真正需要解决的是不是这个问题。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
依云 说:不要在你的 miniconda3 环境里编译呀。说了你那个环境的链接器和 Arch 现在版本的软件不兼容的。
感谢你的帮助,我退出了conda环境后再进行编译就成功了。现在还有一个问题就是这样安装后,conda环境里的python找不到这个包。。
编译好了扔进去呀……
离线