Building Ptolemy on DEC Alpha OSF 4.0 -------------------------------------- First, you may have problems building the GNU tools and libraries. For gcc: -------- in cp/errfn.c, you will have to comment the declaration of sprintf in the cp_sprintf funtion (type mismatch which the declaration in stdio.h) For make: --------- in glob/glob.h, you will have to comment the #if/#endif that enclose the definition of GLOB_ALTDIRFUNC since glob/glob.c uses this symbol anyway. For libg++: ----------- in Regex.cc, you will have to replace: #include by: #ifdef _OSF_SOURCE # undef _OSF_SOURCE # define _HAD_OSF_SOURCE_ #endif #include #ifdef _HAD_OSF_SOURCE_ # undef _HAD_OSF_SOURCE # define _OSF_SOURCE #endif This is to prevent ctype.h from including sys/localedef.h which includes sys/lc_core.h which includes reg_types.h which defines types which are not compatible with those defined in librx/rx.h I am not sure this is a good cure, but it allows libg++ to build. For xv: ------- you will have to change the definition of fsQ_RANDOM_DECL in fsQParams.h to avoid a redeclaraion of random with a wrong type: #ifndef fsQ_RANDOM_DECL /*#define fsQ_RANDOM_DECL long random fsQ_proto((void))*/ # if defined(_OSF_SOURCE) && !defined(_XOPEN_SOURCE_EXTENDED) # define fsQ_RANDOM_DECL extern int random fsQ_proto((void)) # else # define fsQ_RANDOM_DECL extern long random fsQ_proto((void)) # endif #endif /* fsQ_RANDOM_DECL */ Ptolemy: --------- To build Ptolemy, you will have to create a "thread" directory in obj.alpha4 and to create a symbolic link to ../../src/thread/makefile in this directory. Threads are not built on the Alpha, but if this directory and link do not exist, the build process will fail. Link failures: --------------- The link may fail for pigiRpc and other "big" executables. The symptom is ld being killed on a bus error. The cure is to set the limit for datasize and stacksize to "unlimited": > limit datasize unlimited > limit stacksize unlimited The default limits on my system were: > limit cputime unlimited filesize unlimited datasize 131072 kbytes stacksize 2048 kbytes coredumpsize unlimited memoryuse 315296 kbytes vmemoryuse 1048576 kbytes descriptors 4096 > and this is not enough to build all Ptolemy binaries. pigiEnv.csh: ------------- If you want to avoid annoying unaligned access messages with vem, you should add the following at the beginning of the pigiEnv.csh script: # On DEC Alpha, do not print unaligned access message (vem) switch ($PTARCH) case alpha: case alpha4: uac p noprint breaksw case *: breaksw endsw With all these fixes, Ptolemy should build if you have enough disk space. Fr\'ed\'eric Boulanger Sup\'elec - Service Informatique Plateau de Moulon F-91192 Gif-sur-Yvette cedex France September 1997.