diff --git a/scripts/packageBinaries.pl b/scripts/packageBinaries.pl
index 702f147b962036e85a83645219d9a0fb0aab2b83..db464b32803f4cdc3f7fa0a864e03eb4b1a92849 100644
--- a/scripts/packageBinaries.pl
+++ b/scripts/packageBinaries.pl
@@ -712,7 +712,29 @@ if ( ($platform =~ m/AIX/i)    || ($platform =~ m/HP-UX/i) ||
 
     # Populate the library output directory
     print ("\n\nCopying library outputs ...\n");
-    psystem("cp -f $XERCESCROOT/lib/* $targetdir/lib");
+    pchdir ("$targetdir/lib");
+
+    # for Solaris & Linux
+    psystem("cp -f $XERCESCROOT/lib/libxerces-c.so.17.0 .");
+    psystem("rm -f libxerces-c.so.17");
+    psystem("rm -f libxerces-c.so");       
+    psystem("find . -name 'libxerces-c.so.17.0' -exec ln -s {} libxerces-c.so.17 \\;");
+    psystem("find . -name 'libxerces-c.so.17'   -exec ln -s {} libxerces-c.so \\;");
+
+    # for HP-UX        
+    psystem("cp -f $XERCESCROOT/lib/libxerces-c.sl.17.0 .");
+    psystem("rm -f libxerces-c.sl.17");
+    psystem("rm -f libxerces-c.sl");       
+    psystem("find . -name 'libxerces-c.sl.17.0' -exec ln -s {} libxerces-c.sl.17 \\;");
+    psystem("find . -name 'libxerces-c.sl.17'   -exec ln -s {} libxerces-c.sl \\;");
+
+    # for AIX
+    psystem("cp -f $XERCESCROOT/lib/libxerces-c17.0.so .");
+    psystem("rm -f libxerces-c17.so");
+    psystem("rm -f libxerces-c.so");       
+    psystem("find . -name 'libxerces-c17.0.so' -exec ln -s {} libxerces-c17.so \\;");
+    psystem("find . -name 'libxerces-c17.so'   -exec ln -s {} libxerces-c.so \\;");
+               
     #
     # Create symbolic link for those ICU libraries
     #