동일한 -dev 패키지의 32 비트 및 64 비트 버전을 모두 설치하려면 어떻게해야합니까?


11

나는 설치하기 위해 노력하고있어 libsqlite3-dev모두 i386amd64같은 우분투 12.04 시스템에서. sqlite3을 사용하는 응용 프로그램을 개발 중이며 32 비트 및 64 비트 버전을 모두 컴파일하고 테스트하려고합니다.

등 그러나 보이는 libsqlite3-dev:i386패키지는 호환되지 않는 libsqlite3-dev:amd64등, apt내가 다른를 설치할 때 하나를 제거하고자 유지합니다.

동일한 시스템에 둘 다 설치하는 방법이 있습니까?

답변:


5

같은 시스템에 두 개의 -dev 패키지를 동시에 설치할 수 없습니다. 동일한 파일 중 일부가 포함되어 있으므로 둘 중 하나만 설치할 수 있습니다. 다중 아치는 크로스 컴파일 지원을 활성화하지 않으므로 수행하려고합니다. :i386sqlite 개발 패키지 버전 을 설치하고 64 비트 컴파일러로 빌드한다면 결과적으로 빌드가 깨질 것입니다.

최선의 방법은 32 비트 chroot 또는 VM에서 컴파일하여 32 비트 버전을 빌드하는 것입니다.


헤더 파일은 실제로 두 패키지에 있지만 내용은 동일합니다. 더욱, 다른위한 -dev패키지 등 zlib1g어느도 (와 동일) 파일을 공유 한, 이다 동시에 버전을 설치할 수 있습니다.
Wim

1
방금 두 패키지를 모두 강제로 설치했는데 아무것도 깨지지 않는 것 같으며 이제 두 버전을 모두 빌드하고 올바르게 실행할 수 있습니다. 패키지 관리자가 실제로 충돌이없는 곳에서 충돌을 선언하는 경우입니까?
Wim

0

개인적으로, 나는 최후의 수단으로 강제 설치를 고려하지 않습니다. pbuilder가 매우 유용하다고 생각합니다. 여기 하우투가 있습니다. 해당 목적을 위해 다른 배포판을 설치하고 동시에 다른 대상에 대한 빌드 프로세스를 스크립팅 할 수도 있습니다.

http://ubuntuforums.org/showthread.php?t=206382

따라서 모든 dev 패키지를 제거 된 상태로 둘 수도 있습니다. 임시 chroot 설치에 설치됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.