2023년 2월 20일 월요일

우분투 환경의 R에서 일부 패키지가 설치되지 않을 때(dependencies 'xml2', 'curl' are not availble)

Xubuntu에서 R을 실행한 다음 몇 가지 패키지를 설치하려는데 dependency가 충족되지 않았다면서 실패하였다. 사정을 자세하게 살펴보면 다음과 같다.

  1. 컴퓨터에는 Windows가 깔려 있다. 보안이 좀 유별난 곳이라서 R 4.2.1에서 설치되지 않는 패키지가 있어서 VirtualBox로 Xubuntu를 설치한 뒤 그 안에서 R을 돌리면 Windows에서 문제가 되는 패키지가 잘 깔렸다.
  2. VirtualBox 내의 Xubuntu에서 대부분의 작업을 하다가 tidyverse 및 gridtext 패키지를 설치하려니 xml2, curl dependency가 충족되지 않았다면서 실패하였다.

에러 메시지는 이러하다.

ERROR: dependencies ‘xml2’, ‘curl’ are not available for package ‘XYZ’

흠, 집에서 노트북 컴퓨터(Windows)로 일을 해야 되나... 그냥 포기하기에는 아까워서 검색을 해 보니 R에서 결핍을 호소하는 dependency는 OS 차원의 문제라는 것을 알았다. 커맨드 프롬프트로 나가서 몇 개 패키지를 설치한 뒤 다시 R로 돌아오면 된다는 것이다. 참고한 글은 다음과 같다.

[Stack Overflow] R ERROR: dependencies 'xml2', 'httr' are not available for package (Linux Mint 20.1)

여기에서는 다음의 명령어를 실행하라고 제안하였다.

sudo apt install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev

결과는? 깔끔하게 tidyverse 및 gridtext 패키지 설치에 성공하였다. 문제의 원인은 아주 간단한 곳에 있었다. 집에서 사용하는 우분투 데스크탑 서버는 개발용 환경이 충분히 깔려 있는 상태이고, 사무실 PC는 Windows 내의 VirtualBox에 설치한 Xubuntu라서 최소한의 것만이 설치된 상태이다. 당연히 이러한 부작용이 일어날 수 있는 상황이었다. 혹시 내가 예전에 써 둔 글에서 이미 문제 해결방법을 기록해 둔 것은 아닌지 모르겠다.

문제를 해결하였으므로 ComplexHeatmap에서 특정 row label의 표현 방법(예: 볼드체로 표시)을 바꾸는 연습을 할 수 있게 되었다. 함수를 이용하는 트릭과 gridtext를 사용하는 방법을 연구해 본 뒤 나중에 별도의 글로 작성할 예정이다.

댓글 없음: