http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46026
Summary: [trans-mem] Unable to build libitm on Solaris/x86 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassig...@gcc.gnu.org ReportedBy: sp...@cse.lehigh.edu I am unable to build the transactional-memory branch on Solaris/x86. I'm using the exact same configuration as for my local gcc 4.5.1 install. Build Environment (gcc -v): Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/proj/spear0/gcc451/libexec/gcc/i386-pc-solaris2.10/4.5.1/lto-wrapper Target: i386-pc-solaris2.10 Configured with: /proj/spear0/gcc451src/gcc-4.5.1/configure --prefix=/proj/spear0/gcc451 --enable-languages=c,c++ --with-mpfr=/proj/spear0/x86 --with-gmp=/proj/spear0/x86/ --with-mfs=/proj/spear0/x86 --with-gnu-as --with-as=/proj/spear0/binutils-2.20.1/bin/as --with-gnu-ld --with-ld=/proj/spear0/binutils-2.20.1/bin/ld Thread model: posix gcc version 4.5.1 (GCC) Configure: ../transactional-memory/configure --prefix=/proj/spear1/gcc_stm/gcc-stm --with-gnu-as --with-as=/proj/spear0/binutils-2.20.1/bin/as --with-gnu-ld --with-ld=/proj/spear0/binutils-2.20.1/bin/ld --enable-languages=c,c++ --with-mpfr=/proj/spear0/x86/ --with-gmp=/proj/spear0/x86/ --with-mpc=/proj/spear0/x86/ --program-prefix=stm- I encountered two errors in the libitm folder: First, I ran into trouble due to target.h not being found: <output> libtool: compile: /proj/spear1/gcc_stm/build/./gcc/g++ -B/proj/spear1/gcc_stm/build/./gcc/ -nostdinc++ -nostdinc++ -I/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libstdc++-v3/include/i386-pc-solaris2.10 -I/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libstdc++-v3/include -I/proj/spear1/gcc_stm/transactional-memory/libstdc++-v3/libsupc++ -I/proj/spear1/gcc_stm/transactional-memory/libstdc++-v3/include/backward -I/proj/spear1/gcc_stm/transactional-memory/libstdc++-v3/testsuite/util -L/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libstdc++-v3/src -L/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libstdc++-v3/src/.libs -B/proj/spear1/gcc_stm/gcc-stm/i386-pc-solaris2.10/bin/ -B/proj/spear1/gcc_stm/gcc-stm/i386-pc-solaris2.10/lib/ -isystem /proj/spear1/gcc_stm/gcc-stm/i386-pc-solaris2.10/include -isystem /proj/spear1/gcc_stm/gcc-stm/i386-pc-solaris2.10/sys-include -DHAVE_CONFIG_H -I. -I../../../transactional-memory/libitm -I../../../transactional-memory/libitm/config/i386 -I../../../transactional-memory/libitm/config/posix -I../../../transactional-memory/libitm/config/generic -I../../../transactional-memory/libitm -std=gnu++0x -funwind-tables -fno-exceptions -fno-rtti -Wall -pthread -Werror -fabi-version=4 -g -O2 -MT aatree.lo -MD -MP -MF .deps/aatree.Tpo -c ../../../transactional-memory/libitm/aatree.cc -fPIC -DPIC -o .libs/aatree.o In file included from ../../../transactional-memory/libitm/aatree.cc:28:0: ../../../transactional-memory/libitm/libitm_i.h:79:20: fatal error: target.h: No such file or directory compilation terminated. gmake[4]: *** [aatree.lo] Error 1 </output> It would seem that libitm/config/x86/target.h is the desired target, given the characteristics of my system (Solaris/x86), so I ran the following: echo '#include "config/x86/target.h"' >> ../transactional-memory/libitm/target.h I then cleaned the build tree and started again. This time, I encountered the following error: <output> libtool: compile: /proj/spear1/gcc_stm/build/./gcc/g++ -B/proj/spear1/gcc_stm/build/./gcc/ -nostdinc++ -nostdinc++ -I/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libstdc++-v3/include/i386-pc-solaris2.10 -I/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libstdc++-v3/include -I/proj/spear1/gcc_stm/transactional-memory/libstdc++-v3/libsupc++ -I/proj/spear1/gcc_stm/transactional-memory/libstdc++-v3/include/backward -I/proj/spear1/gcc_stm/transactional-memory/libstdc++-v3/testsuite/util -L/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libstdc++-v3/src -L/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libstdc++-v3/src/.libs -B/proj/spear1/gcc_stm/gcc-stm/i386-pc-solaris2.10/bin/ -B/proj/spear1/gcc_stm/gcc-stm/i386-pc-solaris2.10/lib/ -isystem /proj/spear1/gcc_stm/gcc-stm/i386-pc-solaris2.10/include -isystem /proj/spear1/gcc_stm/gcc-stm/i386-pc-solaris2.10/sys-include -DHAVE_CONFIG_H -I. -I../../../transactional-memory/libitm -I../../../transactional-memory/libitm/config/i386 -I../../../transactional-memory/libitm/config/posix -I../../../transactional-memory/libitm/config/generic -I../../../transactional-memory/libitm -std=gnu++0x -funwind-tables -fno-exceptions -fno-rtti -Wall -pthread -Werror -fabi-version=4 -g -O2 -MT rwlock.lo -MD -MP -MF .deps/rwlock.Tpo -c ../../../transactional-memory/libitm/config/posix/rwlock.cc -fPIC -DPIC -o .libs/rwlock.o ../../../transactional-memory/libitm/config/posix/rwlock.cc: In constructor 'GTM::gtm_rwlock::gtm_rwlock()': ../../../transactional-memory/libitm/config/posix/rwlock.cc:40:17: error: could not convert '{{0, 0, 0, 0, 19800}, {{{0}}}, 0}' to 'pthread_mutex_t' ../../../transactional-memory/libitm/config/posix/rwlock.cc:40:17: error: could not convert '{{{0, 0, 0, 0}, 0, 17238}, 0}' to 'pthread_cond_t' ../../../transactional-memory/libitm/config/posix/rwlock.cc:40:17: error: could not convert '{{{0, 0, 0, 0}, 0, 17238}, 0}' to 'pthread_cond_t' ../../../transactional-memory/libitm/config/posix/rwlock.cc:40:17: error: could not convert '{{{0, 0, 0, 0}, 0, 17238}, 0}' to 'pthread_cond_t' gmake[4]: *** [rwlock.lo] Error 1 gmake[4]: Leaving directory `/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libitm' gmake[3]: *** [all-recursive] Error 1 gmake[3]: Leaving directory `/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libitm' gmake[2]: *** [all] Error 2 gmake[2]: Leaving directory `/proj/spear1/gcc_stm/build/i386-pc-solaris2.10/libitm' gmake[1]: *** [all-target-libitm] Error 2 gmake[1]: Leaving directory `/proj/spear1/gcc_stm/build' gmake: *** [all] Error 2 </output> Any advice would be great! Thanks, Mike Spear