X11 headers not in El Capitan 10.11 SDK? - x11

In OSX versions prior to Lion, I built X11 applications with the /usr/X11 path. It worked fine in Tiger and Snow Leopard.
After Lion, and because of a reason I no longer remember (I believe it was related to avoiding header mismatches from different SDK versions), I changed this approach and compiled all X11 apps avoiding /usr at all and using instead this: -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.x.sdk (where the 'x' in 'MacOSX10.x.sdk' was the SDK version being used). This approach for building X11 apps has worked fine for me in Mountain Lion and Yosemite.
However, now I updated my system to El Capitan, and X11 applications configure scripts cannot find X11 anymore with -isysroot.
See, this is what I'm getting now with El Capitan, doing exactly the same that worked fine in Mountain Lion and Yosemite:
creating cache ./config.cache
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal-1.4... missing
checking for working autoconf... missing
checking for working automake-1.4... missing
checking for working autoheader... missing
checking for working makeinfo... found
checking for gcc... gcc
checking whether the C compiler (gcc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11 -L/usr/X11R6/lib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11) works... yes
checking whether the C compiler (gcc -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11 -L/usr/X11R6/lib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for gcc option to accept ANSI C... none needed
checking for Cygwin environment... no
checking for mingw32 environment... no
checking host system type... i386-apple-darwin15.0.0
checking build system type... i386-apple-darwin15.0.0
checking for ld used by GCC... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm
checking for a sed that does not truncate output... /usr/bin/sed
checking whether ln -s works... yes
checking how to recognise dependent libraries... file_magic Mach-O dynamically linked shared library
checking for object suffix... o
checking for executable suffix... no
checking command to parse /usr/bin/nm output... ok
checking for dlfcn.h... yes
checking for ranlib... ranlib
checking for strip... strip
checking for objdir... .libs
checking for gcc option to produce PIC... -fno-common
checking if gcc PIC flag -fno-common works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking whether the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... unsupported
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... darwin15.0.0 dyld
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
creating libtool
checking for executable suffix... (cached) no
checking for byacc... no
checking for flex... flex
checking for flex... (cached) flex
checking for yywrap in -lfl... no
checking lex output file root... lex.yy
checking whether yytext is a pointer... no
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... (cached) yes
checking whether make sets ${MAKE}... (cached) yes
checking for X... no
I see however that /usr/X11 exists in my system (it's actually a link to /opt/X11 because El Capitan disallows /usr for non-Apple users, but /opt/X11 is correctly there, with all the X11 headers and libs).
Does this mean that X11 applications cannot be built with -isysroot anymore? Do I need to build them with the system root include path (which exists in /usr/include, BTW) ? (my system even has /usr/include/stdio.h and all standard headers, I've no idea why, because I believed all headers had been moved to the SDKs).
If affirmative, I don't feel confident with including from /usr/include instead of from the SDK include path... it makes me feel fear of SDK mismatches...
Thanks!!

Not sure if this solution is correct from an SDK-correctness perspective, but in 10.11 El Capitan it seems setting '-isysroot' is no longer enough for compiling X11 applications.
So, trying to use headers only from the SDK, and complementing them with X11 headers only (so the only "outsiders" are the X11 headers), I found that this solution works:
Options for the compile line: -I/opt/X11/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
Options for the link line: -L/opt/X11/lib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
As I said, I don't know if this is the correct way of doing it, but it (seems to) work. I'm using XQuartz 2.7.7, which is the latest release at the time of writing this.

Related

Error after .configure to install Omnet++ 5.6.1 on Mac

I am trying to get Omnet++ to run on my Mac and i am at the following step:
3.6. Configuring and Building OMNeT++
Check configure.user to make sure it contains the settings you need. In most cases
you don’t need to change anything in it.
In the top-level OMNeT++ directory, type:
$ ./configure
The configure script detects installed software and configuration of your system.
It writes the results into the Makefile.inc file, which will be read by the makefiles
during the build process.
But my log shows me this and i don't understand what i did wrong or where i should make changes:
checking build system type... x86_64-apple-darwin21.1.0
checking host system type... x86_64-apple-darwin21.1.0
configure: -----------------------------------------------
configure: reading configure.user for your custom settings
configure: -----------------------------------------------
checking for icc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking 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 for icpc... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for g++... g++
checking for ranlib... ranlib
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
checking whether g++ supports -fno-omit-frame-pointer... yes
checking whether g++ supports -Wl,--no-as-needed... no
checking whether g++ supports -Wl,--as-needed... no
checking if shared libs need -fPIC... no
checking for dlopen with CFLAGS="" LIBS=""... yes
checking if --export-dynamic linker option is supported/needed... test failed
checking for flags needed to link with static libs containing simple modules... -all_load
configure: NOTE: Use the following syntax when linking with static libraries
configure: containing simple modules and other dynamically registered components:
configure: g++ ... -Wl,-all_load <libs> ...
checking whether linker supports -rpath... yes
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... none needed
checking whether yytext is a pointer... no
checking for make... make
checking for perl... perl
checking for swig... not found
checking for math with CFLAGS="" LIBS=""... yes
checking for standard C++ lib with CFLAGS="" LIBS="-lstdc++"... yes
checking for dlopen with CFLAGS="" LIBS=""... yes
checking for qmake... no
checking for qmake-qt5... no
checking for qmake5... no
configure: error: Qtenv cannot find qmake -- maybe it is not in the PATH or has some exotic name (tested names were: qmake qmake-qt5 qmake5) - disabling Qtenv. You can try setting the QT_PATH variable in configure.user to a valid location.
Make sure you have sourced the setenv script with
source setenv
before trying to run the configure script.
Also, why not use OMNeT++ 5.7 ?

problems when configure omnet (omnetpp-5.4.1)

I have run into probelms when configure omnetpp-5.1.1 on windows10
I have installed gcc sucessfully as showed below:
PS C:\Users\admin> gcc -v
specs
COLLECT_GCC=C:\MinGW\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/lto-wrapper.exe
mingw32
../src/gcc-6.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --with-gmp=/mingw --with-mpfr --with-mpc=/mingw --with-isl=/mingw --prefix=/mingw --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-pkgversion='MinGW.org GCC-6.3.0-1' --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --enable-libgomp --disable-libvtv --enable-nls
win32
gcc 6.3.0 (MinGW.org GCC-6.3.0-1)
2.when I follow the instructions and Type "./configure"
the problem ouccurs: here is my log
/d/softwares/omnet/omnetpp/omnetpp-5.4.1$ ./configure
configure: loading site script /mingw64/etc/config.site
checking build system type... x86_64-w64-mingw32
checking host system type... x86_64-w64-mingw32
configure: -----------------------------------------------
configure: reading configure.user for your custom settings
configure: -----------------------------------------------
checking for clang... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
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 clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking for clang++... clang++
checking whether we are using the GNU C++ compiler... yes
checking whether clang++ accepts -g... yes
checking for clang++... clang++
checking for ranlib... ranlib
checking whether clang++ supports -fno-stack-protector... yes
checking whether clang++ supports -Wl,--no-as-needed... yes
checking whether clang++ supports -Wl,--as-needed... yes
checking for swapcontext... no
checking if shared libs need -fPIC... no
checking for dlopen with CFLAGS="" LIBS=""... no
checking if --export-dynamic linker option is supported/needed... test failed
checking for flags needed to link with static libs containing simple modules... --whole-archive
configure: NOTE: Use the following syntax when linking with static libraries
configure: containing simple modules and other dynamically registered components:
configure: clang++ ... -Wl,--whole-archive <libs> -Wl,--no-whole-archive ...
checking whether linker supports -rpath... yes
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... none needed
checking whether yytext is a pointer... no
checking for make... make
checking for perl... perl
checking for swig... not found
checking for math with CFLAGS="" LIBS=""... yes
**checking for standard C++ lib with CFLAGS="" LIBS="-lstdc++"... no
checking for standard C++ lib with CFLAGS="" LIBS="-lc++"... no
checking for standard C++ lib with CFLAGS="" LIBS="-lcxa"... no**
configure: error: Standard C++ library -lstdc++_s or -lstdc++ or -lcxx or -lcxa or -lc++ not found
# here is the probelm
It always shows the probelms missing C++ lib, but I don't know if it's the broken lib's problem. If so, what should I do to fix this problem.
Please help me. Thanks a lot!
OMNeT++ for Windows does not require installing external GCC from MinGW. All necessary tools and libraries are already present in the ZIP package.
Make sure that real-time protection in your antivirus is turned off during calling ./configure and make.

configure error "A compiler with support for C++11 language features is required."

I am trying to build the breakpad libraries based on the documentation from https://chromium.googlesource.com/breakpad/breakpad/ but when I execute ./configure && make,
I get an error when checking for c++11, even though I am currently able to compile with c++11.
Here is the output from ./configure:
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking 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 whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking dependency style of gcc... gcc3
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ranlib... ranlib
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking a.out.h usability... yes
checking a.out.h presence... yes
checking for a.out.h... yes
checking whether g++ supports C++11 features by default... no
checking whether g++ supports C++11 features with -std=c++11... no
checking whether g++ supports C++11 features with -std=c++0x... no
checking whether g++ supports C++11 features with +std=c++11... no
checking whether g++ supports C++11 features with -h std=c++11... no
configure: error: *** A compiler with support for C++11 language features is required.
Here is the output from g++ --version:
g++ (Debian 4.7.2-5) 4.7.2
Copyright (C) 2012 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.
And here is a sample application compiling with c++11:
g++ -std=c++11 -g -c -pedantic -Wall -Wextra -I../boost_1_57_0 -L../boost_1_57_0/stage/lib UtilsText.cpp -o UtilsText.o
g++ -std=c++11 -g -c -pedantic -Wall -Wextra -I../boost_1_57_0 -L../boost_1_57_0/stage/lib UtilsWeb.cpp -o UtilsWeb.o
g++ -std=c++11 -g -c -pedantic -Wall -Wextra -I../boost_1_57_0 -L../boost_1_57_0/stage/lib WorkElement.cpp -o WorkElement.o
I don't know why breakpad is complaining about my g++ not having support for c++11, or if there is a way I can override or add extra parameters so that it correctly detects my compiler.
Any hints on what I might be missing or doing wrong? Is breakpad using another gcc that might be installed in my system?
Here is the config.log file: http://pastebin.com/TuHrmiLv
maybe you need this,work for me
yum install gcc-c++
While GCC 4.7 does have some C++11 capabilities, it is severely lacking most of the features needed. So while the configure script uses the correct option to enable C++11, the compiler can't actually handle the test-program because it uses features not available in the old GCC 4.7 version you have.
If you want to use Breakpad you need either an older version of Breakpad that supports your old compiler, or you need to update your compiler to a more recent release. The 5 series should have full support for C++11.
For Fedora use:
sudo dnf install gcc-c++

libtool: link: unsupported hardcode properties - Blank CXX Configuration

Error
I'm receiving the following error when I try execute make for a autotools based project on OS X:
libtool: link: unsupported hardcode properties
libtool: link: See the libtool documentation for more information.
libtool: link: Fatal configuration error.
make calls libtool as follows:
/bin/sh ./libtool --tag=CXX --mode=link clang++ -g <blah blah blah>
Investigation
I've narrowed the problem down specifically to the use of the CXX tag. For some reason the libtool script (generated by running ./configure and hence libtoolize etc.) spits out a CXX configuration as follows:
# ### BEGIN LIBTOOL TAG CONFIG: CXX
# The linker used to build libraries.
LD=""
# How to create reloadable object files.
reload_flag=""
reload_cmds=""
# Commands used to build an old-style archive.
old_archive_cmds=""
# A language specific compiler.
CC=""
# Is the compiler the GNU compiler?
with_gcc=
# Compiler flag to turn off builtin functions.
no_builtin_flag=""
# Additional compiler flags for building library objects.
pic_flag=""
# How to pass a linker flag through the compiler.
wl=""
# Compiler flag to prevent dynamic linking.
link_static_flag=""
# Does compiler simultaneously support -c and -o options?
compiler_c_o=""
# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=
# Whether or not to disallow shared libs when runtime libs are static.
allow_libtool_libs_with_static_runtimes=
# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec=""
# Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec=""
# Whether the compiler copes with passing no objects directly.
compiler_needs_object=""
# Create an old-style archive from a shared archive.
old_archive_from_new_cmds=""
# Create a temporary old-style archive to link instead of a shared archive.
old_archive_from_expsyms_cmds=""
# Commands used to build a shared archive.
archive_cmds=""
archive_expsym_cmds=""
# Commands used to build a loadable module if different from building
# a shared archive.
module_cmds=""
module_expsym_cmds=""
# Whether we are building with GNU ld or not.
with_gnu_ld=""
# Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag=""
# Flag that enforces no undefined symbols.
no_undefined_flag=""
# Flag to hardcode $libdir into a binary during linking.
# This must work even if $libdir does not exist
hardcode_libdir_flag_spec=""
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=""
# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
# DIR into the resulting binary.
hardcode_direct=
# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
# DIR into the resulting binary and the resulting library dependency is
# "absolute",i.e impossible to change by setting ${shlibpath_var} if the
# library is relocated.
hardcode_direct_absolute=
# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
# into the resulting binary.
hardcode_minus_L=
# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
# into the resulting binary.
hardcode_shlibpath_var=
# Set to "yes" if building a shared library automatically hardcodes DIR
# into the library and all subsequent libraries and executables linked
# against it.
hardcode_automatic=
# Set to yes if linker adds runtime paths of dependent libraries
# to runtime path list.
inherit_rpath=
# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=
# Set to "yes" if exported symbols are required.
always_export_symbols=
# The commands to list exported symbols.
export_symbols_cmds=""
# Symbols that should not be listed in the preloaded symbols.
exclude_expsyms=""
# Symbols that must always be exported.
include_expsyms=""
# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=""
# Commands necessary for finishing linking programs.
postlink_cmds=""
# Specify filename containing input files.
file_list_spec=""
# How to hardcode a shared library path into an executable.
hardcode_action=
# The directories searched by this compiler when creating a shared library.
compiler_lib_search_dirs=""
# Dependencies to place before and after the objects being linked to
# create a shared library.
predep_objects=""
postdep_objects=""
predeps=""
postdeps=""
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=""
# ### END LIBTOOL TAG CONFIG: CXX
As you can see, everything is blank. So the libtool script freaks out, and rightly so. So my confusion lies in how the libtool script ended up including this bogus CXX configuration.
The CC configuration is fine. Simply calling the libtool script with --tag=CC is actually enough to get my project linking just fine. However, that's obviously not correct; you should simply be able to execute:
./configure
make
./configure output
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for DEPS... yes
checking for udevadm... no
checking build system type... x86_64-apple-darwin12.3.0
checking host system type... x86_64-apple-darwin12.3.0
checking target system type... x86_64-apple-darwin12.3.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking 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 dependency style of gcc... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld
checking if the linker (/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm
checking the name lister (/usr/bin/nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-apple-darwin12.3.0 file names to x86_64-apple-darwin12.3.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin12.3.0 file names to toolchain format... func_convert_file_noop
checking for /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver #FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin12.3.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking operating system... Darwin/MacOS X
checking for clang++... clang++
checking whether we are using the GNU C++ compiler... yes
checking whether clang++ accepts -g... yes
checking dependency style of clang++... gcc3
checking whether byte ordering is bigendian... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Setup details
libtool version: 2.4.2
libtool revision: 1.3337
autoconf version: GNU Autoconf 2.69
clang++ version: Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
This was caused by AC_PROG_LIBTOOL (since deprecated in favour of LT_INIT) appearing before AC_PROG_CXX([clang++]) in configure.ac.
Strangely enough the LT_INIT/LT_LANG documentation actually shows LT_INIT appearing before AC_PROG_CXX, so I'm not entirely sure why this turned out to be a problem.

configure: error: X11 library not found in Mountain Lion

I'm trying to install the FORTRAN program rmodel described at http://www.ucm.es/info/Astrof/software/rmodel/rmodel.html
./configure fails with the following error:
phym-ssweet2:rmodel-3.2.0 seasto$ sudo ./configure F77=gfortran
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether the Fortran 77 compiler works... yes
checking for Fortran 77 compiler default output file name... a.out
checking 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 Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking uname -s for detecting host operating system... Darwin
LDFLAGS set to... -L/opt/local/lib
checking for style of include used by make... GNU
checking for gcc... gcc
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 dependency style of gcc... none
checking for main in -lX11... no
configure: error: X11 library not found
I tried pointing ./configure to the libraries using export CPPFLAGS=-I/opt/X11/include and export CPPFLAGS=-I/opt/X11/include LDFLAGS=-L/opt/X11/lib but to no avail. (These suggestions from Mountain Lion X11 libraries can't ./configure and Mountain Lion rvm install 1.8.7 x11 error)
Any suggestions would be greatly appreciated.
This worked: ./configure F77=gfortran LDFLAGS=-L/opt/X11/lib.
It seems the key was to not edit CPPFLAGS.
Look in config.log, you should be able to see the compile/link line for the program used to test for X11 (conftest.c) and the reason for failure.

Resources