Joakim Johansson
2010-Jul-27 08:03 UTC
[LLVMdev] Failed to build llvm with gcc 4.3.4 on Solaris x86
Hi, You asked for bug reports on failed build/platforms combinations, here is one: —————— . . . llvm[3]: Compiling TestMain.cpp for Debug+Asserts build llvm[3]: Building Debug+Asserts Archive Library libUnitTestMain.a gmake[3]: Leaving directory `/home/jocke/gcd/llvm/utils/unittest/UnitTestMain' gmake[2]: Leaving directory `/home/jocke/gcd/llvm/utils/unittest' gmake[1]: Leaving directory `/home/jocke/gcd/llvm/utils' gmake[1]: Entering directory `/home/jocke/gcd/llvm/lib/VMCore’ llvm[1]: Building Intrinsics.gen.tmp from Intrinsics.td ld.so.1: tblgen: fatal: libstdc++.so.6: open failed: No such file or directory gmake[1]: *** [/home/jocke/gcd/llvm/lib/VMCore/Debug+Asserts/Intrinsics.gen.tmp] Killed gmake[1]: Leaving directory `/home/jocke/gcd/llvm/lib/VMCore' gmake: *** [all] Error 1 dev2:~/gcd/llvm> gcc -v Using built-in specs. Target: i386-pc-solaris2.10 Configured with: /export/medusa/dclarke/build/GCC/gcc-4.3.4/configure --build=i386-pc-solaris2.10 --with-gnu-as --with-as=/opt/csw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld --with-cpu-32=i386 --with-cpu-64=opteron --with-arch-32=i386 --with-arch-64=opteron --enable-stage1-languages=c --enable-nls --with-libiconv-prefix=/opt/csw --enable-threads=posix --prefix=/opt/csw/gcc4 --with-local-prefix=/opt/csw --enable-shared --enable-multilib --with-included-gettext --with-system-zlib --with-gmp=/opt/csw --with-mpfr=/opt/csw --enable-languages=c,c++,objc,fortran --enable-bootstrap Thread model: posix gcc version 4.3.4 (GCC) dev2:~/gcd/llvm> —————— This was after trying './configure --disable-shared’ as I thought this was potentially http://llvm.org/bugs/show_bug.cgi?id=896 I believe the compiler was a binary install from http://www.blastwave.org/jir/pkgcontents.ftd?software=gcc4&style=brief&state=5&arch=i386 The only ‘strange’ thing I saw during the configure stage was: — checking for GCC atomic builtins... no configure: WARNING: LLVM will be built thread-unsafe because atomic builtins are missing - 4.3.4 should have the atomic builtins, as I build Apples libdispatch using the same compiler (which also uses the atomic builtins). Attaching the full configure output if useful below. Best regards, Joakim ————————— dev2:~/gcd/llvm> ./configure --disable-shared checking build system type... i386-pc-solaris2.10 checking host system type... i386-pc-solaris2.10 checking target system type... i386-pc-solaris2.10 checking type of operating system we're going to host on... SunOS checking type of operating system we're going to target... SunOS checking target architecture... x86 checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... 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 grep that handles long lines and -e... /usr/xpg4/bin/grep checking for egrep... /usr/xpg4/bin/grep -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 whether byte ordering is bigendian... no checking clang compiler... built checking optimization flags... -O3 checking how to run the C preprocessor... gcc -E 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 for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for BSD-compatible nm... /opt/csw/gnu/bin/nm -B checking for GNU make... gmake checking whether ln -s works... yes checking for cmp... /usr/bin/cmp checking for cp... /usr/bin/cp checking for date... /usr/bin/date checking for find... /usr/bin/find checking for grep... (cached) /usr/xpg4/bin/grep checking for mkdir... /usr/bin/mkdir checking for mv... /usr/bin/mv checking for ranlib... ranlib checking for ar... ar checking for rm... /usr/bin/rm checking for sed... /usr/bin/sed checking for tar... /usr/bin/tar checking for pwd... /usr/bin/pwd checking for Graphviz... echo Graphviz checking for dot... echo dot checking for fdp... echo fdp checking for neato... echo neato checking for twopi... echo twopi checking for circo... echo circo checking for gv... no checking for gsview32... no checking for dotty... echo dotty checking for perl... /usr/bin/perl checking for Perl 5.006 or newer... yes checking for a BSD-compatible install... autoconf/install-sh -c checking for bzip2... /usr/bin/bzip2 checking for cat... /usr/bin/cat checking for doxygen... no checking for groff... no checking for gzip... /usr/bin/gzip checking for pod2html... no checking for pod2man... no checking for pdfroff... no checking for runtest... no checking for the tclsh program in tclinclude directory... none checking for tclsh8.4... no checking for tclsh8.4.8... no checking for tclsh8.4.7... no checking for tclsh8.4.6... no checking for tclsh8.4.5... no checking for tclsh8.4.4... no checking for tclsh8.4.3... no checking for tclsh8.4.2... no checking for tclsh8.4.1... no checking for tclsh8.4.0... no checking for tclsh8.3... no checking for tclsh8.3.5... no checking for tclsh8.3.4... no checking for tclsh8.3.3... no checking for tclsh8.3.2... no checking for tclsh8.3.1... no checking for tclsh8.3.0... no checking for tclsh... no checking for zip... /usr/bin/zip checking for ocamlc... no checking for ocamlopt... no checking for ocamldep... no checking for ocamldoc... no checking for gas... /opt/csw/bin/gas checking for compiler -Wl,-R<path> option... yes checking for compiler -Wl,-export-dynamic option... no checking for compiler -Wl,--version-script option... no checking for an ANSI C-conforming const... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking dynamic linker characteristics... solaris2.10 ld.so checking which extension is used for loadable modules... .so checking which variable specifies run-time library path... LD_LIBRARY_PATH checking for the default library search path... /lib /usr/lib checking for objdir... .libs checking command to parse /opt/csw/gnu/bin/nm -B output from object... ok checking whether libtool supports -dlopen/-dlpreopen... yes checking for shl_load... no checking for shl_load in -ldld... no checking for dlopen in -ldl... yes checking for dlerror... yes checking for _ prefix in compiled symbols... no checking whether deplibs are loaded by dlopen... yes checking argz.h usability... no checking argz.h presence... no checking for argz.h... no checking for error_t... no checking for argz_append... no checking for argz_create_sep... no checking for argz_insert... no checking for argz_next... no checking for argz_stringify... no checking assert.h usability... yes checking assert.h presence... yes checking for assert.h... yes checking ctype.h usability... yes checking ctype.h presence... yes checking for ctype.h... yes checking errno.h usability... yes checking errno.h presence... yes checking for errno.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking for memory.h... (cached) yes checking for stdlib.h... (cached) yes checking stdio.h usability... yes checking stdio.h presence... yes checking for stdio.h... yes checking for unistd.h... (cached) yes checking dl.h usability... no checking dl.h presence... no checking for dl.h... no checking sys/dl.h usability... yes checking sys/dl.h presence... yes checking for sys/dl.h... yes checking dld.h usability... no checking dld.h presence... no checking for dld.h... no checking mach-o/dyld.h usability... no checking mach-o/dyld.h presence... no checking for mach-o/dyld.h... no checking for string.h... (cached) yes checking for strchr... yes checking for strrchr... yes checking for memcpy... yes checking for memmove... yes checking for strcmp... yes checking for closedir... yes checking for opendir... yes checking for readdir... yes checking for llvm-gcc... no checking for llvm-g++... no checking LLVM capable compiler... clang checking tool compatibility... ok checking optional compiler flags... -Wno-variadic-macros -Wno-missing-field-initializers checking for sin in -lm... yes checking for library containing dlopen... none required checking for library containing mallinfo... -lmalloc checking for pthread_mutex_init in -lpthread... yes checking for library containing pthread_mutex_lock... none required checking for library containing pthread_rwlock_init... none required checking for library containing pthread_getspecific... none required checking for dirent.h that defines DIR... (cached) yes checking for library containing opendir... (cached) none required checking for MAP_ANONYMOUS vs. MAP_ANON... yes checking whether stat file-mode macros are broken... no checking for ANSI C header files... (cached) yes checking for sys/wait.h that is POSIX.1 compatible... yes checking whether time.h and sys/time.h may both be included... yes checking for dlfcn.h... (cached) yes checking execinfo.h usability... no checking execinfo.h presence... no checking for execinfo.h... no checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking for inttypes.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking link.h usability... yes checking link.h presence... yes checking for link.h... yes checking for malloc.h... (cached) yes checking setjmp.h usability... yes checking setjmp.h presence... yes checking for setjmp.h... yes checking signal.h usability... yes checking signal.h presence... yes checking for signal.h... yes checking for stdint.h... (cached) yes checking termios.h usability... yes checking termios.h presence... yes checking for termios.h... yes checking for unistd.h... (cached) yes checking utime.h usability... yes checking utime.h presence... yes checking for utime.h... yes checking windows.h usability... no checking windows.h presence... no checking for windows.h... no checking sys/mman.h usability... yes checking sys/mman.h presence... yes checking for sys/mman.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/resource.h usability... yes checking sys/resource.h presence... yes checking for sys/resource.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking for sys/types.h... (cached) yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking malloc/malloc.h usability... no checking malloc/malloc.h presence... no checking for malloc/malloc.h... no checking mach/mach.h usability... no checking mach/mach.h presence... no checking for mach/mach.h... no checking valgrind/valgrind.h usability... no checking valgrind/valgrind.h presence... no checking for valgrind/valgrind.h... no checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking CrashReporterClient.h usability... no checking CrashReporterClient.h presence... no checking for CrashReporterClient.h... no checking mach-o/getsect.h usability... no checking mach-o/getsect.h presence... no checking for mach-o/getsect.h... no checking for HUGE_VAL sanity... no checking for pid_t... yes checking for size_t... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for int64_t... yes checking for uint64_t... yes checking for backtrace... no checking for ceilf... yes checking for floorf... yes checking for roundf... yes checking for rintf... yes checking for nearbyintf... yes checking for getcwd... yes checking for powf... yes checking for fmodf... yes checking for strtof... yes checking for round... yes checking for getpagesize... yes checking for getrusage... yes checking for getrlimit... yes checking for setrlimit... yes checking for gettimeofday... yes checking for isatty... yes checking for mkdtemp... no checking for mkstemp... yes checking for mktemp... yes checking for posix_spawn... yes checking for realpath... yes checking for sbrk... yes checking for setrlimit... (cached) yes checking for strdup... yes checking for strerror... yes checking for strerror_r... yes checking for strerror_s... no checking for setenv... yes checking for strtoll... yes checking for strtoq... no checking for sysconf... yes checking for malloc_zone_statistics... no checking for setjmp... yes checking for longjmp... yes checking for sigsetjmp... yes checking for siglongjmp... yes checking if printf has the %a format character... checking for srand48/lrand48/drand48 in <stdlib.h>... yes checking for isnan in <math.h>... yes checking for isnan in <cmath>... yes checking for std::isnan in <cmath>... no checking for isinf in <math.h>... no checking for isinf in <cmath>... no checking for std::isinf in <cmath>... no checking for finite in <ieeefp.h>... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... (cached) yes checking for working mmap... yes checking for mmap of files... yes checking if /dev/zero is needed for mmap... no checking for GCC atomic builtins... no configure: WARNING: LLVM will be built thread-unsafe because atomic builtins are missing checking for getsect()... no checking for __dso_handle... yes checking whether llvm-gcc is sane... no checking for compiler -fvisibility-inlines-hidden option... yes configure: creating ./config.status config.status: creating include/llvm/Config/Targets.def config.status: creating include/llvm/Config/AsmPrinters.def config.status: creating include/llvm/Config/AsmParsers.def config.status: creating include/llvm/Config/Disassemblers.def config.status: creating Makefile.config config.status: creating llvm.spec config.status: creating tools/llvmc/plugins/Base/Base.td config.status: creating tools/llvm-config/llvm-config.in config.status: creating include/llvm/Config/config.h config.status: creating include/llvm/System/DataTypes.h config.status: include/llvm/System/DataTypes.h is unchanged config.status: executing setup commands config.status: executing Makefile commands config.status: executing Makefile.common commands config.status: executing examples/Makefile commands config.status: executing lib/Makefile commands config.status: executing runtime/Makefile commands config.status: executing test/Makefile commands config.status: executing test/Makefile.tests commands config.status: executing unittests/Makefile commands config.status: executing tools/Makefile commands config.status: executing utils/Makefile commands config.status: executing projects/Makefile commands config.status: executing bindings/Makefile commands config.status: executing bindings/ocaml/Makefile.ocaml commands === configuring in projects/sample (/home/jocke/gcd/llvm/projects/sample) configure: running /bin/bash ./configure --prefix=/usr/local '--disable-shared' --cache-file=/dev/null --srcdir=. configure: creating ./config.status config.status: creating Makefile.common config.status: executing setup commands config.status: executing Makefile commands config.status: executing lib/Makefile commands config.status: executing lib/sample/Makefile commands config.status: executing tools/Makefile commands config.status: executing tools/sample/Makefile commands dev2:~/gcd/llvm> ——————————————————
Duncan Sands
2010-Jul-27 15:28 UTC
[LLVMdev] Failed to build llvm with gcc 4.3.4 on Solaris x86
Hi Joakim,> ld.so.1: tblgen: fatal: libstdc++.so.6: open failed: No such file or directorythe compiler you are using to build LLVM has linked tblgen with libstdc++.so.6 but libstdc++.so.6 is not in your dynamic library path. In short, it looks like your system is set up wrong, and it's not really an LLVM program. I expect you to have the same problem if you compile pretty much any C++ program with your compiler and try to run the resulting program. Ciao, Duncan.
Anton Korobeynikov
2010-Jul-27 15:30 UTC
[LLVMdev] Failed to build llvm with gcc 4.3.4 on Solaris x86
Hello> You asked for bug reports on failed build/platforms combinations, here is one:This seems like a bug in your compiler / environment. tblgen is "normal" C++ app compiled by your system's gcc. -- With best regards, Anton Korobeynikov Faculty of Mathematics and Mechanics, Saint Petersburg State University