공유 라이브러리를 로드하는 중 오류 발생: libpgplot.so:

공유 라이브러리를 로드하는 중 오류 발생: libpgplot.so:

Makefile을 사용하여 소스 코드에서 vmed라는 프로그램을 컴파일했습니다. 실행하면 오류 없이 컴파일이 진행되지만 프로그램을 실행하려고 하면 다음과 같은 오류가 발생합니다.

./vmed: error while loading shared libraries: libpgplot.so: cannot open shared object file: No such file or directory

pgplot 플롯이 이미 설치되어 있습니다. 또한 다음 libX11.so 패키지가 우분투 1904에 설치되어 있습니다.

shah@shah-VBox:~$ apt-file search libX11.so
libx11-6: /usr/lib/x86_64-linux-gnu/libX11.so.6
libx11-6: /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
libx11-dev: /usr/lib/x86_64-linux-gnu/libX11.so
nxagent: /usr/lib/x86_64-linux-gnu/nx/X11/libX11.so.6
nxagent: /usr/lib/x86_64-linux-gnu/nx/X11/libX11.so.6.3.0

누구든지 나에게 올바른 방향을 알려주고 내가 뭘 잘못하고 있는지 지적할 수 있습니까? 다음은 프로그램의 make 파일입니다.

#
# Makefile for vmed
#
EXEDIR=/usr/local/vmed/
#EXEDIR=/mn/vann/it-scratch/gfprog/VMED/
export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
#
FC = gfortran
CFLAGS = -O 
FFLAGS = -O4 -ffixed-line-length-132
X11LIB = -lX11
#PGLIB =  -L/mn/geologi/gfgruppe-prog/PGPLOT -lpgplot
UCBLIB = 
LIB = -L/usr/lib -lpng
PGLIB =  -L/usr/local/pgplot  -lpgplot
LDLIBS = $(PGLIB) $(X11LIB) $(UCBLIB) $(LIB) -lm
#
#---------------------------------------------------------------------------
#
# Source objects. If your compiler cannot find the functions
# "date_and_time" and "lnblnk", then add datetime.o and lnblnk.o
# to the list of objects below.
#
VMED_OBJS= main.o getvpar.o vmed_axis.o vmed_plotmod.o \
           vmed_util.o vmed_colorize.o vmed_vcontrast.o vmed_lvz.o \
           vmed_cursor.o vmed_twtt.o vmed_1d.o chleng.o \
           vmed_buttons.o vmed_help.o \
           vmed_cursubs.o vmed_butsubs.o plot.o ri2grid.o \
           contour.o vmed_edit.o vmed_editsubs.o writeriv.o
#
# Executable name
#
VMED_EXEC=$(EXEDIR)vmed
#
all: main
main: $(VMED_OBJS)
    $(FC) -o main ${VMED_OBJS} -lX11 $(LDLIBS)
    mv main ${VMED_EXEC}

# dependencies
#
contour.o          :  rayinvr.par rayinvr.com
getvpar.o          :  rayinvr.par rayinvr.com
main.o             :  rayinvr.par rayinvr.com
ri2grid.o          :  rayinvr.par rayinvr.com
vmed_1d.o          :  rayinvr.par rayinvr.com
vmed_butsubs.o     :  rayinvr.par rayinvr.com
vmed_colorize.o    :  rayinvr.par rayinvr.com
vmed_cursor.o      :  rayinvr.par rayinvr.com
vmed_cursubs.o     :  rayinvr.par rayinvr.com
vmed_edit.o        :  rayinvr.par rayinvr.com
vmed_editsubs.o    :  rayinvr.par rayinvr.com
vmed_lvz.o         :  rayinvr.par rayinvr.com
vmed_plotmod.o     :  rayinvr.par rayinvr.com
vmed_twtt.o        :  rayinvr.par rayinvr.com
vmed_util.o        :  rayinvr.par rayinvr.com
vmed_vcontrast.o   :  rayinvr.par rayinvr.com
writeriv.o         :  rayinvr.par rayinvr.com

답변1

나는 이전에 Ubuntu 머신에 큰 문제 없이 PGPLOT을 설치했습니다. LD_LIBRARY_PATH환경 변수를 어디에 있는지 확인하십시오 libpgplot.so.

관련 정보