I just upgraded one of my machines from openSUSE 12.2 to 12.3 and now pgcc gives some errors when compiling files:
PGC-S-0040-Illegal use of symbol, __SWBLK_T_TYPE (/opt/pgi/linux86-64/13.3/include/bits/types.h: 159)
PGC-W-0156-Type not specified, 'int' assumed (/opt/pgi/linux86-64/13.3/include/bits/types.h: 159)
PGC-S-0040-Illegal use of symbol, __syscall_slong_t (/usr/include/time.h: 123)
PGC-W-0156-Type not specified, 'int' assumed (/usr/include/time.h: 123)
PGC-S-0040-Illegal use of symbol, __syscall_slong_t (/usr/include/bits/stat.h: 106)
PGC-W-0156-Type not specified, 'int' assumed (/usr/include/bits/stat.h: 106)
which did not occur on openSUSE 12.2. I’m surprised since the GCC version between the two distros only changed from 4.7.1 to 4.7.2 so I wouldn’t have thought there would have been any controversial changes.
I don’t get the impression you re-installed the compilers after you upgraded
SuSe and gcc. You really need to. Remove the old installation, install again, and then
see if the problems persist. They might, but the install process is where we
address the host dependencies, like where gcc puts it’s headers, whether PGI
needs to have a pre-header, etc.
regards,
dave
% more hello.c #include <stdio.h>
int main()
{
printf(" hello\n");
}
if
% pgcc hello.c -o hello
gives you problems, send the files hello_pgi.i and hello_gcc.i
% pgcc -E hello.c >& hello_pgi.i
% gcc -E hello.c >& hello_gcci.i
Sorry, I see now the way I wrote the post looks as though I didn’t reinstall. Actually I started from scratch, formatted the HD and installed the new OS and then installed the compilers.
% pgcc hello.c -o hello
gives:
PGC-S-0040-Illegal use of symbol, __SWBLK_T_TYPE (/opt/pgi/linux86-64/13.3/include/bits/types.h: 159)
PGC-W-0156-Type not specified, 'int' assumed (/opt/pgi/linux86-64/13.3/include/bits/types.h: 159)
PGC/x86-64 Linux 13.3-0: compilation completed with severe errors