加载共享库时出错:libpgplot.so:

加载共享库时出错:libpgplot.so:

我使用 Makefile 从源代码编译了一个名为 vmed 的程序。当我运行 make 时,编译没有任何错误,但是当我尝试运行该程序时,它给出了以下错误:

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

我已经安装了 pgplot 图。我的 ubuntu 1904 上还安装了以下 libX11.so 包:

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

相关内容