我正在尝试使用Xquartz 2.7.2在Mountain Lion中构建xmonad,找到教程here。
我正在使用cabal获取所需的X11库cabal install X11-1.5.0.1
。
这没用,所以我得到了焦油并试着用ghc构建它,同样的错误。它不会配置:
Resolving dependencies...
Configuring X11-1.5.0.1...
configure: WARNING: unrecognized options: --with-compiler, --with-gcc
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.outchecking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for X... no
configure: error: in `/private/var/folders/vr/6swz_qtn60q0ld9lp_pbdqk80000gn/T/X11-1.5.0.1-78620/X11-1.5.0.1':
configure: error: X11 libraries not found, so X11 package cannot be built
See `config.log' for more details
cabal: Error: some packages failed to install:X11-1.5.0.1 failed during the configure step. The exception was:ExitFailure 1
我的config.log:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by Haskell X11 package configure 1.4.6, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ configure --with-hc=ghc --with-gcc=/usr/bin/gcc
## --------- ##
## Platform. ##
## --------- ##
hostname = ilikeplantss-MacBook.local
uname -m = x86_64
uname -r = 12.0.0
uname -s = Darwin
uname -v = Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64
/usr/bin/uname -p = i386
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = Mach kernel version:
Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64
Kernel configured for up to 2 processors.
2 processors are physically available.
2 processors are logically available.
Processor type: i486 (Intel 80486)
Processors active: 0 1
Primary memory available: 2.00 gigabytes
Default processor set: 96 tasks, 410 threads, 2 processors
Load average: 1.90, Mach factor: 0.72
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /opt/local/bin
PATH: /opt/local/sbin
PATH: /usr/bin
PATH: /bin
PATH: /usr/sbin
PATH: /sbin
PATH: /usr/local/bin
PATH: /opt/X11/bin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2169: checking for gcc
configure:2185: found /usr/bin/gcc
configure:2196: result: gcc
configure:2425: checking for C compiler version
configure:2434: gcc --version >&5
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:2445: $? = 0
configure:2434: gcc -v >&5
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~28/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
configure:2445: $? = 0
configure:2434: gcc -V >&5
llvm-gcc-4.2: argument to `-V' is missing
configure:2445: $? = 1
configure:2434: gcc -qversion >&5
i686-apple-darwin11-llvm-gcc-4.2: no input files
configure:2445: $? = 1
configure:2465: checking whether the C compiler works
configure:2487: gcc -m32 conftest.c >&5
configure:2491: $? = 0
configure:2539: result: yes
configure:2542: checking for C compiler default output file name
configure:2544: result: a.out
configure:2550: checking for suffix of executables
configure:2557: gcc -o conftest -m32 conftest.c >&5
configure:2561: $? = 0
configure:2583: result:
configure:2605: checking whether we are cross compiling
configure:2613: gcc -o conftest -m32 conftest.c >&5
configure:2617: $? = 0
configure:2624: ./conftest
configure:2628: $? = 0
configure:2643: result: no
configure:2648: checking for suffix of object files
configure:2670: gcc -c -m32 conftest.c >&5
configure:2674: $? = 0
configure:2695: result: o
configure:2699: checking whether we are using the GNU C compiler
configure:2718: gcc -c -m32 conftest.c >&5
configure:2718: $? = 0
configure:2727: result: yes
configure:2736: checking whether gcc accepts -g
configure:2756: gcc -c -g conftest.c >&5
configure:2756: $? = 0
configure:2797: result: yes
configure:2814: checking for gcc option to accept ISO C89
configure:2878: gcc -c -m32 conftest.c >&5
configure:2878: $? = 0
configure:2891: result: none needed
configure:2917: checking how to run the C preprocessor
configure:2948: gcc -E conftest.c
configure:2948: $? = 0
configure:2962: gcc -E conftest.c
conftest.c:9:28: error: ac_nonexistent.h: No such file or directory
configure:2962: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Haskell X11 package"
| #define PACKAGE_TARNAME "X11"
| #define PACKAGE_VERSION "1.4.6"
| #define PACKAGE_STRING "Haskell X11 package 1.4.6"
| #define PACKAGE_BUGREPORT "dons@galois.com"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:2987: result: gcc -E
configure:3007: gcc -E conftest.c
configure:3007: $? = 0
configure:3021: gcc -E conftest.c
conftest.c:9:28: error: ac_nonexistent.h: No such file or directory
configure:3021: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Haskell X11 package"
| #define PACKAGE_TARNAME "X11"
| #define PACKAGE_VERSION "1.4.6"
| #define PACKAGE_STRING "Haskell X11 package 1.4.6"
| #define PACKAGE_BUGREPORT "dons@galois.com"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:3050: checking for X
configure:3158: gcc -E conftest.c
conftest.c:9:22: error: X11/Xlib.h: No such file or directory
configure:3158: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Haskell X11 package"
| #define PACKAGE_TARNAME "X11"
| #define PACKAGE_VERSION "1.4.6"
| #define PACKAGE_STRING "Haskell X11 package 1.4.6"
| #define PACKAGE_BUGREPORT "dons@galois.com"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <X11/Xlib.h>
configure:3189: gcc -o conftest -m32 conftest.c -lX11 >&5
conftest.c:9:22: error: X11/Xlib.h: No such file or directory
configure:3189: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Haskell X11 package"
| #define PACKAGE_TARNAME "X11"
| #define PACKAGE_VERSION "1.4.6"
| #define PACKAGE_STRING "Haskell X11 package 1.4.6"
| #define PACKAGE_BUGREPORT "dons@galois.com"
| #define PACKAGE_URL ""
| /* end confdefs.h. */
| #include <X11/Xlib.h>
| int
| main ()
| {
| XrmInitialize ()
| ;
| return 0;
| }
configure:3228: result: no
configure:3744: gcc -E conftest.c
conftest.c:10:22: error: X11/Xlib.h: No such file or directory
configure:3744: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Haskell X11 package"
| #define PACKAGE_TARNAME "X11"
| #define PACKAGE_VERSION "1.4.6"
| #define PACKAGE_STRING "Haskell X11 package 1.4.6"
| #define PACKAGE_BUGREPORT "dons@galois.com"
| #define PACKAGE_URL ""
| #define X_DISPLAY_MISSING 1
| /* end confdefs.h. */
| #include <X11/Xlib.h>
configure:3759: error: in `/Users/gav/Desktop/X11-1.6.0':
configure:3761: error: X11 libraries not found, so X11 package cannot be built
See `config.log' for more details
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_c_compiler_gnu=yes
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=-m32
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_XMKMF_set=
ac_cv_env_XMKMF_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_have_x=have_x=no
ac_cv_objext=o
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_cc_c89=
ac_cv_prog_cc_g=yes
## ----------------- ##
## Output variables. ##
## ----------------- ##
BUILD_PACKAGE_BOOL=''
CC='gcc'
CFLAGS='-m32'
CPP='gcc -E'
CPPFLAGS=' -INONE'
DEFS=''
ECHO_C='\c'
ECHO_N=''
ECHO_T=''
EGREP=''
EXEEXT=''
EXTRA_LIBRARIES=''
GREP=''
LDFLAGS=''
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
OBJEXT='o'
PACKAGE_BUGREPORT='dons@galois.com'
PACKAGE_NAME='Haskell X11 package'
PACKAGE_STRING='Haskell X11 package 1.4.6'
PACKAGE_TARNAME='X11'
PACKAGE_URL=''
PACKAGE_VERSION='1.4.6'
PATH_SEPARATOR=':'
SHELL='/bin/sh'
X11_BUILD_PACKAGE=''
XMKMF=''
X_CFLAGS=''
X_EXTRA_LIBS=''
X_LIBS=''
X_PRE_LIBS=''
ac_ct_CC='gcc'
bindir='${exec_prefix}/bin'
build_alias=''
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host_alias=''
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME "Haskell X11 package"
#define PACKAGE_TARNAME "X11"
#define PACKAGE_VERSION "1.4.6"
#define PACKAGE_STRING "Haskell X11 package 1.4.6"
#define PACKAGE_BUGREPORT "dons@galois.com"
#define PACKAGE_URL ""
#define X_DISPLAY_MISSING 1
configure: exit 1
我是否需要添加一些东西来纠正指向Xquartz库的路径?
答案 0 :(得分:11)
工具链在/opt
中找不到X11。您需要将X11安装到默认情况下编译器/链接器可以找到的位置,或者将相关的-I
和-L
标志传递给相应的工具。我听说这有效:
env CPPFLAGS="-I/opt/X11/include" LDFLAGS="-L/opt/X11/lib" your-build-command
虽然我个人只是将所有内容符号链接到/usr/{lib,include}
。