AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[makefile](ubuntu)

Martin Hope
Theo Paraschiv
Asked: 2020-11-29 02:03:39 +0800 CST

带有 if 语句错误的 Makefile

  • 0

尝试使用其中包含 ifmakefile的run规则创建一个。

当我运行命令make run时,它返回此错误:

/bin/sh: 1: Syntax error: end of file unexpected (expecting "then")

该文件的名称是Makefile. 我能做些什么?(我Makefile用 Vim 编辑器创建了这个,Vim 的格式已经设置为 unix)。

这是代码的一部分:

#!bin/bash

#other rules 

run:

    if ls exec &>/dev/null
    then
            gcc -o exec file1.o file2.o
            ./exec
    else
           ./exec
    fi
scripts makefile
  • 2 个回答
  • 718 Views
Martin Hope
momuk
Asked: 2020-10-10 00:19:16 +0800 CST

Makefile:python:找不到命令

  • 0

我有一个包含这两行的 Makefile

run: sim
    @python run.py $(INPUT)

当我尝试运行时make run,我收到错误消息说python未找到。我很快意识到那是因为我只有python3,所以我添加了这一行

alias python=python3

到文件~/.bashrc和~/.profile分开。也就是说,我尝试通过将此别名添加到两个不同的文件来两次解决该问题。但是,即使我获取了文件并可以python在终端中运行,make run仍然给出了同样的错误。

但是,在我通过运行apt install python-is-python3. 虽然我没有这个问题了,但我不知道它是如何解决的。不python-is-python3只是创建一个符号链接 from /usr/bin/pythontopython3吗?它与我尝试的别名方法有什么不同吗?

python python3 makefile
  • 1 个回答
  • 2139 Views
Martin Hope
Kratos_GoS
Asked: 2020-10-08 07:47:47 +0800 CST

makedepf90:为 Fortran 源代码自动创建 Makefile 样式依赖列表的程序

  • 0

我以为安装这个程序只需几秒钟,但老实说它让我感到困惑。该程序用于为 Fortran 源代码自动创建 Makefile 样式的依赖项列表。

我按照指南进行操作,但“./configure [options]”步骤不起作用,开发人员说了一些话以某种方式修复此错误,但我不够专业,不知道“ tweaking ”是什么意思。我试图按照这个自述文件的第 50-66 行作为解决方案,但没有运气: https ://github.com/outpaddling/makedepf90/blob/master/readme

程序: https ://github.com/outpaddling/makedepf90

有救人吗???

和平

software-installation makefile fortran
  • 1 个回答
  • 133 Views
Martin Hope
jmaloney1985
Asked: 2020-10-08 07:36:13 +0800 CST

使用“make install”命令时出错

  • 1

我正在尝试安装需要安装某些库的 WRF 天气软件( http://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php#STEP7 )。我可以解压缩 zip 文件,运行configure并make执行得很好,但是当我尝试时make install,我收到以下错误:

make  install-recursive
make[1]: Entering directory '/home/jmaloney1985/Desktop/Programs/Build_WRF/LIBRARIES/mpich-3.0.4'
Making install in src/mpl
make[2]: Entering directory '/home/jmaloney1985/Desktop/Programs/Build_WRF/LIBRARIES/mpich-3.0.4/src/mpl'
make[3]: Entering directory '/home/jmaloney1985/Desktop/Programs/Build_WRF/LIBRARIES/mpich-3.0.4/src/mpl'
/usr/bin/mkdir -p '/{path_to_dir}/Build_WRF/LIBRARIES/mpich/lib'
/usr/bin/mkdir: cannot create directory ‘/{path_to_dir}’: Permission denied
make[3]: *** [Makefile:409: install-libLTLIBRARIES] Error 1
make[3]: Leaving directory '/home/jmaloney1985/Desktop/Programs/Build_WRF/LIBRARIES/mpich-3.0.4/src/mpl'
make[2]: *** [Makefile:893: install-am] Error 2
make[2]: Leaving directory '/home/jmaloney1985/Desktop/Programs/Build_WRF/LIBRARIES/mpich-3.0.4/src/mpl'
make[1]: *** [Makefile:23607: install-recursive] Error 1
make[1]: Leaving directory '/home/jmaloney1985/Desktop/Programs/Build_WRF/LIBRARIES/mpich-3.0.4'
make: *** [Makefile:23930: install] Error 2

对此有什么想法?非常感谢任何输入。

谢谢!

command-line error-handling makefile make execute-command
  • 1 个回答
  • 1366 Views
Martin Hope
CPLTarun
Asked: 2020-08-19 10:21:24 +0800 CST

新手:如何在Ubuntu Studio 20.04上使用QMAKE编译安装FaustLive?无法使用带有 linux-g++ 的 qmake 创建 Makefile

  • 1

FaustLive 是 Faust(开源、编译音频编程语言)的开源原型设计环境。这里是 FaustLive 的 GitHub:https ://github.com/grame-cncm/faustlive

通过终端成功编译和安装 Faust 后,我​​在 Ubuntu Studio 20.04 上使用 FaustLive 时遇到了麻烦。以下是他们的构建说明:https ://github.com/grame-cncm/faustlive/tree/master/Build

我已经安装了他们列出的所有必备软件包(据我所知,作为终端/linux 新手)。我被困在他们的“项目生成”步骤。在我将目录更改为 FaustLive 文件夹后,我按照说明在其中克隆了他们的 github,我正在尝试执行:

$ qmake -spec /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qmake.conf /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qplatformdefs.h

执行时,qmake 只是重复这个:

/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qplatformdefs.h:3: Extra characters after test expression. 它以 h:3 到 h:59 重复,中间跳过几行。它的最终输出是: Error processing project file: /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qplatformdefs.h

我从这里做什么?

software-installation compiling makefile g++ qmake
  • 1 个回答
  • 314 Views
Martin Hope
Akib Azmain
Asked: 2020-05-17 03:39:48 +0800 CST

“make”命令在包含“space”的目录中不起作用

  • 4

我经常make用来编译程序。但是,有时,只有某些包,当目录包含空格时,它会说:

No such file or directory

例子:

如果我make在目录中运行/home/akib/My Directory/:

  • 如果目录存在,则:

    $ make
    make: *** /home/akib/My: Is a directory. Stop.
    
  • 如果它不存在,那么:

    $ make
    Makefile:<line>: Directory/<file>: No such file or directory
    make: *** No rule to make target 'Directory/<file>'. Stop.
    

它是包的错误make还是Makefile?我认为这是makeMakefile 和两者的错误,因为这只发生在某些软件包中,并且当发生此错误时会make告诉一些错误行。我打开 Makefile 并看到这些行包含变量。我该如何解决这个问题?

command-line makefile make
  • 1 个回答
  • 5051 Views
Martin Hope
LvnTrvr
Asked: 2020-04-08 15:00:48 +0800 CST

Grib2 和 Netcdf 出错

  • 0

我正在尝试安装一个专为天气建模而设计的软件包。这可以在这里找到https://github.com/usgs/volcano-ash3d-metreader。当我尝试执行“全部制作”命令时,问题就出现了。运行时,我得到以下输出:

    /usr/bin/gfortran -O0 -g3 -Wall -fbounds-check -pedantic -fimplicit-none -Wunderflow -Wuninitialized -ffpe-trap=invalid,zero,overflow -fdefault-real-8   -L./ -lMetReader -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/opt/USGS/lib -I/usr/lib -I/usr/local/include -I/usr/include -I/usr/lib/x86_64-linux-gnu -I/opt/USGS/include -I/usr/local/lib   -lnetcdff -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -lnetcdf -lnetcdf -leccodes -leccodes_f90 -c tools/MetSonde.f90
    /usr/bin/gfortran -O0 -g3 -Wall -fbounds-check -pedantic -fimplicit-none -Wunderflow -Wuninitialized -ffpe-trap=invalid,zero,overflow -fdefault-real-8   MetSonde.o  -L./ -lMetReader -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/opt/USGS/lib -I/usr/lib -I/usr/local/include -I/usr/include -I/usr/lib/x86_64-linux-gnu -I/opt/USGS/include -I/usr/local/lib   -lnetcdff -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -lnetcdf -lnetcdf -leccodes -leccodes_f90 -L/opt/USGS/lib -I/opt/USGS/include -lhourssince -lprojection -o tools/MetSonde
    /usr/bin/gfortran -x f95-cpp-input -DFORWARD  -O0 -g3 -Wall -fbounds-check -pedantic -fimplicit-none -Wunderflow -Wuninitialized -ffpe-trap=invalid,zero,overflow -fdefault-real-8   tools/MetTraj.F90 -o tools/MetTraj_F -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/opt/USGS/lib -I/usr/lib -I/usr/local/include -I/usr/include -I/usr/lib/x86_64-linux-gnu -I/opt/USGS/include -I/usr/local/lib   -lnetcdff -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -lnetcdf -lnetcdf -leccodes -leccodes_f90 -L./ -lMetReader -L/opt/USGS/lib -I/opt/USGS/include -lhourssince -lprojection
    .//libMetReader.a(MetReader_NetCDF.o): In function `mr_set_met_dims_template_netcdf_':
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2249: undefined reference to `__netcdf_MOD_nf90_open'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2251: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2279: undefined reference to `__netcdf_MOD_nf90_inq_dimid'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2281: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2282: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2285: undefined reference to `__netcdf_MOD_nf90_inquire_dimension'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2287: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2288: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2298: undefined reference to `__netcdf_MOD_nf90_inq_varid'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2300: undefined 
.
.
.
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2871: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2872: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2885: undefined reference to `__netcdf_MOD_nf90_get_var_4d_fourbytereal'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2887: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2888: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2902: undefined reference to `__netcdf_MOD_nf90_get_var_3d_fourbytereal'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2904: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:2905: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:3061: undefined reference to `__netcdf_MOD_nf90_close'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:3063: undefined reference to `__netcdf_MOD_nf90_strerror'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_NetCDF.f90:3064: undefined reference to `__netcdf_MOD_nf90_strerror'
    .//libMetReader.a(MetReader_GRIB.o): In function `mr_read_met_dimvars_grib_':
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:104: undefined reference to `__grib_api_MOD_grib_open_file'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:105: undefined reference to `__grib_api_MOD_grib_new_from_file'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:107: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:108: undefined reference to `__grib_api_MOD_grib_release'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:109: undefined reference to `__grib_api_MOD_grib_close_file'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:123: undefined reference to `__grib_api_MOD_grib_open_file'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:125: undefined reference to `__grib_api_MOD_grib_new_from_file'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:134: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:135: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:141: undefined reference to `__grib_api_MOD_grib_get_string'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:142: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:144: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:149: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:186: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:190: undefined reference to `__grib_api_MOD_grib_get_data_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:202: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:208: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:214: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:216: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:225: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:229: undefined reference to `__grib_api_MOD_grib_get_data_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:241: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:247: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:259: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:279: undefined reference to `__grib_api_MOD_grib_get_real8'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:281: undefined reference to `__grib_api_MOD_grib_get_real8'
    .//libMetReader.a(MetReader_GRIB.o):/home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:283: more undefined references to `__grib_api_MOD_grib_get_real8' follow
    .//libMetReader.a(MetReader_GRIB.o): In function `mr_read_met_dimvars_grib_':
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:306: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:308: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:311: undefined reference to `__grib_api_MOD_grib_get_int' 

.
.
.
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1378: undefined reference to `__grib_api_MOD_grib_index_release'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1385: undefined reference to `__grib_api_MOD_grib_open_file'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1388: undefined reference to `__grib_api_MOD_grib_multi_support_on'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1391: undefined reference to `__grib_api_MOD_grib_new_from_file'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1395: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1396: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1397: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1398: undefined reference to `__grib_api_MOD_grib_get_int'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1399: undefined reference to `__grib_api_MOD_grib_get_int'
    .//libMetReader.a(MetReader_GRIB.o):/home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1400: more undefined references to `__grib_api_MOD_grib_get_int' follow
    .//libMetReader.a(MetReader_GRIB.o): In function `mr_read_metp_variable_grib_':
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1423: undefined reference to `__grib_api_MOD_grib_get_real8_array'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1443: undefined reference to `__grib_api_MOD_grib_release'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1444: undefined reference to `__grib_api_MOD_grib_new_from_file'
    /home/trevor/Downloads/volcano-ash3d-metreader-master/MetReader_GRIB.f90:1446: undefined reference to `__grib_api_MOD_grib_close_file'
    collect2: error: ld returned 1 exit status
    makefile:174: recipe for target 'MetTraj_F' failed
    make: *** [MetTraj_F] Error 1

我相信我的 makefile 根本没有引用 grib_api_mod 和 NetCDF_Mod 的正确位置,但我似乎无法找到纠正此问题的最佳方法。在这里,我还附上了我正在执行的 make 文件。

##############################################################################
#  Makefile for libmetreader.a
#
#    User-specified flags are in this top block
#
###############################################################################

#      This file is a component of the volcanic ash transport and dispersion model Ash3d,
#      written at the U.S. Geological Survey by Hans F. Schwaiger ([email protected]),
#      Larry G. Mastin ([email protected]), and Roger P. Denlinger ([email protected]).

#      The model and its source code are products of the U.S. Federal Government and therefore
#      bear no copyright.  They may be copied, redistributed and freely incorporated 
#      into derivative products.  However as a matter of scientific courtesy we ask that
#      you credit the authors and cite published documentation of this model (below) when
#      publishing or distributing derivative products.

#      Schwaiger, H.F., Denlinger, R.P., and Mastin, L.G., 2012, Ash3d, a finite-
#         volume, conservative numerical model for ash transport and tephra deposition,
#         Journal of Geophysical Research, 117, B04204, doi:10.1029/2011JB008968. 

#      We make no guarantees, expressed or implied, as to the usefulness of the software
#      and its documentation for any purpose.  We assume no responsibility to provide
#      technical support to users of this software.

#  SYSTEM specifies which compiler to use
#    Current available options are:
#      gfortran , ifort
#    This variable cannot be left blank
#      
SYSTEM = gfortran
#
#  RUN specifies which collection of compilation flags that should be run
#    Current available options are:
#      DEBUG : includes debugging info and issues warnings
#      PROF  : includes profiling flags with some optimization
#      OPT   : includes optimizations flags for fastest runtime
#    This variable cannot be left blank
RUN =DEBUG
#
INSTALLDIR=/opt/USGS
#INSTALLDIR=~/gcc
#
# DATA FORMATS
#  For each data format you want to include in the library, set the corresponding
#  variable below to 'T'.  Set to 'F' any you do not want compiled or any unavailable
USENETCDF = T
USEGRIB = T

# MEMORY
# If you need pointer arrays instead of allocatable arrays, set this to 'T'
USEPOINTERS = F

###############################################################################
#####  END OF USER SPECIFIED FLAGS  ###########################################
###############################################################################

FPPFLAGS = 
ifeq ($(USENETCDF), T)
 ncFPPFLAG = -DUSENETCDF
 ncOBJS = MetReader_NetCDF.o
 nclib = -lnetcdff -lnetcdf
else
 ncFPPFLAG =
 ncOBJS =
 nclib =
endif
ifeq ($(USEGRIB), T)
 grbFPPFLAG = -DUSEGRIB
 grbOBJS = MetReader_GRIB.o MetReader_GRIB_index.o
 # These are the libraries for grib_api
 #grblib = -lgrib_api_f90 -lgrib_api
 # These are the libraries for ecCodes
 grblib = -leccodes -leccodes_f90
else
 grb2FPPFLAG =
 grb2OBJS =
 grblib =
endif

ifeq ($(USEPOINTERS), T)
 memFPPFLAG = -DUSEPOINTERS
else
 memFPPFLAG =
endif

FPPFLAGS = -x f95-cpp-input $(ncFPPFLAG) $(grbFPPFLAG) $(grbFPPFLAG) $(memFPPFLAG)

# location of HoursSince and projection
USGSLIBDIR = -L$(INSTALLDIR)/lib
USGSINC = -I$(INSTALLDIR)/include
USGSLIB = $(USGSLIBDIR) $(USGSINC) -lhourssince -lprojection

EXEC = \
 gen_GRIB_index   \
 tools/MetSonde  \
 tools/MetTraj_F \
 tools/MetTraj_B \
 tools/MetCheck  \
 tools/makegfsncml

###############################################################################
###############################################################################

###############################################################################
##########  GNU Fortran Compiler  #############################################
ifeq ($(SYSTEM), gfortran)
    FCHOME=/usr
    FC = /usr/bin/gfortran

    COMPINC = -I$(FCHOME)/local/include -I$(FCHOME)/include -I$(FCHOME)/lib/x86_64-linux-gnu -I$(INSTALLDIR)/include -I$(FCHOME)/local/lib 
    COMPLIBS = -L$(FCHOME)/local/lib -L$(FCHOME)/lib/x86_64-linux-gnu -L${INSTALLDIR}/lib -I$(FCHOME)/lib

    #COMPINC = -I$(FCHOME)/include  -I$(INSTALLDIR)/include
    #COMPLIBS = -L$(FCHOME)/lib64 -L${INSTALLDIR}/lib

    LIBS = $(COMPLIBS) $(COMPINC) #-lefence
    # -lefence 
# Debugging flags
ifeq ($(RUN), DEBUG)
    FFLAGS =  -O0 -g3 -Wall -fbounds-check -pedantic -fimplicit-none -Wunderflow -Wuninitialized -ffpe-trap=invalid,zero,overflow -fdefault-real-8 
endif
# Profiling flags
ifeq ($(RUN), PROF)
    FFLAGS = -g -pg -w -fno-math-errno -funsafe-math-optimizations -fno-trapping-math -fno-signaling-nans -fcx-limited-range -fno-rounding-math -fdefault-real-8
endif
# Production run flags
ifeq ($(RUN), OPT)
    FFLAGS = -O3 -w -fno-math-errno -funsafe-math-optimizations -fno-trapping-math -fno-signaling-nans -fcx-limited-range -fno-rounding-math -fdefault-real-8
endif
    EXFLAGS =
endif
###############################################################################

all: libMetReader.a tools

libMetReader.a: MetReader.F90 MetReader.o $(ncOBJS) $(grbOBJS) MetReader_Grids.o MetReader_ASCII.o makefile
    ar rcs libMetReader.a MetReader.o $(ncOBJS) $(grbOBJS) MetReader_Grids.o MetReader_ASCII.o

MetReader.o: MetReader.F90 makefile
    $(FC) $(FPPFLAGS) $(EXFLAGS) -c MetReader.F90
MetReader_Grids.o: MetReader_Grids.f90 MetReader.o makefile
    $(FC) $(FFLAGS) $(EXFLAGS) $(LIBS) -c MetReader_Grids.f90
MetReader_ASCII.o: MetReader_ASCII.f90 MetReader.o makefile
    $(FC) $(FFLAGS) $(EXFLAGS) $(LIBS) -c MetReader_ASCII.f90

ifeq ($(USENETCDF), T)
MetReader_NetCDF.o: MetReader_NetCDF.f90 MetReader.o makefile
    $(FC) $(FPPFLAGS) $(FFLAGS) $(EXFLAGS) $(LIBS) $(nclib) $(USGSLIB) -c MetReader_NetCDF.f90
endif
ifeq ($(USEGRIB), T)
MetReader_GRIB_index.o: MetReader_GRIB_index.f90 makefile
    $(FC) $(FFLAGS) $(EXFLAGS) $(LIBS) $(grblib) $(USGSLIB) -c MetReader_GRIB_index.f90
MetReader_GRIB.o: MetReader_GRIB.f90 MetReader_GRIB_index.o MetReader.o makefile
    $(FC) $(FFLAGS) $(EXFLAGS) $(LIBS) $(grblib) -c MetReader_GRIB.f90
gen_GRIB_index: gen_GRIB_index.f90 MetReader_GRIB_index.o makefile libMetReader.a
    $(FC) $(FFLAGS) $(EXFLAGS) $(LIBS) $(grblib) -c gen_GRIB_index.f90
    $(FC) $(FFLAGS) $(EXFLAGS) MetReader_GRIB_index.o gen_GRIB_index.o $(LIBS) $(grblib) -o gen_GRIB_index
endif


ifeq ($(USEGRIB), T)
  GRIBTOOL = gen_GRIB_index
else
  GRIBTOOL =
endif

tools: MetSonde MetTraj_F MetTraj_B MetCheck makegfsncml $(GRIBTOOL)

MetSonde: tools/MetSonde.f90 makefile libMetReader.a
    $(FC) $(FFLAGS) $(EXFLAGS) -L./ -lMetReader $(LIBS) $(nclib) $(grblib) -c tools/MetSonde.f90
    $(FC) $(FFLAGS) $(EXFLAGS) MetSonde.o  -L./ -lMetReader $(LIBS) $(nclib) $(grblib) $(USGSLIB) -o tools/MetSonde
MetTraj_F: tools/MetTraj.F90 makefile libMetReader.a
    $(FC) -x f95-cpp-input -DFORWARD  $(FFLAGS) $(EXFLAGS) tools/MetTraj.F90 -o tools/MetTraj_F $(LIBS) $(nclib) $(grblib) -L./ -lMetReader $(USGSLIB)
MetTraj_B: tools/MetTraj.F90 makefile libMetReader.a
    $(FC) -x f95-cpp-input -DBACKWARD $(FFLAGS) $(EXFLAGS) tools/MetTraj.F90 -o tools/MetTraj_B $(LIBS) $(nclib) $(grblib) -L./ -lMetReader $(USGSLIB)
MetCheck: tools/MetCheck.f90 makefile libMetReader.a
    $(FC) $(FFLAGS) $(EXFLAGS) $(LIBS) $(nclib) $(grblib) -c tools/MetCheck.f90
    $(FC) $(FFLAGS) $(EXFLAGS) MetCheck.o $(LIBS) $(nclib) $(grblib) -L./ -lMetReader $(USGSLIB) -o tools/MetCheck
makegfsncml: tools/makegfsncml.f90 makefile
    $(FC) $(FFLAGS) $(EXFLAGS) $(LIBS) $(nclib) -c tools/makegfsncml.f90
    $(FC) $(FFLAGS) $(EXFLAGS) makegfsncml.o  $(LIBS) $(nclib) -o tools/makegfsncml

clean:
    rm -f *.o
    rm -f *.mod
    rm -f lib*.a
    rm -f $(EXEC)

install:
    install -d $(INSTALLDIR)/lib/
    install -d $(INSTALLDIR)/include/
    install -d $(INSTALLDIR)/bin/
    install -d $(INSTALLDIR)/bin/autorun_scripts
    install -m 644 libMetReader.a $(INSTALLDIR)/lib/
    install -m 644 *.mod $(INSTALLDIR)/include/
    install -m 755 $(EXEC) $(INSTALLDIR)/bin/
    install -m 755 autorun_scripts/*.sh $(INSTALLDIR)/bin/autorun_scripts/

对此的任何帮助或建议将不胜感激。谢谢!

makefile
  • 1 个回答
  • 161 Views
Martin Hope
xjm
Asked: 2020-01-22 22:27:57 +0800 CST

make: *** 没有规则可以使“ell/util.lo”需要目标“ell/util.c”

  • 2

我需要安装ofono,所以我克隆了这个ofono存储库并autoreconf -fi在./configure目录中做了。但是当我跑步make或sudo make install遇到以下错误时:

make[1]: *** No rule to make target 'ell/util.c' needed by 'ell/util.lo' Stop.
Makefile:2093: recipe for target 'all' failed
make: *** [all] Error 2

我检查了文件夹并且 ell/util.c 存在,但 ell/util.lo 不存在。我也在另一台电脑上测试过,我也遇到了同样的错误。我错过了任何依赖项或步骤吗?

makefile make
  • 1 个回答
  • 3384 Views
Martin Hope
llvs
Asked: 2019-09-27 03:07:53 +0800 CST

编译 16.04 HWE 内核时打包失败

  • 0

简短的摘要:

打包脚本的路径错误。

详细错误总结:

为了编译内核,我使用了此处的编译指令,其中包括以下步骤:

  1. 签出 git 来源:

    git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial -b hwe
    
  2. 使用以下命令修改配置:

    fakeroot debian/rules clean
    fakeroot debian/rules editconfigs
    

    我只更改了一个选项,相当于CONFIG_DMA_CMA=y在Device drivers → CMA下列出的。正如建议的那样,我通过在 menuconfig 中设置新内核为新内核添加了一个自定义名称,最终CONFIG_LOCALVERSION="-cma"生成配置文件。

    我为 x64 和 x64lowlatency 配置更改了它(我也尝试为 i386 和 armhf 更改它,但这没有任何区别)。

  3. 构建它:

    CONCURRENCY_LEVEL=4 fakeroot debian/rules binary-headers binary-generic binary-perarch
    

错误的输出是:

...[a seemingly succesful compile and lots of INSTALL]...
#
# Build module blacklists:
#  - blacklist all watchdog drivers (LP:1432837)
#
...[more output]...
ls: cannot access '/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel/drivers/watchdog/': No such file or directory
#
# Remove all modules not in the inclusion list.
#
...[more output]...
depmod: ERROR: could not open directory /home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
mv: cannot stat '/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel': No such file or directory
debian/rules.d/2-binary-arch.mk:89: recipe for target 'install-generic' failed
make: *** [install-generic] Error 1

来自的消息ls确实是正确的,因为此声明的目录不存在:

/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel/drivers/watchdog/

仅存在此-cma添加的目录:

/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic-cma/kernel/drivers/watchdog/

但它没有被搜索到。

我将黑名单的所有看门狗驱动程序的输出本地化为来自:

./xenial/debian/rules.d/2-binary-arch.mk

但是我无法识别 Makefile 中的部分,哪个路径变量是错误的以及我将如何修复它。这超出了我的 Linux 知识。

谁能帮我?

compiling packaging kernel makefile
  • 1 个回答
  • 156 Views
Martin Hope
Tina J
Asked: 2019-07-11 10:42:32 +0800 CST

如何在 Makefile 中修改构建规则

  • 1

我试图从位于HERE的源代码编译 FFmpeg 。一切都很好,但是构建的二进制文件缺少ffplay. 并且看起来位于/fftools.

如何修改 makefile(s) 以构建 ffplay,以及 ffmpeg 和 ffprobe?

compiling ffmpeg gcc c makefile
  • 2 个回答
  • 730 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve