MacOS에서 rpm5.org에서 RPM 개발 패키지를 설치하려면 homebrew formula이 있어야합니다. 그러나 이것은 명령 행 도구 (rpm, rpmlint, rpmbuild 등) 만 설치하며 지원되는 언어 바인딩은 설치하지 않습니다.MacOS에서 RPM/RPM5 용 Python 언어 바인딩을 사용하려면 어떻게해야합니까?
파스칼 언어 바인딩을 사용하고 싶습니다. 그러나, 나는 그들을 구축하고 나는이 오류 얻을 파이썬 2.7에 rpm 패키지를 가져 오려고 할 때 :
$ python -c "import rpm._rpm"
Traceback (most recent call last):
File "", line 1, in File "/usr/local/lib/python2.7/venv-default/lib/python2.7/site-packages/rpm/init.py", line 7, in from _rpm import * ImportError: dlopen(/usr/local/lib/python2.7/venv-default/lib/python2.7/site-packages/rpm/_rpmmodule.so, 2): Symbol not found: _sqlite3_enable_load_extension Referenced from: /usr/local/Cellar/rpm/5.4.15_1/lib/librpmio-5.4.dylib Expected in: flat namespace in /usr/local/Cellar/rpm/5.4.15_1/lib/librpmio-5.4.dyl
파이썬 바인딩을 구축하기 위해 내가이 명령을 사용하여 사제와 rpm 패키지를 재설치를 :
brew install -v --keep-tmp --build-from-source rpm 2>&1 | tee brew_install.log
cd /tmp/rpm-20170408-18245-1u8nsbs/rpm-5.4.15
./configure --prefix=/usr/local/Cellar/rpm/5.4.15_1 --localstatedir=/usr/local/var --with-path-cfg=/usr/local/etc/rpm --with-path-magic=/usr/local/share/misc/magic --with-path-sources=/usr/local/var/lib/rpmbuild --with-libiconv-prefix=/usr --disable-openmp --disable-nls --disable-dependency-tracking --with-db=external --with-sqlite=external --with-file=external --with-popt=external --with-beecrypt=internal --with-libtasn1=external --with-neon=internal --with-uuid=external --with-pcre=internal --with-lua=internal --with-syck=internal --without-apidocs varprefix=/usr/local/var --with-python
cd python
make
make install
참고 ./configure
명령 브루은 첨부 --with-python
스위치로 사용되는 것과 동일이다.
어떻게 크로스 플랫폼 rpm5.org 기반 소스 코드를 사용하여 MacOS에서 파이썬 언어 개발을 할 수 있습니까?
근처 rpmio/rpmsql.c를 참조하십시오. – pvg