회사일/STLinux2010. 2. 23. 20:27

File "/usr/local/lib/python2.4/random.py", line 68, in ?
import _random
ImportError: /usr/local/lib/python2.4/lib-dynload/_random.so: undefined symbol: _PyArg_NoKeywords

요런 에러를 뱉어주시길래
먼가해서 한참을 골머리를 데굴데굴 굴려보았는데..

STLinux2.3 패키지에서
그냥 /usr/lib/python2.4 하위 폴더를 전부 교체 해주면된다.

아무래도 다른 버전과 꼬이거나 _error.so 파일에서 엉긴듯
(다른 이야기는 2.3과 2.4가 중복설치되면 그럴수도 있다고 한다.)
(이유는 모르겠지만, 2.4가 제대로 작동되는 기본 STLinux2.3 타켓에서는 _error.so가 발견되지 않았다.)



_error.so 를 해결하니, gdata 테스트에서

  File "/usr/lib/python2.4/site-packages/gdata/tlslite/utils/cryptomath.py", line 13, in ?
    from hashlib import sha1
ImportError: No module named hashlib

에러를 뱉어주신다. (뭥미!)
또 검색해보니, python2.5 용으로 추측되며 2.4용으로 backporting 된것이 존재한다고 한다.
문제는, 험난한... 컴파일의 벽 OTL python이 제대로 크로스컴파일 안된건지(ST 죽을래?)
gcc로 하려고 에러가 난다. 심볼릭 링크 걸고 하려니 산넘어 산..
그냥 풀 타겟에서 크로스컴파일 해서 넘기자 ㄱ-

# python setup.py install
Using OpenSSL version 0x0090800f from
 Headers:       /usr/include
 Library:       /usr/lib/libssl.so
running install
running build
running build_py
running build_ext
building '_hashlib' extension
gcc -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/include -I/usr/include/python2.4 -c Modules/_hashopenssl.c -o build/temp.
linux-sh4-2.4/Modules/_hashopenssl.o
gcc -shared build/temp.linux-sh4-2.4/Modules/_hashopenssl.o -L/usr/lib -lssl -lcrypto -o build/lib.linux-sh4-2.4/_hashlib.so
running install_lib
copying build/lib.linux-sh4-2.4/_hashlib.so -> /usr/lib/python2.4/site-packages
copying build/lib.linux-sh4-2.4/hashlib.py -> /usr/lib/python2.4/site-packages
byte-compiling /usr/lib/python2.4/site-packages/hashlib.py to hashlib.pyc

[링크 : http://trac.calendarserver.org/ticket/292]
[링크 : http://code.krypto.org/python/hashlib/] << 요기서 다운로드
Posted by 구차니