Procedures to enable XMP extraction and write-back on 64-bit RedHat Linux


After modifying an image's metadata in AEM Assets, the XMP metadata is not written back to the image.

In AEM (CQ) 5.5 and later, changes to the metadata of an asset are written back to the original binary as part of its XMP data. The AEM Metadata write-back workflow handles this process. The workflow uses the XMPWorker Linux fragment, which is a 32-bit native executable application that AEM runs on the OS shell.

This application is also used to optimally extract the existing XMP metadata from renditions. If the writeback fails (returns a WARN message in the server error.log file) on 64-bit Linux, your OS may not have 32-bit dynamic runtime environment installed to run 32-bit executables on 64-bit Linux.


To resolve the issue, you can install the 32-bit libraries for Redhat Enterprise Linux or CentOS.

Alternatively, if you are running AEM 6.1 or lower, you can install a JAR file that includes the 64-bit XMP extraction binary for Redhat Enterprise Linux or CentOS.


Even if you want to extract metadata only, skipping the procedure can reduce your AEM instance's performance during metadata extraction of file types, such as PSD.

For optimal performance, Adobe recommends that the environment be set up correctly for XMPWorker.

Installing 32-bit libraries (AEM 6.0 or lower)

If you are running AEM 6.0 or a lower version, perform these steps to install JAR file containing the 64-bit binaries on your AEM instance:

  1. Uninstall the fragment bundle com.adobe.xmp.worker.files.native.fragment.linux from the AEM instance running on 64-bit Linux system.

  2. Download the jar (files.native.fragment-1.0.4-linux64.jar), and install to the Apache Felix Web Console http://:/system/console/bundles.

  3. Restart AEM.

  4. Return to the web console and ensure that the bundle com.adobe.xmp.worker.files.native.fragment.linux is active.

Installing 32-bit dynamic runtime environment (AEM versions higher than 6.0)

For AEM versions higher than 6.0, perform these steps to install the 32-bit dynamic runtime environment for 64-bit Linux:

  1. Install the 32-bit runtime libs by executing commands from the server's terminal (glibc may already be installed, but to be safe, the second command is included). For example, for RHEL, run the following commands:

    • yum install
    • yum install glibc.i686
    • yum install libuuid.i686


    To avoid any issues with installing the libuuid library, run the yum upgrade command before you run the yum install libuuid.i686 command. For other operating systems, run the equivalent upgrade/install commands to fetch the 32-bit libraries.

  2. Restart AEM.

  3. To verify if the setup is correct, locate the binary XMPFilesWorker in the crx-quickstart folder, and run the command:

    # ldd path/to/XMPFilesWorker

    Ensure that the output doesn't have any "not found" entries for the dependencies.


Legal Notices   |   Online Privacy Policy