Linux: Troubleshooting when files content is not found after searching
Files content might not be found on Linux systems unless you perform some added steps.
- Run the exporter in isolation from IBM Connections To verify the exporter is working correctly, run it on the command line in isolation from IBM Connections. To run the exporter executable on the command line, use the user account the Search WebSphere Application Server is running under:
- Change directory to the Stellent binary location, for example:
$ cd /opt/IBM/Connections/data/local/search/stellent/dcs/oiexport
- Run the exporter command. The exporter command has the following syntax:
exporter inputpath=<path_to_input_file> outputpath=<path_to_extracted_text_output> outputid=FI_SEARCHTEXT
For example:
$ ./exporter inputpath=/root/translation.pdf \ outputpath=/root/testStellent.txt outputid=FI_SEARCHTEXT
If the text extraction worked successfully, we see the output:
Export complete
However, if we see a message like the following message, continue to the next step:
./exporter: error while loading shared libraries: libsc_ex.so: cannot open shared object file: No such file or directory
- Ensure the operating system environment variables LD_LIBRARY_PATH and PATH are set correctly in Section 1. Both variables should contain the Stellent install directory. To get the current values of the environment variables as the user the Search WebSphere Application Server is running under:
$ cd app_server_root/AppServer/bin $ . setupCmdLine.sh $ echo $LD_LIBRARY_PATH $ echo $PATHTo verify the Stellent exporter executable can be found through the PATH environment variable, run the following command:$ which exporter
The output of this command should contain the full path to the exporter executable. For example:
/opt/IBM/Connections/data/local/search/stellent/dcs/oiexport/exporter
- Check the WebSphere Environment :
- Use the WAS administrative console, ensure the WebSphere environment variable FILE_CONTENT_CONVERSION points to the exporter executable. For example:
/opt/IBM/Connections/data/local/search/stellent/dcs/oiexport/exporter
When the server containing the Search application starts, it checks if the WAS FILE_CONTENT_CONVERSION environment variable points to a path containing the stellent binaries.
- Verify the SystemOut.log contains similar lines to the following message:
[5/18/14 8:21:00:985 EDT] 00000250 DocumentIndex I com.ibm.connections.search.service.files.impl.DocumentIndexingServiceImpl isEnvironmentValid - FILE_CONTENT_CONVERSION: /opt/IBM/Connections/search/search/search/dcs/oiexport/exporter [5/18/14 8:21:00:986 EDT] 00000250 DocumentIndex I com.ibm.connections.search.service.files.impl.DocumentIndexingServiceImpl isEnvironmentValid: true
- Ensure the user under which the Search WebSphere Application Server is running has sufficient file access privileges. This user should have read/write/execute permissions on the exporter executable and read/write permissions on the other files in the Stellent install directory.
- Verify the libraries deployed with Stellent are compatible with the platform. For example, on a 64 bit Linux system:
$ uname -a Linux host1 2.6.18-308.11.1.el5 #1 SMP Fri Jun 15 15:41:53 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux $ cd /opt/IBM/Connections/data/local/search/stellent/dcs/oiexport $ file libsc_ex.so libsc_ex.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), not strippedYour Stellent installation might contain 32 -bit libraries although we are running on a 64-bit platform. This is not an issue provided the 32-bit compatible libraries are on the LD_LIBRARY_PATH or can be found on the shared library search path.
- Verify shared library dependencies. The Stellent exporter executable has a number of dependencies on both the shared libraries packaged with Stellent and on shared libraries installed on the system. To verify that required shared libraries can be found, use the ldd command on the exporter executable :
$ ldd -v exporter
- Check the output of this command for any shared libraries marked as => not found.
Stellent shared library not found
If a Stellent shared library cannot be found, then check the setting of the LD_LIBRARY_PATH operating system environment variable contains the Stellent install directory.
System shared library not found
If a system shared library cannot be found, then we are missing a prerequisite library.
It is still possible to pick up libraries from locations other than those included in the LD_LIBRARY_PATH operating system environment variable, as long as they can be found elsewhere on the system's default search path. In addition to libc.so.6, Stellent is dependent upon the following libraries:
- libstdc++.so.5
- libgcc_s.so.1
- For Red Hat Enterprise Linux 6.0 and later, it is possible that we are missing the package compat-libstdc++-33. This package contains libstdc++.so.5.
Parent topic:
Troubleshoot Search