Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (seongtaejeong at gmail.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

WSL / Ubuntu - /usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found

WSL 환경에서 헤더 파일을 못 찾는 컴파일 오류가 발생한다면?

// WSL 2 + Ubuntu 20.04

/usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found

원래는 "linux-headers..."를 설치하면 된다고 하는데 WSL 환경인 경우 apt repo에 등록되지 않아 설치가 안 됩니다.

$ uname -r
5.15.153.1-microsoft-standard-WSL2

$ sudo apt install linux-headers-`uname -r`
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-headers-5.15.153.1-microsoft-standard-WSL2
E: Couldn't find any package by glob 'linux-headers-5.15.153.1-microsoft-standard-WSL2'

검색해 보면 WSL2-Linux-Kernel를 빌드해 구할 수 있다고 하는데요,

cant install linux headers on kali running on wsl kernel #1253
; https://github.com/MicrosoftDocs/WSL/issues/1253

보니까, 제가 설치한 Ubuntu 20.04의 경우에는 커널 헤더를 포함하고 있어 빌드할 필요가 없습니다.

$ ll /usr/include/x86_64-linux-gnu/asm/types.h
-rw-r--r-- 1 root root 31 Aug 29 21:06 /usr/include/x86_64-linux-gnu/asm/types.h

따라서 그냥 링크만 거는 것으로 해결할 수 있습니다.

$ sudo ln -s /usr/include/x86_64-linux-gnu/asm /usr/include/asm




테스트를 위해 Kali 리눅스를 WSL에 설치했더니 /usr/include 디렉터리가 거의 비어 있는 수준입니다.

$ ll  /usr/include
total 16
drwxr-xr-x 2 root root  4096 Jun  5 10:20 iproute2
-rw-r--r-- 1 root root 11959 Mar 12  2024 sudo_plugin.h

(아마도 Ubuntu도 그랬을 것 같은데요) 대신 build-essential만 설치하면,

$ sudo apt update && sudo apt upgrade -y
$ sudo apt install build-essential

이후 커널 관련 헤더가 설치되었습니다.

$ ll /usr/include/x86_64-linux-gnu
total 52
-rw-r--r-- 1 root root  4351 Jun 11 05:25 a.out.h
drwxr-xr-x 2 root root  4096 Sep 10 23:14 asm
drwxr-xr-x 4 root root 12288 Sep 10 23:14 bits
drwxr-xr-x 3 root root  4096 Sep 10 23:14 c++
-rw-r--r-- 1 root root  3553 Jun 11 05:25 fpu_control.h
drwxr-xr-x 2 root root  4096 Sep 10 23:14 gnu
-rw-r--r-- 1 root root  4916 Jun 11 05:25 ieee754.h
drwxr-xr-x 2 root root  4096 Sep 10 23:15 openssl
drwxr-xr-x 3 root root  4096 Sep 10 23:14 sys




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 10/12/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  [65]  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12315정성태9/7/202019856개발 환경 구성: 510. Logstash - FileBeat을 이용한 IIS 로그 처리 [2]
12314정성태9/7/202020061오류 유형: 645. IIS HTTPERR - Timer_MinBytesPerSecond, Timer_ConnectionIdle 로그
12313정성태9/6/202019585개발 환경 구성: 509. Logstash - 사용자 정의 grok 패턴 추가를 이용한 IIS 로그 처리
12312정성태9/5/202026513개발 환경 구성: 508. Logstash 기본 사용법 [2]
12311정성태9/4/202019132.NET Framework: 937. C# - 간단하게 만들어 보는 리눅스의 nc(netcat), json_pp 프로그램 [1]
12310정성태9/3/202018447오류 유형: 644. Windows could not start the Elasticsearch 7.9.0 (elasticsearch-service-x64) service on Local Computer.
12309정성태9/3/202017615개발 환경 구성: 507. Elasticsearch 6.6부터 기본 추가된 한글 형태소 분석기 노리(nori) 사용법
12308정성태9/2/202019493개발 환경 구성: 506. Windows - 단일 머신에서 단일 바이너리로 여러 개의 ElasticSearch 노드를 실행하는 방법
12307정성태9/2/202020375오류 유형: 643. curl - json_parse_exception / Invalid UTF-8 start byte
12306정성태9/1/202017602오류 유형: 642. SQL Server 시작 오류 - error code 10013
12305정성태9/1/202019457Windows: 172. "Administered port exclusions"이 아닌 포트 범위 항목을 삭제하는 방법
12304정성태8/31/202017926개발 환경 구성: 505. 윈도우 - (네트워크 어댑터의 우선순위로 인한) 열거되는 IP 주소 순서를 조정하는 방법
12303정성태8/30/202018216개발 환경 구성: 504. ETW - 닷넷 프레임워크 기반의 응용 프로그램을 위한 명령행 도구 etrace 소개
12302정성태8/30/202018345.NET Framework: 936. C# - ETW 관련 Win32 API 사용 예제 코드 (5) - Private Logger파일 다운로드1
12301정성태8/30/202017906오류 유형: 641. error MSB4044: The "Fody.WeavingTask" task was not given a value for the required parameter "IntermediateDir".
12300정성태8/29/202018282.NET Framework: 935. C# - ETW 관련 Win32 API 사용 예제 코드 (4) CLR ETW Consumer파일 다운로드1
12299정성태8/27/202018882.NET Framework: 934. C# - ETW 관련 Win32 API 사용 예제 코드 (3) ETW Consumer 구현파일 다운로드1
12298정성태8/27/202018446오류 유형: 640. livekd - Could not resolve symbols for ntoskrnl.exe: MmPfnDatabase
12297정성태8/25/202017983개발 환경 구성: 503. SHA256 테스트 인증서 생성 방법
12296정성태8/24/202019151.NET Framework: 933. C# - ETW 관련 Win32 API 사용 예제 코드 (2) NT Kernel Logger파일 다운로드1
12295정성태8/24/202017950오류 유형: 639. Bitvise - Address is already in use; bind() in ListeningSocket::StartListening() failed: Windows error 10013: An attempt was made to access a socket ,,,
12293정성태8/24/202018934Windows: 171. "Administered port exclusions" 설명
12292정성태8/20/202021904.NET Framework: 932. C# - ETW 관련 Win32 API 사용 예제 코드 (1)파일 다운로드2
12291정성태8/15/202018842오류 유형: 638. error 1297: Device driver does not install on any devices, use primitive driver if this is intended.
12290정성태8/11/202020090.NET Framework: 931. C# - IP 주소에 따른 국가별 위치 확인 [8]파일 다운로드1
12289정성태8/6/202017029개발 환경 구성: 502. Portainer에 윈도우 컨테이너를 등록하는 방법
... 61  62  63  64  [65]  66  67  68  69  70  71  72  73  74  75  ...