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
