Distribution and Deployment for Linux
Core Requirements
Base a Linux deployment on the package supplied for the target distribution and architecture. Keep the native runtime, configuration, interface files, and feature-specific libraries from the same TFORMer release.
-
Preserve the complete package-provided native-library chain in
/usr/local/lib:libTFORMer9.so, its SONAME link, and the fully versioned target. Make the directory available to the platform dynamic-library loader. -
TFORMer.xml
Install the default configuration at/usr/local/share/TFORMer9/TFORMer.xml. For a custom location, specify the file withTFormer_SetConfigFile()or place it in the application or TFORMer runtime directory.
The exact system-library package names depend on the target distribution. The current Debian 12 x86-64 runtime links directly to these library families:
- LibXml2:
libxml2.so.2 - LibXslt:
libxslt.so.1 - FreeImage:
libfreeimage.so.3 - FreeType:
libfreetype.so.6 - Fontconfig:
libfontconfig.so.1 - ZLib:
libz.so.1 - POCO Foundation, Util, Net, Crypto, JSON, and NetSSL:
libPoco*.so.80 - OpenSSL Crypto:
libcrypto.so.3 - Standard C, C++, math, GCC, and Linux loader runtimes
Install the matching libraries through the target distribution. Use the installed support.sh script to inspect the libraries resolved on the deployment system.
Additional libraries are loaded for selected features:
- LibArt LGPL:
libart_lgpl_2.so.2(or the unversioned fallback) is required by the Linux image renderer. - CUPS is required for direct printing to Linux printers; file output does not require CUPS.
- UnixODBC is required only when the application uses ODBC/SQL data input.
Third-party Notices
Keep the supplied copyright, license notices and credits with the components you redistribute. The SDK package provides third-party notices in its Copyright directory. Use the notices from the same release and preserve those accompanying any additional libraries you distribute; the Windows file list is not a Linux deployment manifest.
Licensing
For license types, validity, confidentiality and API examples, see Licensing.
Automatic License Lookup on Linux
TFORMer SDK searches for TFORMer.ini in this order:
- The application executable's directory.
- The TFORMer runtime library directory.
- The shared configuration directory, normally
/usr/local/share/TFORMer9/.
Automatic lookup uses the first successfully read license data, even if that license has expired. Later locations are then ignored.
For a custom location, use the selected interface's explicit license-file method. TFPrint users can use -L file:<path>.
API Specific Requirements
Native C API
Deploy the complete package-provided libTFORMer9.so chain, including its SONAME link and fully versioned target. For development, use the headers below /usr/local/include/TFORMer9/ and link with -L/usr/local/lib -lTFORMer9.
.NET API
The Linux package installs two managed assemblies in /usr/local/lib:
TECIT.TFORMer.dll, referenced by the packaged .NET 8 command-line sampleTECIT.TFORMer.Std.dll, the .NET Standard 2.0 assembly
Deploy the assembly that matches the selected API target together with the native TFORMer runtime from the same release.
Java API
For Java on Linux, deploy both interface components from the same release:
JTFORMer9.jar- the complete package-provided
libTFORMer9JNI.sochain, including its SONAME link and fully versioned target
Make /usr/local/lib available through java.library.path or the platform dynamic-library loader. The current JAR targets Java 8 bytecode.
Requirements for PostScript/HTML Output
Deploy the output resources for every output path used by your application. The Linux package installs these files together with TFORMer.xml under /usr/local/share/TFORMer9/. Relative resource names are resolved through the TFORMer runtime/configuration search path.
-
PostScript output
header.psprovides the PostScript page header.footer.psprovides the PostScript page footer.
-
HTML output
template.htmlprovides the generated HTML index template.footer.htmlprovides the footer links appended to generated HTML pages.
Distribution of TFORMer Document Layouts
For the layout files and associated resources to include in your deployment, see Distribution of TFORMer Document Layouts in the Windows deployment chapter. The file-packaging requirements also apply to Linux; preserve the repository directory structure and references to external resources.