리눅스 라이브러리 설치 어렵네요...도움 부탁드립니다..

freebsd626의 이미지

리눅스 개초보입니다. 사용중인 리눅스는 redhat-release-5Server-5.10.0.4 입니다.
학교에서 계정을 받은것이고, 저는 관리자권한이 없어서 제 계정안에서만 라이브러리설치나 기타 설정만 가능하다고 합니다.

CFITSIO 라는 라이브러리를 설치를 하려고합니다. 아래사이트 참조..

http://heasarc.gsfc.nasa.gov/docs/software/fitsio/quick/quick.html

메뉴얼대로 쭉 따라했습니다.

1. ./configure --prefix=/home/****/usr1/local <----제 계정아래(**** 은 제 user ID)의 /usr1/local 에 다가 경로지정
2. > make (or 'make shared')
> make install (this step is optional) 다진행후 특별한 에러메세지는 없었습니다.

이러니깐 /usr1/local 이란 곳에 include lib 이라는 디렉토리가 생성되었고요..
include 디렉토리에는 drvrsmem.h fitsio.h fitsio2.h longnam.h 파일들이 생겼습니다.
lib 디렉토리에는 libcfitsio.a pkgconfig(디렉토리) 이런게 생겼습니다. pkgconfig(디렉토리) 안에는 cfitsio.pc 가 있네요.

그리고 메뉴얼에 example program 돌려보라고 해서...그대로 따라 하고...자세한 코드는 아래..
( http://heasarc.gsfc.nasa.gov/docs/software/fitsio/quick/node4.html )

test.c

1 #include
2 #include
3 #include "fitsio.h"
4 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

gcc test.c -o test -lcfitsio 라고 쳤더니....

*******************
cfitsio.c:3:24: error: fitsio.h: No such file or directory
cfitsio.c: In function 'main':
cfitsio.c:7: error: 'fitsfile' undeclared (first use in this function)
cfitsio.c:7: error: (Each undeclared identifier is reported only once
cfitsio.c:7: error: for each function it appears in.)
cfitsio.c:7: error: 'fptr' undeclared (first use in this function)
cfitsio.c:8: error: 'FLEN_CARD' undeclared (first use in this function)
cfitsio.c:11: error: 'READONLY' undeclared (first use in this function)
***************

라고 뜨더군요...

그래서...인터넷 찾아보니 라이브러리 경로를 지정해야한다고 해서..

제 계정 디렉토리 바로 아래에 .bash_profile 란 파일을 만들어서
======================================================
1 LD_LIBRARY_PATH=/home/****/usr1/local/include
2 LD_LIBRARY_PATH=/home/****/usr1/local/lib
3
4 export LD_LIBRARY_PATH
======================================================
라고 입력후 저장, 그리고 source .bash_profile 도 함....

그리고 test.c에서
3 #include "fitsio.h" 을 < fitsio.h > 로 변경...

다시 gcc test.c -o test -lcfitsio 라고 쳤더니....위와 똑같은 에러메시지 발생(차이가 없음)

그래서...#include "fitsio.h" 으로 원래대로 바꿈(따옴표 형태로)

그리고 /usr1/local/include/ 에 있는 fitsio.h 와 longnam.h 을

test.c 가 있는 디렉토리로 복사후...

다시 gcc test.c -o test -lcfitsio 라고 입력, 그랬더니 아래처럼 메세지 뜸....

*****************
-bash-3.2$ gcc cfitsio.c -o cfitsio -lm -lcfitsio
/usr/bin/ld: cannot find -lcfitsio
collect2: ld returned 1 exit status
***********

인터넷 찾아보니 이런 메세지는 라이브러리가 설치안되었을때 발생한다던데...

여기서 막혀서 아무것도 진행이안됩니다 -_-;;;

개초보라...도움이 필요합니다....ㅠ

일일히 xxx.h 파일 복사안하고....라이브러리 쓸수있게 하고싶습니다...
어케해야하나요...ㅠ

qiiiiiiiip의 이미지

gcc -I/home/****/usr1/local/include -L/home/****/usr1/local/lib -o test -lcfitsio

이렇게 컴파일하세요..
LD_LIBRARY_PATH 는 현재는 필요없어보이네요. (런타임라이브러리 패스)

freebsd626의 이미지

매번 이렇게 입력해야 하나요?? 좀더 편리하게 할 방법이 없는건가요?

cinsk의 이미지

LIBRARY_PATH, C_INCLUDE_PATH 등을 쓰면 됩니다. gcc manual에 자세히 나와 있습니다.

freebsd626의 이미지

완전 좋은 자료네요..^^ 열공하겠습니다.

qiiiiiiiip의 이미지

그래서 make 를 씁니다.
현재 디렉토리에 아래와 같은 makefile을 만들고,
make cfitsio 라고 해보심.. ( cfitsio.c 를 컴파일해서 cfitsio 를 만드는 경우 )

CFLAGS = -I/home/****/usr1/local/include 
LDFLAGS = -L/home/****/usr1/local/lib -lcfitsio
freebsd626의 이미지

훨씬 간단해졌습니다......이쪽 복습을 좀더 해야겠네요 ㅋㅋ 정말 감사합니다...

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.