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>

관련 정보