Compile tips and tricks: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Add categories: Linux, Reference)
(Phase 6.1: LLM-Optimized Wiki Template 적용)
Line 1: Line 1:
== Boost is not available ==
{{Status
This issue of missing libraries can be caught during configuration phase itself when you are running ./configure to check all the required configuration.
|status=Draft
|owner=Knowledge Agent
|last_update=2026-07-16
|review=Pending
}}


under Ubuntu we can install Boost [[library]] as
{{TOC}}
apt-get install libboost-all-dev


== GSL-config not found ==
== Overview ==
<code>sudo apt install libgsl-dev</code><ref>https://askubuntu.com/questions/913493/gsl-config-not-found</ref>


== Cannot convert 'std::ifstream' {aka 'std::basic_ifstream<char>'} to 'bool' in return ==
컴파일 및 빌드 과정에서 발생하는 일반적인 오류와 해결 방법을 다룹니다.
Instead return if the stream is <code>good()</code>:<ref>https://stackoverflow.com/questions/67831917/cannot-convert-stdifstream-aka-stdbasic-ifstreamchar-to-bool-in-re</ref>
 
<code>return ifile.good();</code>
=== Summary ===
 
* 무엇인가? 컴파일/빌드 중 발생하는常见问题 해결 가이드
* 왜 필요한가? 개발 환경 설정 시 자주 발생하는 오류 신속 대응
* 언제 사용하는가? 소스 코드 컴파일, 라이브러리 의존성 문제, 빌드 오류 해결
 
---
 
== Purpose ==
 
이 문서가 존재하는 이유
 
* Goal: 컴파일 시 발생하는 주요 오류와 해결 방법 제공
* Scope: Boost 라이브러리 미사용, GSL-config not found 오류
* Non-goals: 모든 컴파일 오류 커버, 런타임 오류
 
---
 
== Key Concepts ==
 
{| class="wikitable"
! 개념
! 설명
! Related
|-
| Boost
| C++ 라이브러리 모음
| [[Compile tips and tricks]]
|-
| GSL
| GNU Scientific Library
| [[Compile tips and tricks]]
|-
| libboost-all-dev
| Boost C++ 라이브러리 개발 패키지
| [[Compile tips and tricks]]
|-
| configure
| 빌드 설정 체크 스크립트
| [[Compile tips and tricks]]
|}
 
---
 
== Architecture ==
 
컴파일 프로세스:
 
<syntaxhighlight lang="mermaid">
graph TD
    A[소스 코드] --> B[./configure]
    B --> C{의존성 체크}
    C -->|성공| D[Makefile 생성]
    C -->|실패| E[오류 메시지]
    E --> F[의존성 설치]
    F --> B
    D --> G[make]
    G --> H[실행 파일]
</syntaxhighlight>
 
---
 
== Workflow ==
 
컴파일 오류 해결 워크플로우:
 
# ./configure 실행
# 오류 메시지 확인
# 누락된 라이브러리 식별
# apt-get install로 의존성 설치
# ./configure 재실행
# make 실행
 
---
 
== Detailed Explanation ==
 
=== Boost is not available ===
 
이 라이브러리 누락 문제는 ./configure 실행 시 구성 단계에서 즉시 발견할 수 있습니다. 모든 필요한 구성을 확인하기 위해 ./configure를 실행하는 동안 발생합니다.
 
Ubuntu에서 Boost [[library]]를 설치하는 방법:
 
<syntaxhighlight lang="bash">
apt-get install libboost-all-dev
</syntaxhighlight>
 
=== GSL-config not found ===
 
<syntaxhighlight lang="bash">
# GSL (GNU Scientific Library) 설치
apt-get install libgsl-dev
</syntaxhighlight>
 
---
 
== Configuration ==
 
=== 필수 의존성 설치 ===
 
<syntaxhighlight lang="bash">
# Boost 라이브러리
apt-get install libboost-all-dev
 
# GSL 라이브러리
apt-get install libgsl-dev
 
# 기타 일반적인 의존성
apt-get install libssl-dev libffi-dev pkg-config
</syntaxhighlight>
 
---
 
== Examples ==
 
=== Example 1: Boost 오류 해결 ===
 
입력:
 
<syntaxhighlight lang="bash">
./configure
# 오류: Boost is not available
 
# 해결
apt-get install libboost-all-dev
 
# 재실행
./configure
# 성공!
make
</syntaxhighlight>
 
---
 
== Best Practices ==
 
* '''./configure 먼저 실행''' — 모든 의존성 문제 사전 발견
* '''libboost-all-dev 사용''' — 개별 패키지보다 전체 설치 권장
* '''gsl-dev 설치''' — GSL 필요 시 libgsl-dev 사용
* '''pkg-config 설치''' — 의존성 경로 자동 발견
 
---
 
== Limitations ==
 
* 이 문서는 제한된 오류만 커버
* 특정 라이브러리/프레임워크별 오류는 별도 문서 필요
 
---


== References ==
== References ==
<references />
 
* (문서 내 참조)
 
---
 
== Related Pages ==
 
* [[Cmake tips and tricks]]
* [[Bazel]]
* [[Linux]]
* [[library]]
 
---
 
[[Category:Linux]]
[[Category:Linux]]
[[Category:Reference]]
[[Category:Reference]]

Revision as of 14:39, 16 July 2026

Template:Status

Template:TOC

Overview

컴파일 및 빌드 과정에서 발생하는 일반적인 오류와 해결 방법을 다룹니다.

Summary

  • 무엇인가? 컴파일/빌드 중 발생하는常见问题 해결 가이드
  • 왜 필요한가? 개발 환경 설정 시 자주 발생하는 오류 신속 대응
  • 언제 사용하는가? 소스 코드 컴파일, 라이브러리 의존성 문제, 빌드 오류 해결

---

Purpose

이 문서가 존재하는 이유

  • Goal: 컴파일 시 발생하는 주요 오류와 해결 방법 제공
  • Scope: Boost 라이브러리 미사용, GSL-config not found 오류
  • Non-goals: 모든 컴파일 오류 커버, 런타임 오류

---

Key Concepts

개념 설명 Related
Boost C++ 라이브러리 모음 Compile tips and tricks
GSL GNU Scientific Library Compile tips and tricks
libboost-all-dev Boost C++ 라이브러리 개발 패키지 Compile tips and tricks
configure 빌드 설정 체크 스크립트 Compile tips and tricks

---

Architecture

컴파일 프로세스:

graph TD
    A[소스 코드] --> B[./configure]
    B --> C{의존성 체크}
    C -->|성공| D[Makefile 생성]
    C -->|실패| E[오류 메시지]
    E --> F[의존성 설치]
    F --> B
    D --> G[make]
    G --> H[실행 파일]

---

Workflow

컴파일 오류 해결 워크플로우:

  1. ./configure 실행
  2. 오류 메시지 확인
  3. 누락된 라이브러리 식별
  4. apt-get install로 의존성 설치
  5. ./configure 재실행
  6. make 실행

---

Detailed Explanation

Boost is not available

이 라이브러리 누락 문제는 ./configure 실행 시 구성 단계에서 즉시 발견할 수 있습니다. 모든 필요한 구성을 확인하기 위해 ./configure를 실행하는 동안 발생합니다.

Ubuntu에서 Boost library를 설치하는 방법:

apt-get install libboost-all-dev

GSL-config not found

# GSL (GNU Scientific Library) 설치
apt-get install libgsl-dev

---

Configuration

필수 의존성 설치

# Boost 라이브러리
apt-get install libboost-all-dev

# GSL 라이브러리
apt-get install libgsl-dev

# 기타 일반적인 의존성
apt-get install libssl-dev libffi-dev pkg-config

---

Examples

Example 1: Boost 오류 해결

입력:

./configure
# 오류: Boost is not available

# 해결
apt-get install libboost-all-dev

# 재실행
./configure
# 성공!
make

---

Best Practices

  • ./configure 먼저 실행 — 모든 의존성 문제 사전 발견
  • libboost-all-dev 사용 — 개별 패키지보다 전체 설치 권장
  • gsl-dev 설치 — GSL 필요 시 libgsl-dev 사용
  • pkg-config 설치 — 의존성 경로 자동 발견

---

Limitations

  • 이 문서는 제한된 오류만 커버
  • 특정 라이브러리/프레임워크별 오류는 별도 문서 필요

---

References

  • (문서 내 참조)

---

Related Pages

---