Unable to use Veeam Agent for IBM AIX after LIBPATH variable has been changed
Challenge
In IBM AIX, it is possible to change the LIBPATH variable globally. However, doing so overrides the library loader domain configuration for all the applications running with system environment on that machine. If the LIBPATH is set to anything other than blank (default), the Veeam Agent for IBM AIX binaries ('veeam', 'veeamconfig', and 'veeamsvc') will fail to operate.
Example:
Example:
# LIBPATH=/usr/lib /opt/veeam/bin/veeamconfig
Could not load program /opt/veeam/bin/veeamconfig:
Could not load module /opt/veeam/lib/libVmbPlatformLib.so.
Dependent module /usr/lib/libiconv.a(libiconv.so.2) could not be loaded.
Member libiconv.so.2 is not found in archive
Could not load module veeamconfig.
Dependent module /opt/veeam/lib/libVmbPlatformLib.so could not be loaded.
Could not load module .
Solution
To resolve this, implement the workaround below, which will set the LIBPATH variable to an empty (blank) value before running Veeam Agent for IBM AIX binaries.
- Create aliases for
veeam
andveeamconfig
binaries so when they are called, they will operate with an emptyLIBPATH
:
Note: Theveeam
binary is new starting in Veeam Agent for IBM AIX build 4.5.0.1616 .
alias veeamconfig="LIBPATH= /opt/veeam/bin/veeamconfig"
alias veeam="LIBPATH= /opt/veeam/bin/veeam"
To preserve this alias so it is not lost on reboot, it should be added to .bash_profile, .bashrc, or one of the system-wide equivalents /etc/profile and /etc/bashrc.
- Create an SH file that will set the LIBPATH to blank for starting the service, then make that sh file executable.
- Create the following file: /opt/veeam/bin/libpath.sh
- Add the following content to the file:
#!/usr/bin/sh
LIBPATH= /opt/veeam/bin/veeamservice
Note: There is a blank space after
LIBPATH=
- Make the file executable:
chmod +x /opt/veeam/bin/libpath.sh
- Stop the veeamsvc service.
stopsrc -s veeamsvc
- Remove the veeamsvc service.
rmssys -s veeamsvc
- Add the service with the new SH file.
mkssys -s veeamsvc -R -p /opt/veeam/bin/libpath.sh -u 0 -S -n15 -f9
- Start the veeamsvc service.
startsrc -s veeamsvc
With these changes in place, the product will operate despite the LIBPATH set system-wide to any other value.
After every Veeam Agent upgrade, the veeamsvc must be recreated as documented in steps 3 and 4.
Updating crontab for Scheduled Jobs
After configuring scheduled jobs, you will need to manually edit the crontab entries using the "crontab -e" command. The entries from crontab will need to have "LIBPATH= " before the veeamconfig command, as shown in this example:
00 7 * * * LIBPATH= veeamconfig job start --id {GUID} --retriable --scheduled --highpriority > /dev/null
To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.