Q: I get an error while compiling because libpscrt.so.1 is missing, but I can find it in the
lib64 directory...
Q: The installation says it fails because libstdc++.so is missing...
Q: Do you support the installation of individual
language versions of the compilers?
Q: Has someone tried to install the PathScale
compilers on an unsupported Linux Distribution?
Q: Is it possible to specify compiler options
somewhere so that they are always passed to the compiler?
| I get an error while compiling because libpscrt.so.1 is missing, but I can find it in the
lib64 directory. What is the problem? |
The PathScale compilers require the 32-bit version of this library. Make sure this
is in your library search path. This is covered in the PathScale Compiler Suite and Subscription Manager Install Guide, Section "Using Shared Libraries".
If you are installing a non-root tar file, you must configure the dynamic linker
by hand. There are two ways to do this, depending on whether or not you have root
privileges.
If you do not have root privileges, (using a bash shell) type the following:
$ export LD_LIBRARY_PATH=<install_directory>/lib/<version>:
<install_directory>/lib/<version>/32:$LD_LIBRARY_PATH
If you have root privileges, point to shared files after a non-root tar file
installation by adding the following lines to /etc/ld.so.conf (the order in
which they appear does not matter):
/<install_directory>/lib/<release> /<install_directory>/lib/<release>/32
After adding these lines, run the /sbin/ldconfig program to tell the dynamic
linker about these new directories. You will need root privileges to do this.
# /sbin/ldconfig |
| |
| The installation says it fails because libstdc++.so is
missing, but I can find it in the lib64 directory. What is
going wrong? |
There are two common reasons for this problem:
- You do not have the 32-bit runtime environment installed.
Our compiler is a 32-bit application. Some Linux distributions do
not install the 32-bit glibc and libstdc++ runtime libraries by default. In those cases you will need to
manually install them.
- You do not have the right versions of these libraries installed
The PathsScale Compiler Suite is based on GCC 3.3 and the associated
runtime libraries. Some of the newer Linux distributions provide
the GCC 3.4 or 4.0 runtime libraries by default. These systems
will need compatibility libraries installed. The compatibility
libraries provide the necessary versions of the libraries for the
GCC 3.3 compilers.
Please see Appendix B of the PathScale Compiler Suite and Subscription Manager Install Guide for more details about package dependencies for running the
compiler environment on the Linux distributions that we test.
The required RPMs are part of the Linux distributions we test on but
in some cases they are not installed when the default OS installation
is selected. |
| |
| Do you support the installation of individual language versions (C, C++,
Fortran) of the compilers? |
We do support the installation of individual language
compilers.
Note: Installing the individual compilers only works with
the RPM install. |
The PathScale Compiler Suite has a number of
supporting RPMs that must be installed for the compilers. This list
includes the RPMs named:
pathscale-base-*
pathscale-compilers-common-*
pathscale-compilers-docs-*
pathscale-compilers-libs-*
pathscale-sub-client-*
You must install all of these RPMs, but you are free to select whichever
language-specific RPM you need:
pathscale-c
pathscale-c++
pathscale-f90
After you have installed the other RPMs, then install the
appropriate package for the language you want. For example, to install
the Fortran compiler you would type:
# rpm -Uvh pathscale-f90-*
See Chapter 4 in the PathScale Compiler Suite and Subscription Manager Install
Guide for more details on installing subsets of the PathScale
Compiler Suite environment. |
| |
| Has someone tried to install the PathScale compilers on an untested Linux distribution? |
Yes, customers have tried to install the PathScale Compiler Suite
on untested Linux distributions. The following is a list of the operating
systems they have tried, the problems that they encountered, and any
workarounds that they have reported to us.
Please remember that these are not supported
distributions. Any problems encountered will only be corrected if they
can be duplicated on a supported distribution.
Note: When using an unsupported distribution, be sure that gcc-3.3 is installed; gcc-3.3 must be installed for pathCC to work. |
| |
| Distribution name/OS |
Problems encountered |
Workarounds |
| Mandrake |
The C & C++ compilers appear to work
but the Fortran compiler fails to work. |
|
CentOS 4.0 for Opteron
Rocks 4.0 for Opteron |
These are plain 64-bit
distributions, which do not have a 32-bit libstdc++ installed. |
Install the 32-bit glibc
and libstdc++ on your machine.
Install the 64-bit and 32-bit versions of the compat-libstdc++ RPM. |
| Gentoo |
Users have reported success in
running the PathScale compilers on Gentoo. |
Install the 32-bit gcc-lib compatibility libraries.
Install the rpm2targz package from the Gentoo package system. |
| Debian |
Users have reported success with the
C/C++ compilers on Debian |
Use the SUSE 9 RPMs. |
See Appendix B of the PathScale Compiler Suite and Subscription Manager Install
Guide for more details about package dependencies.
More information about some of these distributions:
CentOS 4.0 for Opteron/Rocks 4.0 for Opteron
The license server will hang forever:
# /etc/rc.d/init.d/pathscale-sub start
Checking for PathScale compiler subscription: [ OK ]
Starting PathScale compiler subscription server:
Turns out that rocks changes the runuser command and /var/log messages gets:
Jul 6 10:54:38 csebeo runuser: Enter file \
in which to save the key \
(/var/log/pathscale-sub/.ssh/id_rsa):
Jul 6 10:56:02 csebeo runuser:
/var/log/pathscale-sub/.ssh/id_rsa.pub
Jul 6 10:56:02 csebeo runuser:
/var/log/pathscale-sub/.ssh/id_rsa
To fix simply:
su - psc_sub
<hit return a few times to take the default keys>
Gentoo
Here are more details about installing the libraries on Gentoo:
- Install the 32-bit gcc-lib compatibility libraries.
Or, more specifically:
emerge -v emul-linux-x86-compat
- Install the rpm2targz package from the Gentoo package system.
Or, emerge
-v rpm2targz
- Run rpm2targz on all the SUSE 9 distribution RPMs.
- Copy the two and some odd thousand files created to /opt/pathscale.
In fact, use tar -zxvf directly on the *.tgz files
generated in Step 3.
They already extracted to /opt/pathscale.
- Follow the regular PathScale subscription server setup.
1. Untar the binaries in a directory of choice
2. Set PATH and LD_LIBRARY_PATH env variables
Copy pscsubscription-<product>-*.xml to the
appropriate place, set PATH to point to /opt/pathscale/bin and begin the compilation.
Note that in most cases, you don't need to modify the LD_LIBRARY_PATH.
When installing RPMs, a file called /etc/ld.so.conf is automatically
updated to point at the locations of the shared versions of the runtime libraries.
Please refer to the PathScale Compiler Suite and Subscription Manager Install Guide for more information.
Debian
Installing the C/C++ compiler on Debian
- Download the source and binaries for all versions, which is the file named PathScale-Compiler-Suite-*.iso.
- Extract the compiler.
- mount -o loop PathScale-Compiler- \
Suite-<version>.iso /mnt
- cd <installdir>
We chose /usr/local/opt/pathscale as <installdir>.
- tar jxvf /mnt/SuSE9/tar/pathscale- \
compilers-suse9.0-<version>_suse9.0_psc.tar.bz2
- Put the license file
(pscsubscription-<product>-*.xml)
into <installdir>/lib/3.0
You are done with the installation.
Installation of version 3.0 for evaluation:
- Download the source and binaries for all versions, which is the
file named PathScale-Compiler-Suite-<version>.iso.
- Burn it to CD-R or try
# mount -r -o loop PathScale-Compiler- \
Suite-<version>.iso /mnt
if your kernel supports the loopback device.
- Find PathScale-Compiler-Suite-<version>-SuSE9.tar.
- # cd <installdir>; tar xvf PathScale- \
Compiler-Suite-<version>-SuSE9.tar.
We chose /usr/local/opt/pathscale as <installdir>.
- Put the license file (pscsubscription-<product>-*.xml)
into <installdir>/lib/3.0.
- # apt-get install ia32-libs ia32-libs-dev \
lib32gcc1 lib32stdc++6
- Set PATH to include <installdir>/bin.
- Add <installdir>/lib/3.0 to /etc/ld.so.conf and run # ldconfig, or set LD_LIBRARY_PATH to include the directory.
- If # file <installdir>/bin/pathcc does not display
the correct information, do this:
# ln -s /emul/ia32-linux/lib/ld-2.3.2.so \
/lib/ld-linux.so.2
You are ready to start compiling.
Can you specify compiler options to be used every time the compiler is invoked?
For example, the Intel compilers have *.cfg files
(icc.cfg for icc, ifort.cfg for ifort, etc.) where you can put options to be passed to the
compiler every time it is invoked. |
| The PathScale Compiler Suite does support such a configuration
file. The compiler.defaults file, located in /<install_directory>/pathscale/etc allows you to
set default compilation options. The syntax in compiler.defaults file is the same as the options used on the
compiler command line. Section 2.3 of the PathScale
Compiler Suite User Guide covers in details how to define default
compilation options for the compiler. |
Back to top
Q: We purchased 2 seats for the PathScale compiler, but we seem to run out of seats...
Q: I installed the new subscription file in the /opt/pathscale/lib/ directory but the compiler still does not
work.
Q: We seem to have a problem with our PathScale
compiler subscription. We get the following cryptic and unhelpful
error message...
We have purchased 2 seats for the PathScale compiler. But when one person stops using the compiler, I receive an error message says we don't have enough seats when another person starts using the compiler. What's wrong?
|
The PathScale Compiler Suite licensing behaves
differently than many other compiler vendors. We follow a software
developer seat model, instead of a concurrent usage model. When
someone invokes the compiler, they obtain a lease for that seat for
15 minutes. Subsequent invocations of the compiler will renew the
lease.
The subscription manager tracks the usage based on user name and
machine name. In the current implementation this means that within
the lease period if either the number of users exceeds the number
of seats *or* the number of machines exceeds the number of seats,
then the subscription manager will turn down the request.
The subscription daemon uses the following formula to determine if
there are leases available:
numseats = max(users, machines)
For example, if a site has 10 users and 20 machines, and the
subscription specifies that the number of leases is 10, then up to 10
users can use the software on up to 10 machines (that is, up to 100
leases can be issued using combinations of the 10 users and machines).
Please see the PathScale Compiler Suite and Subscription Manager Install Guide for
more information. |
| |
|
I installed the new subscription file in the /opt/pathscale/lib/ directory but the compiler still does not work. What's happening? |
$ pathcc -O3 hello.c -o hello
*** Subscription: Your subscription for the PathScale
compiler products has expired and you have exceeded
the grace period. Your compiler will not operate
until you contact PathScale and formally renew the
agreement.
Compilation terminated
When installing a new subscription file, it is necessary to restart
the subscription server. See the PathScale Compiler Suite and Subscription Manager Install Guide.
Double check the permissions on the subscription file. Make sure it
is world readable:
# cp pscsubscription-<product>-*.xml \
/opt/pathscale/lib/3.0
# chmod ugo+r /opt/pathscale/lib/3.0/ \
pscsubscription-<product>-*.xml
Additionally, you should ensure that any old subscription files are removed
from the directory as they will interfere with more recent ones. Renaming is
not sufficient. They must not be in the same directory.
|
| |
|
We seem to have a problem with our PathScale compiler subscription. We get the following cryptic and unhelpful error message: |
*** Subscription: You have exceeded the limits for which
you contracted in your PathScale subscription agreement
and have gone beyond any additional allowances provided
for unintentional or occasional use. Your usage will
be limited to the contracted levels until you contact
PathScale to increase your committed usage levels.
Compilation terminated
|
| What is happening is that you have exceeded the number of
subscriptions that you have purchased from PathScale. The subscription
manager issues a "lease" for a period of 15 minutes to a user when
that user begins to use the compiler. When two users compile at the
same time two "leases" are issued. The error message indicates that
you need additional subscriptions. |