제가 사용하고 있는 장치는 32비트 아키텍처에서 Yoco Linux를 실행합니다. 패키지 관리자나 컴파일러를 제공하지 않으므로 컴파일할 수 없습니다. 대신 Ubuntu 가상 머신을 사용하여 필요한 것을 컴파일하고 장치에 복사한 후 설치합니다.
예를 들어, 내가 Python 3.4에서 수행한 작업은 다음과 같이 간단했습니다.
./configure
make
Ubuntu 가상 머신 및
make install
Yocto를 실행하는 장치에서.
하지만 지금은 약간의 문제에 직면해 있습니다 unixODBC
. 성공적 ./configure
으로 make
완료되었습니다. 내가 몰랐던 것은 gcc
컴파일러 도 필요 make install
해서 장치에서 사용할 수 없다는 것이었습니다. 순진하게 나는 Ubuntu에서 완전히 컴파일된 라이브러리를 장치에 복사할 수 있다고 생각했지만 작동하지 않습니다. 모든 구성이 완료되지 않았습니다.
make
내 질문은: Ubuntu에서 필요한 모든 것을 빌드하고 장치에 복사한 다음 unixODBC 설치에 내장된 구성 루틴을 시작하는 데 필요한 인수나 다른 옵션이 있습니까 ?
나는 Makefile
단서를 찾기 위해 주위를 둘러보았으나 운이 없었다. 컴파일 성공 후 어떤 구성이 수행되는지 파악하기도 어렵습니다.
답변1
소스에서 프로그램을 설치할 때 일반적으로 이 DESTDIR
플래그를 사용하여 이를 달성할 수 있습니다.
- 새 디렉터리를 만듭니다.
mkdir /tmp/uodbcinst
- 설치하다:
make DESTDIR=/tmp/uodbcinst/ install
- 결과 보관
tar -cpzf ~/uodbcinst.tar.gz -C /tmp/uodbcinst .
- 다른 시스템에서 결과 추출
tar -C / -xf uodbcinst.tar.gz
면책 조항: 이 명령을 테스트하지 않았습니다. 구문을 다시 확인하십시오. 루트 디렉토리에 타르볼을 추출하는 것은 매우 위험합니다.
생성된 프로그램이 대신 폴더에서 구성 파일을 찾도록 --sysconfdir
런타임에 이 옵션을 조정하는 것을 고려할 수도 있습니다 ../configure
/etc/
/usr/local/etc
이 접근 방식은 배포 관리자가 패키지 관리자를 위한 페이로드를 생성하는 방법과 유사합니다. 보다아치 리눅스 예제.