실행 파일에 대한 setcap 이후curl_easy_perform에서 메모리 부족 오류가 발생합니다.

실행 파일에 대한 setcap 이후curl_easy_perform에서 메모리 부족 오류가 발생합니다.

Debian Stretch에서 실행하기 위해 실행 파일을 크로스 컴파일했는데, 실행하려면 특정 버전의 cURL(7.56 이상)이 필요하고 실행 중에 특정 기능이 필요합니다. 따라서 실행 파일을 실행하겠습니다.

$ sudo setcap cap_net_raw,cap_net_admin+eip my_executable

이 setcap을 실행한 후 실행 파일을 실행하면 다음 오류가 발생합니다.

curl_easy_perform() failed: Out of memory

노트이 오류는 이전 버전의 CURL의 버그로 인해 발생할 것으로 예상됩니다. 그렇기 때문에 위의 cURL 버전으로 업그레이드해야 합니다 7.56. Raspberry Pi에서 실행하는 경우 기본 버전은 입니다 7.52. 따라서 시스템의 cURL 버전을 수동으로 최신 릴리스로 업데이트했지만 이것이 이전 버전의 cURL을 가리키는 것이라고 생각합니다.

$ curl --version
curl 7.64.1 (armv7l-unknown-linux-gnueabihf) libcurl/7.64.1 OpenSSL/1.1.0j
Release-Date: 2019-03-27
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTPS-proxy IPv6 Largefile NTLM NTLM_WB SSL TLS-SRP UnixSockets

여기서 무슨 일이 일어나고 있는 걸까요? setcap실행 파일이 usr/bin표준 및 라이브러리 외부의 어딘가에서 동적으로 링크되도록 합니까 usr/local/bin?

관련 정보