배경, Python에서 Kinect 카메라를 사용하려고 합니다.
Ubuntu 12.04에서 freenect(수동 설치)를 시도하면 정의되지 않은 libusb_get_parent에 대한 불만이 표시됩니다.
그러나 Ubuntu 14.04에서는 잘 실행됩니다.
다음으로 Raspberry PI로 이동하여 수동 설치를 시도했습니다. 주사위가 없습니다. libusb_get_parent와 동일한 불만 사항입니다.
그래서 나는 업데이트, 업그레이드, dist-업그레이드, 주사위 없음을 적절하게 얻습니다. 나는 libusb-dev와 다양한 것들을 얻으려고 노력했습니다.
dpkg -s libusb-1.0-0-dev
Ubuntu 12.02에서도 동일한 작업을 수행했습니다 . 사용한다고 하네요
Source: libusb-1.0
Version: 2:1.0.9~rc3-2ubuntu1
Ubuntu 14.04에서는 다음과 같이 말합니다.
Source: libusbx
Version: 2:1.0.17-1ubuntu2
마지막으로 Raspberry PI는 다음과 같습니다.
Source: libusbx
Version: 2:1.0.11-1
그래서 저는 Raspberry PI에 최신 버전의 libusbx를 설치할 수 있다면 적어도 조금 더 발전해야 한다고 생각했습니다.
여기에서 최신 libusbx를 다운로드했습니다(http://sourceforge.net/projects/libusbx/files/releases/1.0.18/source/)
그런 다음 다음을 수행했습니다.
$ sudo su
$ ./configure && make && make install && sudo ldconfig
내가 추출한 디렉토리에서. (구성해서 만든 것 같습니다.)
이제 새로운 1.0.18 버전이 있다고 생각하여 dpkg -s libusb-1.0-0-dev를 다시 실행했지만 그렇지 않았습니다. 지금도 여전히 1.0.11입니다.
나는 간단한 것을 놓치고 있다고 확신합니다. 감사해요.
답변1
소스 코드에서 컴파일했습니다. 이는 Ubuntu의 패키지 관리 시스템이 이에 대해 알지 못한다는 것을 의미합니다. 패키지 관리자는 패키지 관리자를 사용하여 설치된 패키지(예: apt
및 dpkg
)에 대해서만 알고 있습니다. 또한 패키지 관리자가 최신 버전을 설치할 때 이전 버전을 제거합니다. 패키지 관리자가 이 새 버전을 설치하지 않았으므로 원본 버전도 설치되지 않습니다. 따라서 dpkg
이전 버전이 여전히 표시되는 이유는 무엇입니까?
내가 당신의 입장이라면 make uninstall
소스 코드를 실행하여 이 파일을 삭제했을 것입니다. 그런 다음 Ubuntu 14.04용 패키지를 다운로드 libusbx
하고 수동으로 설치해 보겠습니다. 종속성 누락에 대해 불평하지 않으면 컴파일하지 않는 것을 피할 수 있기를 바랍니다.
버전은 이전 버전과 호환되어야 하므로 최신 버전을 설치해도 현재 버전에 이미 의존하는 버전이 중단되지 않기를 바랍니다 libusbx
.
위의 방법이 효과가 없다면 소스에서 패키지를 빌드하는 것을 고려해 보세요. 이 프로세스에서는 deb
일반 패키지 관리자를 사용하여 설치할 수 있는 패키지가 생성됩니다. 이렇게 하면 dpkg
명령에 최신 버전이 표시되고 이전 버전이 제거됩니다.
이 프로세스를 다루는 좋은 Stack Exchange 질문이 있습니다.여기.