Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!shadooby!umich!don From: don@zippy.eecs.umich.edu (Don Winsor) Newsgroups: comp.lang.perl Subject: Problem with Configure on Ultrix Message-ID: <1170@zip.eecs.umich.edu> Date: 3 Jan 90 00:30:56 GMT Organization: University of Michigan EECS Dept., Ann Arbor Lines: 44 I have found a couple of minor problems when configuring perl release 3.0 patchlevel 8 on systems running Ultrix. I have verified these on a Vax-3600 running Ultrix 3.0 and on a DECstation-3100 running Ultrix 3.1, using the Ultrix C compiler on both systems. The first problem is that Ultrix has a header file, but it isn't what perl expects; it doesn't define the "acusec" or "modusec" in it's utimbuf structure. The result is that config.sh ends up with: i_utime='define' when it really should contain: i_utime='undef' The workaround is easy; when running Configure, edit config.sh when asked and make the change manually. I'll leave it to Larry to choose the best permanent fix to Configure; perhaps if it finds /usr/include/utime.h it should examine it for the necessary symbols before defining i_utime. The second problem only applies to DEC machines with the MIPS CPU, such as the DECstation-3100. The interesting structure declarations in are hidden inside the following: #if defined(vax) || (defined(mips) && defined(LANGUAGE_C)) Configure runs through the C preprocessor before searching for the declarations. Since /lib/cpp doesn't define LANGUAGE_C by default (normally, cc will define it when calling cpp, but Configure invokes /lib/cpp directly on these systems), the #if is not included, and the declarations are never found. The result is that Configure sets d_voidsig='undef' when it should be d_voidsig='define' Once again, an easy workaround is to manually edit config.sh appropriately. It is not clear to me what the cleanest fix for Configure would be. Having it use "cc -E" instead of "/lib/cpp" is one possibility, but that is a bit messy since "cc -E" can't read standard input, so it will be necessary to use a temporary file as it seems to currently do with gcc. Another possibility might be to stick a "-DLANGUAGE_C" on the invocation of "/lib/cpp" that looks through . Don Winsor Department of Electrical Engineering and Computer Science University of Michigan, Ann Arbor don@dip.eecs.umich.edu