Standard procedure libraries are platform independent and can be exchanged between the same major release cycle (example: a library created in OpenEdge 11.1 can be used in any OpenEdge 11.x release).
Memory-mapped procedure libraries are not guaranteed to be portable because the memory alignment they depend on can vary between platform and between releases. Those should be regenerated on the target OpenEdge Release/Operating system.
To check the format of the library, the run
problib <library> -list command and check for the message "
Library format is STANDARD/MAPPED. (9013)" at the start of the output.
Beyond the format of the .pl file itself, the portability rules for the r-code stored in the libraries apply. See also
R-code bit compatibility rules in OpenEdge 10.x and OpenEdge 11.x.