簡體   English   中英

無法安裝rpi_ws281x“錯誤:命令'gcc'失敗,退出狀態為1”

[英]Can't install rpi_ws281x “error: command 'gcc' failed with exit status 1”

我正在嘗試在我的Raspberry Pi A +上安裝Neopixels庫。 起初我做了這個,並試圖運行代碼,但它不起作用。 我再次重新安裝Raspbian並仔細安裝了標頭和庫我得到了這個:

> Downloading https://pypi.python.org/…/s…/s/setuptools/setuptools-5.7.zip
Extracting in /tmp/tmpkD2xEW
Now working in /tmp/tmpkD2xEW/setuptools-5.7
Building a Setuptools egg in /home/pi/rpi_ws281x/python
/home/pi/rpi_ws281x/python/setuptools-5.7-py2.7.egg
running install
running bdist_egg
running egg_info
creating rpi_ws281x.egg-info
writing rpi_ws281x.egg-info/PKG-INFO
writing top-level names to rpi_ws281x.egg-info/top_level.txt
writing dependency_links to rpi_ws281x.egg-info/dependency_links.txt
writing manifest file 'rpi_ws281x.egg-info/SOURCES.txt'
reading manifest file 'rpi_ws281x.egg-info/SOURCES.txt'
writing manifest file 'rpi_ws281x.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv6l/egg
running install_lib
running build_py
creating build
creating build/lib.linux-armv6l-2.7
copying neopixel.py -> build/lib.linux-armv6l-2.7
running build_ext
building '_rpi_ws281x' extension
swigging rpi_ws281x.i to rpi_ws281x_wrap.c
swig -python -o rpi_ws281x_wrap.c rpi_ws281x.i
creating build/temp.linux-armv6l-2.7
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c rpi_ws281x_wrap.c -o build/temp.linux-armv6l-2.7/rpi_ws281x_wrap.o
rpi_ws281x_wrap.c: In function ‘init_rpi_ws281x’:
rpi_ws281x_wrap.c:4638:21: warning: variable ‘md’ set but not used [-Wunused-but-set-variable]
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-armv6l-2.7/rpi_ws281x_wrap.o -L../. -lws2811 -o build/lib.linux-armv6l-2.7/_rpi_ws281x.so
/usr/bin/ld: cannot find -lws2811
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

我看到了一些關於這個問題的問題:“安裝libevent-dev”它沒有用。

剛剛遇到這個問題,即使這個問題已經過去了,我還是認為我已經把這個答案放在了那些偶然發現這個問題的人身上。 機會是,如果你在這里,那么你正在做這個 該問題的實際解決方案是您忘記在rpi_ws281x目錄中運行命令“scons”,該目錄將下載您需要的更多依賴項,包括OP所引用的缺少的ws2811庫。 不小心自己跳過了那一步:p。

 /usr/bin/ld: cannot find -lws2811 collect2: ld returned 1 exit status 

這是真正的錯誤。 collect2是編譯階段ld的包裝腳本。 cannot find -lws2811意味着無論您嘗試編譯什么,都嘗試鏈接libws2811 ,並且鏈接器無法找到該庫來解析未定義的引用。

因此,無論您嘗試做什么,都要嘗試找出如何安裝缺少的庫。 嘗試從此處下載庫,並在嘗試運行安裝腳本之前將LD_LIBRARY_PATH設置為指向保存該文件的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM