프로그램 소스컴파일 설치에 대한 이해

sevengeon의 이미지

안녕하세요,

리눅스 및 유닉스 시스템에 소스로 프로그램을 설치하는 과정에 대해 구체적으로 알고 싶습니다.

늘 의미도 모르고 ./configure 를 하고,, 뭔지도 모르는 옵션을 뒤에 줄줄이 달고..
make > make install 하다가 에러나 나면 그대로 복사해서 구글에 물어보고 깔라는거 깔고 지우라는거 지우는 식으로 일을 진행하다 보니 이제는 한계가 생기는군요.. 이런 방식이 답답하기도 하구요.

시스템 엔지니어링을 원할히 하기 위해선 뭐를 공부해야 할까요?
단순히 쉘프로그래밍과 C 프로그래밍을 알면 되는건가요? 문제가 단순히 언어적인 이해전제가 없어서 그런것 맞나요?

소스트리를 구성하고 컴파일, 설치를 하는 과정에서 소스에 대한 이해만큼이나 시스템의 환경에 대한 이해 또한 중요한것 같습니다...
설치될 서버 환경과 프로그램 의존성 같은 문제들 말이죠.
소스트리 구성시 의존 소프트웨어의 헤더파일을 찾고, 공통 라이브러리의 위치를 지정해주는 등등..

알아야 할 사항이 한두가지가 아니고 일일히 열거할수 없다는것 또한 알고 있습니다.
다만 알아야 할 사항들이 너무 많아 뜬구름 같은 느낌입니다.ㅠㅠ

길잡이 의미로써 사전에 필요 지식과 학습방법에 대한 설명을 좀 부탁드립니다..
IDE 세대에 프로그래밍을 배웠더니 기존 C 방식의 컴파일 설치들이 너무 무색하기만 합니다..

컴파일과 배포는 IDE가 다 알아서 해주다가 직접 하려니 이렇게 어려울수가 없군요...ㅠㅠ

참고로 이 글을 적게된 계기는 HP-UX 11i 에 LightTPD를 설치하려다 생긴 문제 입니다^^;; 혹시 경험 있으신 분은 도움좀 주세요~~

neogeo의 이미지

gentoo 교에 입문하십시오.

stage0 부터 설치해보시면서, portage 를 분석해보십시오.

각종 옵션이 왜 들어가며, ebuild 파일에서 옵션이 무엇을 의미하나 고민해 보십시오.

어떤 패키지를 ebuild 했을때 의존성이 어떤지 살펴보십시오.

( 무간삽질의 세상에 들어가시게 되신걸 환영합니다. )

Neogeo - Future is Now.

Neogeo - Future is Now.

cjh의 이미지

freebsd ports교에 입문하시라고 말씀드리고 싶지만 :) gentoo든 freebsd든 그런 옵션들도
모두 한번 추상화해서 제공하니까 큰 도움은 안됩니다.

HP-UX니까 해당 소스 컴파일에 대한 것은
HP-UX관련 FAQ, 구글 검색, 해당 소스의 INSTALL, README 파일 등을 읽어보면서 trial and error로
진행하는게 최선일 것 같네요. 이런걸 일목요연하게 배울 수 있는 책은 아마 없을 겁니다.

--
익스펙토 페트로눔

--
익스펙토 페트로눔

monovision의 이미지

유닉스, 리눅스 프로그래밍 필수 유틸리티
http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200411040005

위의 책을 추천합니다.

ironiris의 이미지

./configure --help 라고 하시면 의미도 모르던 것을 의미있게 할수 있고요.
README, INSTALL 문서에도 설명이 잘되어있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.