Beagle Bone Black Rev B에 Debian Lenny를 설치했습니다. 저는 이 웹페이지에 제공된 대략적인 단계를 따랐습니다.https://learn.adafruit.com/character-lcd-with-raspberry-pi-or-beaglebone-black/usage. 설치 지점에 도달하여 "sudo pip install Adafruit_BBIO" 명령을 실행할 수 있었습니다. 그러나 이 명령을 실행한 후에는 다음과 같은 오류가 발생합니다.
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-gkkzPQ/Adafruit-BBIO/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-9dhrYO-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip-build-gkkzPQ/Adafruit-BBIO
Storing debug log for failure in /root/.pip/pip.log
나는 이 문제를 극복할 수 없으며 여기 누군가가 이 문제를 해결할 수 있는 올바른 방향을 알려줄 수 있기를 바랍니다. 나는 예제 중 하나를 실행하여 일종의 "테스트"를 수행했습니다. 16x2 HD44780 LCD의 BeagleBoards 구성과 일치하도록 수정한 후 실행 시 다음을 반환합니다.
debian@beaglebone:~/Adafruit_Python_CharLCD/examples$ python char_lcd.py
Traceback (most recent call last):
File "char_lcd.py", line 6, in <module>
import Adafruit_CharLCD as LCD
File "build/bdist.linux-armv7l/egg/Adafruit_CharLCD/__init__.py", line 1, in <module>
File "build/bdist.linux-armv7l/egg/Adafruit_CharLCD/Adafruit_CharLCD.py", line 89, in <module>
File "build/bdist.linux-armv7l/egg/Adafruit_CharLCD/Adafruit_CharLCD.py", line 95, in Adafruit_CharLCD
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/GPIO.py", line 321, in get_platform_gpio
ImportError: No module named Adafruit_BBIO.GPIO
/root/.pip/pip.log의 내용은 여기에 있습니다.http://pastebin.com/atsCp6xu
답변1
로그의 202행에 문제가 명확하게 표시됩니다.
source/common.c:385:5: error: format not a string literal and no format argumes [-Werror=format-security]
fprintf(file, name);
^
컴파일러는 형식화되지 않은 문자열을 printf에 전달하는 안전하지 않은 구문을 발견했습니다. 이에 대한 두 가지 해결책이 있습니다. 컴파일러에게 이것이 문제가 아니라고 알리거나 수정하는 것입니다.
fprintf(file, "%s", name);
주의가 필요한 다른 경고도 있으며, 이 문제를 해결한 후에 다른 오류가 나타날 수 있습니다.