[완료]make에서 라이브러리 경로 추가

queenmedley의 이미지

프로그래밍 초짜라서 make 파일을 일일이 수정해가면서 컴파일하고 있는데 여기서는 도움을 청해야할거같습니다.
ioapi-3.0 컴파일을 하는 도중 아래 같은 에러가 발생합니다.
********************************************************************************************************************
make[1]: Entering directory `/home/wonhae/Modeling/ioapi-3.0/m3tools'
cd /home/wonhae/Modeling/ioapi-3.0/Linux2_x86_64gfort; gfortran /home/wonhae/Modeling/ioapi-3.0/Linux2_x86_64gfort/bcwndw.o /home/wonhae/Modeling/ioapi-3.0/Linux2_x86_64gfort/bcstep.o -L/home/wonhae/Modeling/ioapi-3.0/Linux2_x86_64gfort -lioapi -lnetcdf -lpvm3 -fopenmp -o bcwndw
/usr/bin/ld: cannot find -lpvm3
collect2: ld returned 1 exit status
make[1]: *** [bcwndw] Error 1
make[1]: Leaving directory `/home/wonhae/Modeling/ioapi-3.0/m3tools'
make: *** [all] Error 2
***********************************************************************************************************************

그래서 pvm3를 설치를 해줬는데
libpvm3가 /usr/share/pvm3/lib/LINUX64/libpvm3.a 위치에 있어요..
에러가 발생하는 m3tools/Makefile 내용은 아래처럼 되어있는데
저안에 libpvm3 를 인식하게 해줄수 있는 방법이 있을까요?
/usr/lib 에 링크거는거 말고 저 Makefile 안에 설정을 했음합니다.

****../m3too/Makefile*******************************************************************
.SUFFIXES: .m4 .c .F .f
BIN = Linux2_x86_64gfort
#PVM_ARCH = LINUX64
BASEDIR = ${HOME}/Modeling/ioapi-3.0
SRCDIR = ${BASEDIR}/m3tools
IODIR = ${BASEDIR}/ioapi
OBJDIR = ${BASEDIR}/${BIN}
F90DIR = ${BASEDIR}/${BIN}f90
PVMLIBS = /usr/share/pvm3/lib/LINUX64
# Architecture dependent stuff
# Assumes FC is an f90 (otherwise, "make f77").
include $(IODIR)/Makeinclude.${BIN}

include $(PVM_ROOT)/conf/$(PVM_ARCH).def

FFLAGS = -I$(IODIR) -DIOAPICPL $(DEFINEFLAGS) $(FOPTFLAGS) $(ARCHFLAGS)

LDFLAGS = -I$(IODIR) -DIOAPICPL $(DEFINEFLAGS) $(ARCHFLAGS)

LIBS = -L${OBJDIR} -lioapi -lnetcdf $(PVMLIBS) $(OMPLIBS) \
$(ARCHLIB) $(ARCHLIBS)

VPATH = ${OBJDIR}

fSRC = \
m3agmask.f m3agmax.f m3combo.f m3cple.f m3diff.f m3edhdr.f \
m3fake.f m3interp.f m3pair.f m3stat.f m3tproc.f m3tshift.f \
m3wndw.f m3xtract.f m3merge.f mtxblend.f mtxbuild.f mtxcple.f \
airs2m3.f aggvars.f agmask.f agmax.f bcwndw.f mtxcalc.f \
datshift.f factor.f fills.f gregdate.f juldate.f kfxtract.f \
presterp.f projtool sfcmet.f selmrg2d.f statb.f statc.f \
statg.f stati.f statm.f stats.f utmtool.f vertot.f \
m3hdr.f vertintegral.f

FSRC= \
bcstep.F cdiffstep.F diffstep.F fakestep.F latlon.F pairstep.F \
presz.F statbdry.F statcust.F statgrid.F statiddat.F statspars.F \
statstep.F tshift.F verstep.F wndwstep.F xtstep.F

ESRC= $(IODIR)/CONST3.EXT $(IODIR)/FDESC3.EXT \
$(IODIR)/IODECL3.EXT $(IODIR)/NETCDF.EXT \
$(IODIR)/PARMS3.EXT

OBJ = $(fSRC:.f=.o) $(FSRC:.F=.o)

F77EXE = \
bcwndw datshift factor gregdate juldate kfxtract \
latlon m3diff m3edhdr m3fake m3pair m3stat \
m3tshift m3wndw m3xtract presz utmtool vertot

F90EXE = airs2m3 dayagg m3agmax m3agmask m3cple \
m3combo m3interp m3merge m3tproc mtxblend mtxbuild \
mtxcalc mtxcple presterp projtool selmrg2d m3hdr \
vertintegral

EXE = $(F77EXE) $(F90EXE)

# ---------------------- TOP-LEVEL TARGETS: ------------------

all: $(EXE)

f77: $(F77EXE)

f90: $(F90EXE)

clean:
cd ${OBJDIR}; rm $(EXE) $(OBJ)

install: $(INSTDIR)
echo "Installing M3TOOLS in ${INSTDIR}"
cd ${OBJDIR}; cp $(EXE) $(INSTDIR)

rmexe:
cd ${OBJDIR}; rm $(EXE)

relink:
make -i rmexe ; make all

links:
ln -s $(F90DIR)/dayagg $(F90DIR)/m3agmax \
$(F90DIR)/m3agmask $(F90DIR)/m3cple $(F90DIR)/m3combo \
$(F90DIR)/m3merge $(F90DIR)/m3tproc $(F90DIR)/mtxblend \
$(F90DIR)/mtxbuild $(F90DIR)/mtxcalc $(F90DIR)/mtxcple \
$(F90DIR)/presterp $(F90DIR)/selmrg2d ${OBJDIR}

gzip:
cd ${OBJDIR}/..; gtar cvfzh ${BIN}.tar.gz \
${BIN}/libioapi.a ${BIN}/libnetcdf.a ${BIN}/libpvm3.a \
${BIN}/airs2m3 ${BIN}/bcwndw ${BIN}/datshift ${BIN}/factor \
${BIN}/gregdate ${BIN}/kfxtract ${BIN}/latlon ${BIN}/m3diff \
${BIN}/m3edhdr ${BIN}/m3fake ${BIN}/m3pair ${BIN}/m3stat \
${BIN}/m3tshift ${BIN}/m3wndw ${BIN}/m3xtract ${BIN}/presz \
${BIN}/utmtool ${BIN}/vertot ${BIN}/dayagg ${BIN}/m3cple \
${BIN}/m3agmax ${BIN}/m3agmask ${BIN}/m3combo ${BIN}/m3merge \
${BIN}/mtxblend ${BIN}/mtxbuild ${BIN}/mtxcalc ${BIN}/mtxcple \
${BIN}/presterp ${BIN}/selmrg2d ${BIN}/ncgen ${BIN}/ncdump

flags:
echo "BIN=${BIN}"
echo "FFLAGS=$(FFLAGS)"
echo "LDFLAGS=$(LDFLAGS)"
echo "LIBS=$(LIBS)"
echo "ARCHFLAGS=$(ARCHFLAGS)"
echo "ARCHLIB=$(ARCHLIB)"
echo "ARCHLIBS=$(ARCHLIBS)"
echo "OMPFLAGS=$(OMPFLAGS)"
echo "OMPLIBS=$(OMPLIBS)"
echo "FOPTFLAGS=$(FOPTFLAGS)"
echo "COPTFLAGS=$(COPTFLAGS)"
echo "PARFLAGS=$(PARFLAGS)"
echo "PVM_ROOT=$(PVM_ROOT)"
echo "PVMLIBS=$(PVMLIBS)"

# ----------------------- RULES: -------------------------

%.o : %.mod # Disable "gmake"s obnoxious implicit Modula-2 rule !!

.F.o:
cd ${OBJDIR}; $(FC) $(FPPFLAGS) $(FFLAGS) -c $(SRCDIR)/$<

.f.o:
cd ${OBJDIR}; $(FC) $(FFLAGS) -c $(SRCDIR)/$<

# --------------------------- $(EXE) Program builds: -----------------

airs2m3: airs2m3.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

bcwndw: bcwndw.o bcstep.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

datshift: datshift.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

dayagg: dayagg.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

factor: factor.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

gregdate: gregdate.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

juldate: juldate.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

kfxtract: kfxtract.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

latlon: latlon.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3agmask: m3agmask.o agmask.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3agmax: m3agmax.o agmax.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3combo: m3combo.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3cple: m3cple.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3diff: m3diff.o diffstep.o cdiffstep.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3edhdr: m3edhdr.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3fake: m3fake.o fakestep.o fills.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3hdr: m3hdr.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3interp: m3interp.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3merge: m3merge.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3pair: m3pair.o pairstep.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3stat: m3stat.o statbdry.o statcust.o statgrid.o statiddat.o statspars.o \
statb.o statc.o statg.o stati.o statm.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3tproc: m3tproc.o aggvars.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3tshift: m3tshift.o tshift.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3wndw: m3wndw.o wndwstep.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m3xtract: m3xtract.o xtstep.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

m4cple: m4cple.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

mtxblend: mtxblend.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

mtxbuild: mtxbuild.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

mtxcalc: mtxcalc.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

mtxcple: mtxcple.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

presterp: presterp.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

presz: presz.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

projtool: projtool.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

selmrg2d: selmrg2d.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

sfcmet: sfcmet.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

utmtool: utmtool.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

vertintegral: vertintegral.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

vertot: vertot.o verstep.o
cd ${OBJDIR}; $(FC) ${LFLAGS} $^ ${LIBS} -o $@

hys545의 이미지

-L/usr/share/pvm3/lib/LINUX64/
이렇게 추가하면 될것도 같은데

즐린

queenmedley의 이미지

앗.. 라이브러리 찾아서 그 부분 통과했어요.
긴 글을 보시고 알려주셔서 정말 고맙습니다. ^^
근데 쭉 가다 또 다른 난관이..... 에구.....

댓글 달기

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