========= CXrL SHADOW 2.3 guide to building on various platforms >> TOC: PORTS DETAIL COMPILERS AND FLAGS >> PORTS: We've built SHADOW 2.3.0 successfully on the following platforms: alpha-dec-osf3.2 i[3456]86-*-linux (RedHat 4.0+, Debian 1.2+) i[3456]86-*-cygwin32 (Windows'95/NT + cygwin DLL) hppa1.1-hp-hpux9.07 rs6000-ibm-aix4.2 sparc-sun-sunos4.1.3 sparc-sun-solaris2.4 And also the following even though the source release doesn't support these directly. vax-dec-vms5.4 alpha-dec-openvms6.1 SHADOW for these 2 platforms are distributed in binary form only for now. All platforms use the same enviroment, which makes it easy to port. GNU CC 2.7.2 (plus template repository patch, but not necessary) GNU LIBG++ 2.7.1 If the platform has native compilers that are known to be of good quality or where GNU compilers are known to be problematic, I usually use the native ones (eg., rs6000-ibm-aix4.2, alpha-dec-osf3.2). >> DETAILS: NOTE: platforms marked with ***** are not done yet, these are notes from SHADOW v2.2.0. Hopefully the remarks are still valid. sparc-sun-sunos4.1.3: - builds out of the box - Either Sun ANSI C (acc) or GNU C. sparc-sun-solaris2.4: - builds out of the box - Either Sun ANSI C (acc) or GNU C. rs6000-ibm-aix3.2.5: ***** - builds out of the box - Note: if you IBM's xlc C compiler, you might have to pre-define CPP to be /lib/cpp (see Config.mk) for FORTRAN files to compile ok. % env CC=xlc CPP=/lib/cpp configure Currently configure will force CPP to be /lib/cpp, so there should be no need for you to do this manually. rs6000-ibm-aix4.1: ***** - builds out of the box. - Note: if you IBM's xlc C compiler, you might have to pre-define CPP to be /lib/cpp (see Config.mk) for FORTRAN files to compile ok. % env CC=xlc CPP=/lib/cpp configure Currently configure will force CPP to be /lib/cpp, so there should be no need for you to do this manually. rs6000-ibm-aix4.2: - builds out of the box. hppa1.1-hp-hpux9.07: - builds out of the box. hppa1.1-hp-hpux10.01: **** - builds out of the box - src/tools/tek-graphics/contour.F makes g77 v0.5.18 dump core when optimization is turned on. Use 'gmake FFLAGS= contour.o' for now. mips-dec-ultrix4.2: **** 1. SHELL in make has to be /bin/sh5 and the gmake SHELL=/bin/sh5 % /bin/sh5 /usr/src/shadow/configure % gnumake SHELL=/bin/sh5 install 2. If you use gcc, src/tools/plplot.4.99c/libsrc/xwin.c seems to have trouble. You'll have to manually compile using DEC c. % (cd src/tools/plplot.4.99c/libsrc; gmake CC=cc xwin.o) % gmake alpha-dec-osf3.2: - builds out of the box. i[3456]86-linux: 1. Must have g77 0.5.18 or newer for SHADOW to build correctly. Currently the configure scripts forces the g77 over f77 if found. f77 or fort77 scripts which are front-ends for f2c WILL NOT work. i[3456]86-cygwin32 aka Windows'95/NT: 1. Must have Cygnus gnu-win32 b17.1 or newer distribution. This gets you C/C++ etc with all the necessary tools. 2. Must get g77-0.5.20 patches. I've done the port and the patches (source and binaries) are available at: http://www.xraylith.wisc.edu/~khan/software/gnu-win32 3. If you want X Window system support (yes, you can!), get the precompiled X Windows libraries and includes from: ftp://niteroi.gsfc.nasa.gov/pub/win32/X11R6.3/Win32_X11R6_3.tar.gz You can use either a commercial X server, such as eXceed, or use a free one from MicroImages, Inc available at: http://tnt.microimages.com/www/html/freestuf/mix.htm You can also display the plots on your Unix workstation. Make sure you tell configure where you've installed the X11R6.3 distribution. --x-includes=DIR and --x-libraries=DIR is the way to go. mips-sgi-irix5.3: **** - builds out of the box. >> COMPILERS and FLAGS: NOTE: platforms marked with ***** are not done yet, these are notes from SHADOW v2.2.0. Hopefully the remarks are still valid. And those of you who might brave building on a new platform, here's some info on what I had to do on various machines. Please do mail me any flags that you've had to use to get SHADOW running on your platform. It's sufficient if you simply mail me the Config.mk file which should have all the parameters/flags. Compilers I've tried (along with FORTRAN compiler and linker flags I've needed for the ports): sparc-sun-sunos4.1.3: FORTRAN: Sun FORTRAN SC2.0.1patch1 (FFLAGS = -Nl30, LDFLAGS = -lV77) C: Sun ANSI C (acc) and GNU CC 2.7.2 C++: Sun C++ (CC) and GNU C++ 2.7.2 sparc-sun-solaris2.4: FORTRAN: Sun FORTRAN SC2.0.1patch1 (FFLAGS = -Nl30, LDFLAGS = -lV77) C: Sun ANSI C (acc) and GNU CC 2.7.2 C++: Sun C++ (CC) and GNU C++ 2.7.2 rs6000-ibm-aix3.2.5: **** FORTRAN: IBM XL FORTRAN (xlf) 2.3.0.2 (FFLAGS = , LDFLAGS = ) C: IBM XL C (xlc) and GNU CC 2.7.2 C++: GNU C++ 2.7.2 rs6000-ibm-aix4.1: **** FORTRAN: IBM XL FORTRAN (xlf) 3.2.2.0 (FFLAGS = , LDFLAGS = ) C: IBM XL C (xlc) and GNU CC 2.7.2 C++: GNU C++ 2.7.2 hppa1.1-hp-hpux9.07: FORTRAN: HP FORTRAN (fort77) (FFLAGS = -U77 +E1, LDFLAGS = ) C: HP ANSI C (c89) and GNU CC 2.7.2 C++: GNU C++ 2.7.2 hppa1.1-hp-hpux10.01: **** FORTRAN: HP FORTRAN (fort77) (FFLAGS = -U77 +E1, LDFLAGS = ) C: HP ANSI C (c89) and GNU CC 2.7.2 C++: HP CC and GNU C++ 2.7.2 mips-dec-ultrix4.2: **** FORTRAN: DEC FORTRAN 3.0.4 (FFLAGS = , LDFLAGS = -lUfor -lutil -lF77 -lI77 -lU77) C: GNU CC 2.7.2 C++: Cfront 3.0.1 and GNU C++ 2.7.2 alpha-dec-osf3.2: FORTRAN: DEC FORTRAN 3.8.0 (FFLAGS = -nofor_main, LDFLAGS = ) C: DEC ANSI C (c89) GNU CC 2.7.2 C++: GNU C++ 2.7.2 i[3456]86--linux FORTRAN: GNU FORTRAN (g77 v0.5.18. Older versions will not work) (FFLAGS = , LDFLAGS = ) C: GNU CC 2.7.2 C++: GNU C++ 2.7.2 mips-sgi-irix5.3 **** FORTRAN: SGI FORTRAN (f77) (FFLAGS = -static, LDFLAGS = ) C: SGI ANSI C (cc) C++: SGI C++ (NCC) =================== ############# Last Updated Sun Apr 6 21:40:17 1997 Mumit Khan ############