如何为 BSD 编译 fIcy?

如何为 BSD 编译 fIcy?

我正在尝试编译 fIcy (https://gitlab.com/wavexx/fIcy) 对于 NetBSD/FreeBSD。

当我执行 make 命令时,没有任何反应。甚至没有错误信息。

相同的源码包在 Debian 10 上编译没有问题。

Makefile 是否与 BSD 兼容?

https://gitlab.com/wavexx/fIcy/blob/master/Makefile

到目前为止我在 FreeBSD 12 上使用的命令:

pkg install gcc
wget https://gitlab.com/wavexx/fIcy/-/archive/master/fIcy-master.tar.gz
tar xfvz fIcy-master.tar.gz
cd fIcy-master
make

type make
make is /usr/bin/make

答案1

你应该使用 GNU 的 make 作为自述文件.rst说:

pkg install gmake

如果您已经安装了任何其他依赖项,您应该运行

gmake all

(注意g是第一个字母。)

对我有用,但如果您有任何错误消息,请发布/编辑它。

/注意:GNU make 和 FreeBSD make 不兼容。他们可以作为POSIX 使但有不同的扩展名。/

答案2

@uzsolt 的答案很可靠。该代码使用所描述的方法为我编译。然而,目标Makefile似乎需要此补丁install

--- Makefile    2019-01-29 07:21:44.000000000 -0800
+++ Makefile    2019-07-24 11:50:40.204021000 -0700
@@ -40,7 +40,7 @@
        rm -f $(all_OBJECTS) $(all_DEPS) $(TARGETS)

 install: $(TARGETS)
-       install -p -t $(DESTDIR)$(PREFIX)/bin/ $(TARGETS)
+       install -p $(TARGETS) $(DESTDIR)$(PREFIX)/bin/


 # Dependencies

应用该补丁后,您可以使用以下命令安装已编译的二进制文件:

sudo gmake install

答案3

参考文档,您应该能够FreeBSD在 中为 BSD 发行版(至少)编译并安装它/usr/local/,只需使用以下内容:

make CXX=eg++ PREFIX=/usr/local/ install

确保您gcc的版本等于或高于 3.0。

根据记录,安装部分文档的:

fIcy 附带了一个非常简单的 Makefile,它应该可以在任何使用 gcc 和 GNU make 的系统上工作。文档是使用 rst2html 从这些文件生成的。支持所有标准环境标志,包括用于重新定位安装的 DESTDIR/PREFIX。如果您需要使用不同的编译器(例如在 OpenBSD 上),您可以按如下方式调用 make:

make CXX=eg++ PREFIX=/usr install

而不是手动更改 Makefile。请注意,使用 gcc 时,至少需要 g++ >= 3 才能编译 fIcy。另请注意,要使“fPls”正常工作,fIcy 必须已安装(位于“PATH”中),或者必须使用 -P 指定完整的 fIcy 路径。

相关内容