============================================ System Requirements for PDFlib GmbH Products ============================================ Latest change: 2022-09-15 This document describes the requirements for using PDFlib GmbH binaries on various platforms. This list covers all platforms on which at least one product is supported. It should not be construed as a commitment regarding the availability of a certain product/platform combination. To find out whether a PDFlib GmbH product is supported on a particular platform please check the downloadable binary packages at www.pdflib.com. ================================ Java on all platforms ================================ Java 8 or above is required for the Java binding. ================================ Windows ================================ Requirements: Windows 8/10/11 on x86 or x64 Windows Server 2012 and above on x86 or x64 C and C++ bindings ------------------ The delivered binaries (libraries) can be used to build applications with Visual Studio and compatible products. Project files for the programming samples are available for Visual Studio 2015. Newer versions of Visual Studio convert these automatically. Embarcadero C++ Builder ----------------------- In order to use the shared library with Embarcadero C++ Builder 64-bit you must create an import library from the DLL with the "mkexp" command, e.g. mkexp pdflib.lib pdflib.dll ================================ .NET ================================ The .NET binding is implemented as C# assembly using C# Interop with additional unmanaged code in a native shared library. It is distributed as universal package with support for the following environments: - Windows x86, Windows x64, Linux x64, macOS x86 and arm64, Alpine Linux x64 - .NET Standard 2.0, e.g. .NET Core 2/3, .NET 5/6 and above - .NET Framework 4.6.1 and above (Visual Studio 2017 Version 15.7 or above) The examples are written for Target Framework netcoreapp3.1. In order to deploy them with other Target Frameworks please adjust the project files. ================================ Linux x86/x64 ================================ Requirements: GLIBC 2.12 or above and libstdc++.so.6.0.21 or above based system on x86/x64 C and C++ bindings ------------------ Compiler: g++ 5 or above binutils: 2.26 or above CFLAGS=-pthread LDFLAGS=-pthread ================================ Linux ARM64 ================================ Requirements: GLIBC 2.27 or above based system on ARM64 C and C++ bindings ------------------ Compiler: g++ 5 or above CFLAGS=-pthread LDFLAGS=-pthread ================================ Alpine Linux ================================ Requirements: Alpine Linux 3.4 and above on x64 musl C library (instead of glibc) ================================ macOS ================================ Requirements: macOS 10.9 and above on x64/ARM64 The Gatekeeper protection feature blocks unsigned applications. This applies to all PDFlib GmbH command line tools. If you want to use these tools you must inform the system that it is a safe application. Override Gatekeeper by Control-clicking the application icon and select "Open" from the top of the context menu. This must be done only once per user account. C, C++, and Objective-C bindings -------------------------------- Compiler: Xcode 8 or above ================================== FreeBSD ================================== Requirements: FreeBSD 12/13 on x64 ================================ AIX ================================ Requirements: AIX 7.1 and above C and C++ bindings ------------------ Compiler: xlclang/xlclang++ 16.1 and above Other language bindings ----------------------- A C++ runtime implementation with support for C++11 and C++14 is required via a library called libc++.a. This library is available in a C++ runtime fileset called libc++.rte. Please refer to IBM documentation for more information. ================================ iOS ================================ Requirements: - iOS 11 or above on armv7 or ARM64 - XCode 11 or above - supported language bindings: Objective-C, C, C++ ================================ Android ================================ Requirements: - supported architectures: ARM, ARM64, x86 - runtime requirements for ARM and x86: API level 18 and above - runtime requirements for ARM64: API level 21 and above - supported language bindings: Java and C/C++ for NDK ================================ IBM System i ================================ Not all products are available for IBM System i. Please refer to www.pdflib.com regarding the use of AIX 32-bit binaries on i5 systems with PASE. Requirements: System i 7.2 and above Functional restrictions on System i: - ICU 50.1.1; only Unicode 6.2 supported - WOFF2-compressed fonts not supported - networking support not available - C-based PDI/pCOS resource manager implementation instead of faster C++ implementation - Decompression of JPEG 2000 streams not supported ================================ IBM System Z ================================ Requirements: z/OS 2.1 and above with USS (64-bit) or MVS (64-bit) Functional restrictions on System Z: - networking support not available C/C++ binding ------------- The library for C/C++ has been built with xlclang++ (XL C/C++ V2.4.1 for z/OS V2.4). Applications must be linked with XPLINK. MVS --- MVS versions of PDFlib GmbH products are not thread-safe. Functional restrictions on MVS: - ICU 50.1.1; only Unicode 6.2 supported - WOFF2-compressed fonts not supported - networking support not available - C-based PDI/pCOS resource manager implementation instead of faster C++ implementation ================================ zLinux ================================ Requirements: zLinux 32-bit or 64-bit (s390/s390x) GLIBC 2.19 (or later) based system. C/C++ binding ------------- CFLAGS/CXXFLAGS: -W "c,float(ieee)"