首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不熟悉CMAKE,配置中可能出现错误

不熟悉CMAKE,配置中可能出现错误
EN

Stack Overflow用户
提问于 2022-06-01 01:00:30
回答 1查看 149关注 0票数 0

我正在尝试为后处理工具包安装(https://github.com/NOAA-EMC/NCEPLIBS)。我已将所需的库下载并安装到构建文件夹中:

代码语言:javascript
复制
#############################Compilers#######################
    export CC=gcc
    export CXX=g++
    export FC=gfortran
    export F77=gfortran
            
    #############################zlib############################
    #Uncalling compilers due to comfigure issue with zlib1.2.12
    #With CC & CXX definied ./configure uses different compiler Flags
    cd $HOME/WRF/Downloads
    tar -xvzf v1.2.12.tar.gz
    cd zlib-1.2.12/
    CC= CXX= ./configure --prefix=$DIR/grib2
    make
    make install
    make check
     
#############################libpng###########################
    cd $HOME/WRF/Downloads
    export LDFLAGS=-L$DIR/grib2/lib
    export CPPFLAGS=-I$DIR/grib2/include
    tar -xvzf libpng-1.6.37.tar.gz
    cd libpng-1.6.37/
    ./configure --prefix=$DIR/grib2
    make
    make install
    make check
    ##############################Llibjpeg#########################
    #Used for nceplibs only
    cd $HOME/WRF/Downloads
    export LDFLAGS=-L$DIR/grib2/lib
    export CPPFLAGS=-I$DIR/grib2/include
    tar -xvzf jpegsrc.v9.tar.gz
    cd jpeg-9
    ./configure --prefix=$DIR/grib2
    make 
    make install
    #############################JasPer############################
    cd $HOME/WRF/Downloads
    unzip jasper-1.900.1.zip
    cd jasper-1.900.1/
    autoreconf -i
    ./configure --prefix=$DIR/grib2
    make
    make install
    
    export JASPERLIB=$DIR/grib2/lib
    export JASPERINC=$DIR/grib2/include
    ##############################MPICH############################
    cd $HOME/WRF/Downloads
    tar -xvzf mpich-4.0.2.tar.gz
    cd mpich-4.0.2/
    ./configure --prefix=$DIR/MPICH --with-device=ch3 FFLAGS=-fallow-argument-mismatch FCFLAGS=-fallow-argument-mismatch
    make
    make install
    make check
    
    export PATH=$DIR/MPICH/bin:$PATH
    
    #############################hdf5 library for netcdf4 functionality############################
    cd $HOME/WRF/Downloads
    tar -xvzf hdf5-1_12_2.tar.gz
    cd hdf5-hdf5-1_12_2
    ./configure --prefix=$DIR/grib2 --with-zlib=$DIR/grib2 --enable-hl --enable-fortran
    make 
    make install
    make check
    
    export HDF5=$DIR/grib2
    export LD_LIBRARY_PATH=$DIR/grib2/lib:$LD_LIBRARY_PATH
    
    ##############################Install NETCDF C Library############################
    cd $HOME/WRF/Downloads
    tar -xzvf v4.8.1.tar.gz
    cd netcdf-c-4.8.1/
    export CPPFLAGS=-I$DIR/grib2/include 
    export LDFLAGS=-L$DIR/grib2/lib
    ./configure --prefix=$DIR/NETCDF --disable-dap
    make 
    make install
    make check
    
    export PATH=$DIR/NETCDF/bin:$PATH
    export NETCDF=$DIR/NETCDF
    
    ##############################NetCDF fortran library############################
    cd $HOME/WRF/Downloads
    tar -xvzf v4.5.4.tar.gz
    cd netcdf-fortran-4.5.4/
    export LD_LIBRARY_PATH=$DIR/NETCDF/lib:$LD_LIBRARY_PATH
    export CPPFLAGS=-I$DIR/NETCDF/include 
    export LDFLAGS=-L$DIR/NETCDF/lib
    ./configure --prefix=$DIR/NETCDF --disable-shared
    make 
    make install
    make check

现在,我正在为nceplibs执行安装命令:

代码语言:javascript
复制
cd $HOME/WRF/Downloads
git clone https://github.com/NOAA-EMC/NCEPLIBS
cd NCEPLIBS
mkdir -p build && cd build
export CC=gcc
export FC=gfortran
export CXX=g++
export FFLGAS=-fallow-argument-mismatch
export FCFLAGS=-fallow-argument-mismatch

export JPEG_LIBRARY=/home/will/WRF/Libs/grib2/lib
export JPEG_INCLUDE_DIR=/home/will/WRF/Libs/grib2/include
export JASPER_LIBRARIES=/home/will/WRF/Libs/grib2/lib
export JASPER_INCLUDE_DIR=/home/will/WRF/Libs/grib2/include

export INSTALL_PREFIX=$HOME/WRF/Libs/nceplibs
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} ..
make
make install

然而,每当我试图运行make命令时,就会出现这样的情况,即找不到JASPER & JPEG的导出。我相信这与cmake有关,但我不能百分之百肯定。

这是我在终端上看到的错误。

代码语言:javascript
复制
[ 39%] Completed 'w3nco'
[ 40%] Built target w3nco
[ 41%] Performing update step for 'g2'
[ 42%] No patch step for 'g2'
[ 42%] Performing configure step for 'g2'
-- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR) 
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find Jasper (missing: JASPER_LIBRARIES JASPER_INCLUDE_DIR
  JPEG_LIBRARIES)
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.22/Modules/FindJasper.cmake:62 (find_package_handle_standard_args)
  CMakeLists.txt:24 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/will/WRF/Downloads/NCEPLIBS/build/g2/src/g2-build/CMakeFiles/CMakeOutput.log".
make[2]: *** [CMakeFiles/g2.dir/build.make:92: g2/src/g2-stamp/g2-configure] Error 1
make[1]: *** [CMakeFiles/Makefile2:348: CMakeFiles/g2.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

我不确定是否必须将这些值放到$PATH中,以便被cmake获取,或者是否缺少一个命令。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-05 16:51:47

代码语言:javascript
复制
 cmake -DCMAKE_PREFIX_PATH:PATH=$DIR/grib2 -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}  ..
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72455454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档