Has anybody tried to build rotor with gcc-3.x?? Is it possible?
I have had some limited success today in building Rotor with gcc 3.2 under FreeBSD 4.8.
I had installed gcc from the FreeBSD package labelled gcc-3.2.3_1 at:
http://www.freebsd.org/ports/lang.html
The changes I applied to the Rotor build scripts are in the attached patch file.
A "checked" build completed and I compiled and ran a "hello world" C# program. However, a "fastchecked" build did not complete, it hung running "csc". I have not found the cause of this hang. It looks similar to the unresolved problem I had trying to build Rotor under FreeBSD 5.1:
http://groups.google.com.au/groups?selm=i3njb.6127%24d6.266022%40nasal.pacific.net.au
I have not done anything more with the "checked" build, such as running the regression tests, so it may well have problems also.
Anyway, I hope that information might be useful for you.
Andrew
=================================== This list is hosted by DevelopMentorŪ http://www.develop.com NEW! ASP.NET courses you may be interested in:
2 Days of ASP.NET, 29 Sept 2003, in Redmond http://www.develop.com/courses/2daspdotnet
Guerrilla ASP.NET, 13 Oct 2003, in Boston http://www.develop.com/courses/gaspdotnet
View archives and manage your subscription(s) at http://discuss.develop.com
Index: configure =================================================================== RCS file: /home/andrewg/cvsroot/sscli/configure,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 configure --- configure 18 Aug 2003 07:51:42 -0000 1.1.1.1 +++ configure 3 Mar 2004 01:53:18 -0000 @@ -2103,9 +2103,9 @@ else fi
if test $has_libc_r = yes; then - REQUIRED_C_LIBS="/usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbeginS.o" - REQUIRED_C_LIBS="$REQUIRED_C_LIBS /usr/lib/crtendS.o /usr/lib/crtn.o" - GCC_LIB=/usr/lib/libgcc.a + REQUIRED_C_LIBS="/usr/lib/crt1.o /usr/lib/crti.o $GCC_LIB_DIR/crtbeginS.o" + REQUIRED_C_LIBS="$REQUIRED_C_LIBS $GCC_LIB_DIR/crtendS.o /usr/lib/crtn.o" + GCC_LIB="$GCC_LIB_DIR/libstdc++.a $GCC_LIB_DIR/libgcc.a" SHARED_LIB=-shared SHARED_LIB_EXTENSION=.so LINKER_FLAGS= Index: configure.in =================================================================== RCS file: /home/andrewg/cvsroot/sscli/configure.in,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 configure.in --- configure.in 18 Aug 2003 07:51:42 -0000 1.1.1.1 +++ configure.in 3 Mar 2004 01:53:18 -0000 @@ -89,9 +89,9 @@ fi dnl libc_r is the C runtime that we use on FreeBSD. AC_CHECK_LIB(c_r, printf, has_libc_r=yes, has_libc_r=no) if test $has_libc_r = yes; then - REQUIRED_C_LIBS="/usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbeginS.o" - REQUIRED_C_LIBS="$REQUIRED_C_LIBS /usr/lib/crtendS.o /usr/lib/crtn.o" - GCC_LIB=/usr/lib/libgcc.a + REQUIRED_C_LIBS="/usr/lib/crt1.o /usr/lib/crti.o $GCC_LIB_DIR/crtbeginS.o" + REQUIRED_C_LIBS="$REQUIRED_C_LIBS $GCC_LIB_DIR/crtendS.o /usr/lib/crtn.o" + GCC_LIB=$GCC_LIB_DIR/libgcc.a SHARED_LIB=-shared SHARED_LIB_EXTENSION=.so LINKER_FLAGS= Index: env.sh =================================================================== RCS file: /home/andrewg/cvsroot/sscli/env.sh,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 env.sh --- env.sh 18 Aug 2003 07:51:42 -0000 1.1.1.1 +++ env.sh 3 Mar 2004 01:53:18 -0000 @@ -12,6 +12,10 @@ # # # ==--== + +# Use gcc32 etc. +export CC=gcc32 + if test "`echo ${PWD} | sed -e 's/ //g'`" != "${PWD}" then echo "You cannot have spaces in the path to the SSCLI directory." @@ -96,11 +100,11 @@ i[3-6]86) OTHER_X86=1 export OTHER_X86 fi - GCC_VERSION_OUTPUT=`sh -c "gcc -v 2>&1 | sed -e 1\\!d"` + GCC_VERSION_OUTPUT=`sh -c "gcc32 -v 2>&1 | sed -e 1\\!d"` if [ "$GCC_VERSION_OUTPUT" = "Using builtin specs." ]; then GCC_LIB_DIR=/usr/lib else - GCC_LIB_DIR=`sh -c "gcc -v 2>&1 | sed -e 1\\!d -e 's/^Reading specs from //g' -e 's/\/specs//g'"` + GCC_LIB_DIR=`sh -c "gcc32 -v 2>&1 | sed -e 1\\!d -e 's/^Reading specs from //g' -e 's/\/specs//g'"` fi if [ -f "${GCC_LIB_DIR}/libgcc_eh.a" ]; then GCC_EH_LIB=${GCC_LIB_DIR}/libgcc_eh.a Index: rotorenv/bin/makefile.def =================================================================== RCS file: /home/andrewg/cvsroot/sscli/rotorenv/bin/makefile.def,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 makefile.def --- rotorenv/bin/makefile.def 18 Aug 2003 07:51:58 -0000 1.1.1.1 +++ rotorenv/bin/makefile.def 3 Mar 2004 01:53:19 -0000 @@ -1854,7 +1854,7 @@ USE_RANLIB = 1 TARGETTYPE=LIBRARY !else LIBRARIAN_FLAGS = $(PARTIAL_LINKING) $(LIBRARIAN_FLAGS) $(LD_LIB_DIRS) -LIBRARIAN = ld $(LIBRARIAN_FLAGS) -o $@ +LIBRARIAN = $(GCC_LIB_DIR)/collect2 $(LIBRARIAN_FLAGS) -o $@ !endif !else LIBRARIAN_FLAGS = $(LIBRARIAN_FLAGS) $(LINK_LIB_IGNORE_FLAG) -nodefaultlib @@ -1865,7 +1865,7 @@ LIBRARIAN=lib -out:$@ $(LIBRARIAN_FLAGS) !ifndef LINKER !ifdef PLATFORM_UNIX -LINKER=ld -o $@ +LINKER=$(GCC_LIB_DIR)/collect2 -o $@ !ELSE !IF defined(BOUNDSCHECK) LINKER=nmlink -out:$@ -machine:$(TARGET_DIRECTORY) Index: rotorenv/bin/rotor_x86mk.inc =================================================================== RCS file: /home/andrewg/cvsroot/sscli/rotorenv/bin/rotor_x86mk.inc,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 rotor_x86mk.inc --- rotorenv/bin/rotor_x86mk.inc 18 Aug 2003 07:51:58 -0000 1.1.1.1 +++ rotorenv/bin/rotor_x86mk.inc 3 Mar 2004 01:53:19 -0000 @@ -236,7 +236,7 @@ CFLAGS=$(386_FLAGS) $(NT386FLAGS) $(STDF !IFNDEF CC_NAME !IF defined(PLATFORM_UNIX) -CC_NAME =gcc +CC_NAME =gcc32 !ELSE !IF defined(BOUNDSCHECK) CC_NAME =nmcl -nologo @@ -329,7 +329,7 @@ SHARED_LIB_EXT =so CC_LIB =$(GCC_LIB_DIR)/libgcc.a $(GCC_EH_LIB) \ /usr/local/lib/libstdc++.a !else -CC_LIB =/usr/lib/libgcc.a +CC_LIB =$(GCC_LIB_DIR)/libstdc++.a $(GCC_LIB_DIR)/libgcc.a !endif !else ASM_SUFFIX =asm @@ -351,8 +351,9 @@ STDFLAGS =$(STDFLAGS) -fmessa REQUIRED_C_LIBS =/usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtn.o \ $(GCC_LIB_DIR)/crtbegin.o $(GCC_LIB_DIR)/crtend.o !else -REQUIRED_C_LIBS =/usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbeginS.o \ - /usr/lib/crtendS.o /usr/lib/crtn.o +REQUIRED_C_LIBS =/usr/lib/crt1.o /usr/lib/crti.o \ + $(GCC_LIB_DIR)/crtbeginS.o \ + $(GCC_LIB_DIR)/crtendS.o /usr/lib/crtn.o !endif !endif Index: tools/resourcecompiler/rc.c =================================================================== RCS file: /home/andrewg/cvsroot/sscli/tools/resourcecompiler/rc.c,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 rc.c --- tools/resourcecompiler/rc.c 18 Aug 2003 07:53:31 -0000 1.1.1.1 +++ tools/resourcecompiler/rc.c 3 Mar 2004 01:53:52 -0000 @@ -35,7 +35,7 @@ #else // __APPLE_CC__ #define COMPILER_PREPROCESSOR_FLAGS "-E -DRC_INVOKED=1 -DFEATURE_PAL=1 -x c" #endif // __APPLE_CC__ -#define COMPILER_NAME "/usr/bin/gcc" +#define COMPILER_NAME "/usr/local/bin/gcc32" #define PATH_SEPARATOR_CHAR '/' #define LINEMARKER_PREFIX '#' #define DEFINE_PREFIX "-D" =================================== This list is hosted by DevelopMentorŪ http://www.develop.com NEW! ASP.NET courses you may be interested in: 2 Days of ASP.NET, 29 Sept 2003, in Redmond http://www.develop.com/courses/2daspdotnet Guerrilla ASP.NET, 13 Oct 2003, in Boston http://www.develop.com/courses/gaspdotnet View archives and manage your subscription(s) at http://discuss.develop.com