【问题标题】:make *** no targets specified and no makefile found. stopmake *** 没有指定目标,也没有找到 makefile。停止
【发布时间】:2013-01-02 23:44:55
【问题描述】:

我在安装包dionaea时遇到问题。

在我输入这个之后:

./configure --with-lcfg-include=/opt/dionaea/include/ \
--with-lcfg-lib=/opt/dionaea/lib/ \
--with-python=/opt/dionaea/bin/python3.1 \
--with-cython-dir=/usr/bin \
--with-udns-include=/opt/dionaea/include/ \
--with-udns-lib=/opt/dionaea/lib/ \
--with-emu-include=/opt/dionaea/include/ \
--with-emu-lib=/opt/dionaea/lib/ \
--with-gc-include=/usr/include/gc \
--with-ev-include=/opt/dionaea/include \
--with-ev-lib=/opt/dionaea/lib \
--with-nl-include=/opt/dionaea/include \
--with-nl-lib=/opt/dionaea/lib/ \
--with-curl-config=/opt/dionaea/bin/ \
--with-pcap-include=/opt/dionaea/include \
--with-pcap-lib=/opt/dionaea/lib/ \
--with-glib=/opt/dionaea

下一步是:

#make

出现错误消息: make: *** No targets specified and no makefile found. Stop.

我的目录是/usr/local/src

【问题讨论】:

  • git clone git://git.carnivore.it/dionaea.git dionaea
  • 您好 Blender,您知道如何解决吗?我真的需要帮助..
  • 你的源不应该直接在/usr/local/src你应该有一个子目录中的dionaea源。如果这样做,则必须在该子目录中运行 make。
  • 好的..感谢 altendky 的帮助。我试试看,因为现在我用了另一种方法..~.~
  • 然后你需要配置配置文件并启动它。

标签: makefile


【解决方案1】:

make 将生成文件作为输入。 Makefile 通常命名为makefileMakefileconfigure 命令应该生成一个makefile,以便可以依次执行make。检查是否在您的工作目录下生成了 makefile。

【讨论】:

  • 但在我安装一些包如 libpcap、curl、sqlite 等之前,可以执行 make。为什么当我想将 dionaea 安装在不同的目录中时..它不起作用?
  • 如何检查我的工作目录下是否生成了make文件?对不起,我是新手
  • 有Makefile.am & Makefile.in 那怎么解决呢? :)
  • 您的 makefile 应该由 configure 命令创建。所以也许配置命令有问题。你需要调试它。
  • FWIW,OP 的主题把我带到了这里,即使有 configure.ac 文件和 Makefile.in 存在,我的解压缩目录树也无法识别 ./configure -- 解决方案 --> 我不得不首先运行autoconf然后 ./configuremake 成功。
【解决方案2】:

运行make clean 然后./configure 应该可以解决您的问题。

【讨论】:

  • 如果没有 makefile,make clean 将如何工作?
  • @Thomas 哦,好痛... ;D
【解决方案3】:

我遇到了同样的错误,我通过查看此站点的解决方案来修复它:

http://trac.macports.org/ticket/40476.

所以你在运行 './configure' 后有任何错误吗?也许缺少 tclConfig.sh。 如果是这样,您必须先搜索tclConfigure.sh,而不是运行'./configure',然后将其放入命令中,在我的例子中,它位于/usr/lib/。然后运行: './configure ----with-tcl=/usr/lib --with-tclinclude=/usr/include'

【讨论】:

    【解决方案4】:

    ./configure 命令应该生成一个名为makefileMakefile 的makefile。如果目录下没有这个文件,则检查configure命令是否执行成功。

    就我而言,我配置了apr-util:

    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
    

    因为--with-apr=/usr/local/apr/bin/apr-1-configapr还没有安装,所以配置失败,没有生成apr/usr/local/apr/bin/apr-1-config

    所以我安装apr,然后配置apr-util,就可以了。

    【讨论】:

      【解决方案5】:

      你必须有这样的东西:

      "configure: error: "Error: libcrypto required."
      

      在您的./configure runs 之后。所以你需要先解决注意到的依赖关系,然后再次尝试./configure,然后运行 ​​make !

      【讨论】:

        【解决方案6】:

        我最近在尝试在 Ubuntu 上手动安装 texane's open-source STLink utility 时遇到了这个问题。奇怪的是,解决方案是,

        make clean
        make
        

        【讨论】:

          【解决方案7】:

          如果在 ./configure Makefile.in 和 Makefile.am 之后生成并且 make 失败(通过显示以下 make: *** No targets specified and no makefile found. Stop.)所以有些东西没有配置好,到解决它,首先运行“autoconf”命令解决错误配置然后重新运行“./configure”命令,最后“make”

          【讨论】:

            【解决方案8】:

            删除您的源代码树,该源代码树已被 gunzip 或 gzip 解压缩到文件夹并再次重新解压缩。再次提供您的选择

            ./configure --with-option=/path/etc ...
            

            如果所有的库都存在,你的 make 应该会成功。

            【讨论】:

              【解决方案9】:

              如果用户拒绝任何读写权限,则可能会发生这种情况。像 C:\Windows\System32\ 具有受限访问权限,您被克隆并试图从此类受限目录中创建。

              【讨论】:

                【解决方案10】:

                如果你在 VSCode 中创建 Makefile,你的 makefile 不会运行。我不知道这个问题的原因。可能文件的配置没有添加到系统中。但我以这种方式解决了。删除创建的makefile,然后转到项目目录并右键单击鼠标稍后创建一个文件并命名为Makefile。填写 Makefile 并运行后。它会起作用的。

                【讨论】:

                  【解决方案11】:

                  试试

                  make clean
                  ./configure --with-option=/path/etc
                  make && make install
                  

                  【讨论】:

                    【解决方案12】:

                    在我的例子中,数据库库中有一个文件 Makefile.PL: http://www.cpan.org/modules/by-module/DBI/DBI-1.630.tar.gz

                    以下命令创建了 ma​​kefile

                    perl Makefile.PL
                    

                    之后,ma​​ke命令起作用了

                    【讨论】:

                    • 您在哪个目录中执行了有效的 make 命令?你用过c还是c++?
                    • 在 DBI-1.630.tar.gz 内部有一个文件“Makefile.PL”。我使用带有默认 perl 安装的基本 linux shell
                    • 所以你不明白这个问题,提问者问为什么在 dionaea 包中找不到 makefile 而不是 DBI。你知道makefile是什么吗?
                    • 问题与缺少的 makefile 有关。我试图帮助分享我遇到同样问题但在另一个包中的经验。在我的情况下 perl Makefile.PL 创建缺少的 makefile
                    • 好吧 dionaea 不是 perl,它的 python。
                    【解决方案13】:

                    我认为这可能意味着 ./configure 命令由于某种原因失败,在我的情况下是由于缺少包。所以我用我的操作系统包管理器安装了所需的包(autoconfautoconf-archive 在我的情况下),然后它工作了。

                    【讨论】:

                      【解决方案14】:

                      从工作目录解压源代码并以 root 身份 cd 进入文件目录。使用命令 ./configure 然后 make 和 make install

                      【讨论】:

                      • 我不喜欢以 root 身份运行 configure 和 make 的建议。此外,OP 说这就是他正在做的事情:他运行了 configure,但没有导致 Makefile 的创建。
                      猜你喜欢
                      • 1970-01-01
                      • 2023-03-09
                      • 1970-01-01
                      • 2014-10-18
                      • 1970-01-01
                      • 2017-08-10
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多