PGI 6.13 on Suse 9.3 - crtbegin.o


I have downloaded and installed the last version of PGI (pgilinux-613) on Linux Suse 9.3.
I have been trying to compile a program with pgf90 and at the end of the compilation process I had the following error:

/usr/bin/ld: /crtbegin.o: No such file: No such file or directory

Could you please help me.

thanking you in advance.


Hi Boris,

Your installation may have failed for some reason. crtbegin.o is part of your GCC installation (typically found at /usr/lib/gcc-lib/i586-suse-linux/3.3.5/ on SuSE 9.3), which the PGI installer tries to detect during installation. Can you try re-installing or review your install log to see if any errors occur? Also, what is the contents of your “localrc” file found in the PGI bin directory?


An interesting observation:

when installing PGI, the scripts makelocalrc tries to find the location of gcc-lib files. In doing so, it runs

gcc -print-search-dirs

and parse the result.
But the parse works in english (i.e. with LANG=C),

gcc -print-search-dirs  | sed -e 's/^install: //' -e 1q

returns /usr/lib/gcc/i386-redhat-linux/3.4.3/
but fails in another langage (typically, in French, with LANG=fr_FR.UTF-8)

gcc -print-search-dirs  | sed -e 's/^install: //' -e 1q

returns installés: /usr/lib/gcc/i386-redhat-linux/3.4.3/

This makes the

test -d

in makelocalrc fail, and localrc is not updated, so crtbegin.o is not found.

Solution : Please, run the ./install script with LANG=C, or rerun the makelocalrc script with LANG=C

Hi lhj,

I forwarded this to the person who maintains our install scripts. He’ll investigate the issue and should be able to update the install script so you won’t need to change your GCC language variables.



The best solution would be to nclude a LANG=C command in the makelocalrc script, just before the call to gcc

Thanks for the reply