Adam,
conffix.h is generated temporarily for this test [based on previous
tests in configure]. After succesful completion of configure - these
workarrounds are dumped into bmake/$PETSC_ARCH/petscfix.h You can run
configure with --doCleanup=0. This option is supporsed to prevent
deleting temporary files.
Also there should be an entry in configure.log for a test for mode_t.
I have the following on my linux box. [if this test fails - configure
adds an entery for mode_t to conffix.h]
Satish
On Sat, 5 Apr 2008, Adam C Powell IV wrote:
> Greetings,
>
> Due to a change somewhere in the toolchain, PETSc configuration suddenly
> stopped working on Debian unstable. The error message in configure.log
> is:
>
> TEST checkSizeof from
> config.types(/home/hazelsct/petsc-2.3.3/python/BuildSystem/config/types.py:246)
> TESTING: checkSizeof from
> config.types(/home/hazelsct/petsc-2.3.3/python/BuildSystem/config/types.py:246)
> Determines the size of type "typeName", and defines SIZEOF_"typeName" to be
> the size
> Checking for size of type: char
> Pushing language C
> sh: mpicc -c -o conftest.o -fPIC -Wall -Wwrite-strings -Wno-long-double
> -Wno-strict-aliasing -g3 conftest.c
> Executing: mpicc -c -o conftest.o -fPIC -Wall -Wwrite-strings
> -Wno-long-double -Wno-strict-aliasing -g3 conftest.c
> sh:
> Possible ERROR while running compiler: ret = 256
> error message = {In file included from conftest.c:4:
> /usr/include/sys/types.h:72: error: conflicting types for ‘mode_t’
> conffix.h:6: error: previous declaration of ‘mode_t’ was here
> /usr/include/sys/types.h:88: error: conflicting types for ‘off_t’
> conffix.h:7: error: previous declaration of ‘off_t’ was here
> In file included from /usr/include/sys/types.h:147,
> from conftest.c:4:
> /usr/lib/gcc/x86_64-linux-gnu/4.2.3/include/stddef.h:214: error: conflicting
> types for ‘size_t’
> conffix.h:4: error: previous declaration of ‘size_t’ was here
> cc1: error: unrecognized command line option "-Wno-long-double"
> }
> Source:
> #include "confdefs.h"
> #include "conffix.h"
>
> #include <sys/types.h>
> #if STDC_HEADERS
> #include <stdlib.h>
> #include <stdio.h>
> #include <stddef.h>
> #endif
>
> int main() {
> FILE *f = fopen("conftestval", "w");
>
> if (!f) exit(1);
> fprintf(f, "%lu\n", (unsigned long)sizeof(char));
> ;
> return 0;
> }
> Compile failed inside link
>
> *********************************************************************************
> UNABLE to CONFIGURE with GIVEN OPTIONS (see configure.log for
> details):
> ---------------------------------------------------------------------------------------
> Unable to determine sizeof_char
> *********************************************************************************
>
> Trouble is, I can't find conffix.h anywhere in order to change it. And
> "grep conffix petsc-2.3.3/python/BuildSystem/*" and */* etc. doesn't
> turn up anything useful.
>
> How can I investigate further, to try to fix this?
>
> -Adam
>