Portability Questions


What should I consider when building executables to run on other versions of Linux?

To build executables for portability across multiple Linux distributions, procedures can be linked statically at build time into the executable on the build machine, or they can be linked dynamically at runtime on the target machine. If you link dynamically, you may need to carry the procedure libraries over to the target machine if versions don't already exist there in a location where the executable expects to find them.



What should I consider when building executables to run on other versions of Windows?

To build executables for portability across multiple Windows platforms, consider the following.



What should I consider when building executables to run on other versions of OS X?

To build executables for portability across multiple OS X platforms, consider the following.



Will every program I build run everywhere?

No. Much depends on what system you build it on, and how much your program uses system routines that have changed from OS release to OS release. To reduce the number of porting issues, we recommend you replace system routine calls with calls to standard Fortran, C, and C++ procedures which are available in every version of a standard-compliant compiler.


With pgcc/pgc++, I have trouble opening binary files on Windows, but not Linux. Why?

To port C code containing reads/writes of binary files to Windows, follow these steps:



Are there licensing issues with running executables on other platforms?

Executable files built with any PGI license do NOT require a separate license for distribution (a/k/a a runtime license). Any files or libraries located in the PGI REDIST directory can be distributed for use with PGI compiled applications, within the provisions of PGI End-user License Agreement.

Executable files created using a FlexNet-based PGI license are permanent and perpetual (do not expire), and may be moved to other systems. Executable files created using a PGI Developer license are also permanent and perpetual but are restricted to running only on the same system as they were compiled. Executable files created using PGI temporary licenses (starter, trial, demo) are time limited. The time limit can be removed by recompiling with a permanent license.

Click me