FreeBSDでSnapwmを構築していますか(gccとclangの問題)?

FreeBSDでSnapwmを構築していますか(gccとclangの問題)?

FreeBSDによると、バージョン10以降、gccの代わりにClang / LLVMを使用しています。表面的には、すべてが以前と同じようにうまく機能するはずです。しかし、私は望んでいたよりもこの現実に直面してきました。一部のコードはこの方法でコンパイルできません。
たとえば、私はコンパイルしようとしています噴出する。最初の基本FreeBSDはmake実際にはpmake不可能でした。私たちの選択も同じですgmake。ただし、gmakeコードを実行すると、次のエラーが発生します。

gcc -g -std=c99 -pedantic -Wall -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -c -o snapwm.o snapwm.c gmake: gcc: Command not found gmake: *** [snapwm.o] Error 127

したがって、問題は、これらの障害を経験するコードをどのようにコンパイルするかです。

答え1

時にはパッチが必要な場合もあります。私はあなたが適用して使用できるものを作りましたgmake。コンパイルしようとしたのではなく、snapwmビルドプロセスをテストしただけです。

diff -ur Nextwm-master.orig/Makefile Nextwm-master/Makefile
--- Nextwm-master.orig/Makefile 2014-03-12 19:46:34.000000000 +0100
+++ Nextwm-master/Makefile  2014-04-16 13:07:08.000000000 +0200
@@ -1,12 +1,12 @@
-CFLAGS+= -g -std=c99 -pedantic -Wall -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2
+CFLAGS+= -g -std=c99 -pedantic -Wall -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -I/usr/local/include/
 LDADD+= -lX11 -lXinerama
-LDFLAGS= -Wl,-O1,--sort-common,--as-needed,-z,relro
+LDFLAGS= -Wl,-O1,--sort-common,--as-needed,-z,relro,-L/usr/local/lib
 EXEC=snapwm

 PREFIX?= /usr/local
 BINDIR?= $(PREFIX)/bin

-CC=gcc
+CC=clang

 all: $(EXEC)

diff -ur Nextwm-master.orig/snapwm.c Nextwm-master/snapwm.c
--- Nextwm-master.orig/snapwm.c 2014-03-12 19:46:34.000000000 +0100
+++ Nextwm-master/snapwm.c  2014-04-16 13:03:24.000000000 +0200
@@ -27,6 +27,7 @@
 //#include <X11/keysym.h>
 /* For a multimedia keyboard */
 #include <X11/XF86keysym.h>
+#include <sys/signal.h>
 #include <X11/Xproto.h>
 #include <X11/Xutil.h>
 #include <X11/Xatom.h>

関連情報