본문 바로가기
Linux

[Linux] Azure SDK 설치 시 라이브러리 경로 설정

by dragonDeok 2024. 6. 21.
728x90

vcpkg 설치


참고 링크

환경 변수 세팅


  • 환경 변수 VCPKG_ROOT 설정
    • 설치한 vcpkg 디렉토리 위치를 경로로 세팅
  • LD_LIBRARY_PATH를 설정 ( 동적 라이브러리 형태로 설치 시 필요 )
    • vcpkg로 설치한 azure sdk 라이브리러 위치를 경로로 세팅

~/.bashrc에 아래 코드 추가

export VCPKG_ROOT=/usr/local/bin/vcpkg
export PATH=$VCPKG_ROOT:$PATH
export LD_LIBRARY_PATH=/usr/local/bin/vcpkg/installed/x64-linux-dynamic/lib:$LD_LIBRARY_PATH

코드 추가 후 source ~/.bashrc 로 적용

환경 변수 세팅 안 하고 라이브러리 읽어오도록 하는 방법


/etc/ld.so.conf 파일 설정

include /etc/ld.so.conf.d/*.conf

/etc/ld.so.conf.d/libc.conf 파일 설정

# libc default configuration
/usr/local/lib

/etc/ld.so.conf.d/x86_64-linux-gnu.conf 파일 설정

# Multiarch support
/usr/local/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
/usr/local/bin/vcpkg/installed/x64-linux-dynamic/lib

3개의 파일 설정 후 sudo ldconfig 를 통해 적용

  1. 라이브러리를 찾을 때 lib.conf 안에 적혀 있는 경로 먼저 탐색
  2. 1 경로에 없는 경우 x86_64-linux-gnu.conf 안에 적혀 있는 경로들 탐색

맨 위부터 순서대로 라이브러리 찾음 탐색한 모든 경로에서 라이브러리가 없는 경우 /usr/local/bin/vcpkg/installed/x64-linux-dynamic/lib 경로에서 찾음

ldconfig 입력시 is truncated 오류 발생하는 경우


sudo ldconfig 입력시 아래와 같은 오류가 발생하는 경우가 있다.

/sbin/ldconfig.real: file /usr/local/bin/vcpkg/installed/x64-linux-dynamic/lib/libazure-core.so is truncated

오류가 발생한 이유

  • ubuntu 버전이 예전 버전(18.04)이라서 발생한 문제
  • ubuntu 버전이 18.04 인 경우 ldconfig와 glibc 라이브러리 버전이 예전 버전이라서 ldconfig가 먹히지 않음

해결 방법

  • ubuntu 버전은 22.04로 업그레이드 시 해결