#1688 Issue closed: Mkrescue fails on 2.3 with missing libraries for TSM when files exist.

Labels: enhancement, support / question, fixed / solved / done

MogiePete opened issue at 2018-01-10 20:08:

  • rear version (/usr/sbin/rear -V): Relax-and-Recover 2.3 / 2017-12-20
  • OS version (cat /etc/rear/os.conf or lsb_release -a): Red Hat Enterprise Linux Server release 7.4
  • rear configuration files (cat /etc/rear/site.conf or cat /etc/rear/local.conf):
    OUTPUT=ISO
    BACKUP=TSM
  • Are you using legacy BIOS or UEFI boot? BIOS
  • Brief description of the issue: Rescue Media fails to create and produces report that files are missing.
  • Work-around, if any: None at this time. Rolled back to Relax-and-Recover 2.2 / 2017-07-20 and rear mkrescue completes without error.

TSM Version: Client Version 8, Release 1, Level 0.0

Error when running rear mkrescue:

/usr/local/ibm/gsk8_64/bin/gsk8capicmd_64 requires additional libraries (fatal error)
libgsk8km_64.so => not found
/usr/local/ibm/gsk8_64/bin/gsk8ver_64 requires additional libraries (fatal error)
libgsk8sys_64.so => not found

jsmeix commented at 2018-01-11 07:58:

This kind of issue and how to work around it
is described in the release notes of the 2.3 release.

schabrolles commented at 2018-01-11 08:26:

@MogiePete ,
Could you try with the following variable added in your local.conf file

COPY_AS_IS_TSM=( /etc/adsm /opt/tivoli/tsm/client /usr/local/ibm/gsk8* /lib*/libgsk* )

MogiePete commented at 2018-01-11 22:23:

@jsmeix I do not believe NON_FATAL_BINARIES_WITH_MISSING_LIBRARY being added would resolve the issue due to the fact that the libraries are needed by dsmc to run.

@schabrolles When added to the local.conf file the mkrescue completed. Thank you.

jsmeix commented at 2018-01-12 13:40:

@MogiePete

I see!

The NON_FATAL_BINARIES_WITH_MISSING_LIBRARY
description in default.conf is insufficient, see
https://github.com/rear/rear/issues/1693

jsmeix commented at 2018-01-12 13:47:

@schabrolles
according to the above it seems an enhancement is needed
for the COPY_AS_IS_TSM default value to be enhanced
from the current

COPY_AS_IS_TSM=( /etc/adsm /opt/tivoli/tsm/client /usr/local/ibm/gsk8* )

to

COPY_AS_IS_TSM=( /etc/adsm /opt/tivoli/tsm/client /usr/local/ibm/gsk8* /lib*/libgsk* )

schabrolles commented at 2018-01-12 14:12:

@jsmeix, I'm currently working on it.
The libgsk are located in /usr/local/ibm/gsk8 for (sles and redhat)
but there is some symlink in /lib64 for RedHat distro.
This mean libgsk are actually copied into the rescue image.

I would prefer to update the TSM_LD_LIBRARY_PATH with /usr/local/ibm/gsk8/lib64

jsmeix commented at 2018-01-12 14:31:

Adding something to TSM_LD_LIBRARY_PATH
only makes the ldd test in build/default/980_verify_rootfs.sh
find more libraries via LD_LIBRARY_PATH
while in contrast
adding something to COPY_AS_IS_TSM
only gets more stuff into the recovery system.

If adding something to TSM_LD_LIBRARY_PATH helps
it shows that the needed libraries are already in the recovery system
as described in
https://github.com/rear/rear/issues/1688#issuecomment-357248210

But then https://github.com/rear/rear/issues/1688#issuecomment-357081281
seems to contradict because there @MogiePete seems to report
that those libraries were actually missing in his recovery system?

@MogiePete
does it also work for you when you leave COPY_AS_IS_TSM as is by default i.e.

COPY_AS_IS_TSM=( /etc/adsm /opt/tivoli/tsm/client /usr/local/ibm/gsk8* )

but only add :/usr/local/ibm/gsk8/lib64 to TSM_LD_LIBRARY_PATH as in
https://github.com/rear/rear/pull/1694/files

schabrolles commented at 2018-01-12 14:50:

@MogiePete ,

Could you please test again by modifying your /etc/local.conf.

  • remove COPY_AS_IS_TSM
  • and instead, add TSM_LD_LIBRARY_PATH=$TSM_LD_LIBRARY_PATH:/usr/local/ibm/gsk8/lib64

MogiePete commented at 2018-01-19 16:39:

@schabrolles

I made the change you requested and the error has returned:

There are binaries or libraries in the ReaR recovery system that need additional libraries
/usr/local/ibm/gsk8_64/bin/gsk8capicmd_64 requires additional libraries (fatal error)
        libgsk8km_64.so => not found
/usr/local/ibm/gsk8_64/bin/gsk8ver_64 requires additional libraries (fatal error)
        libgsk8sys_64.so => not found
ERROR: ReaR recovery system in '/tmp/rear.BAzCqmpLv4Qs8Wh/rootfs' not usable
Aborting due to an error, check /var/log/rear/rear-tsmtestserver.log for details
Terminated

schabrolles commented at 2018-02-27 17:29:

@MogiePete,

Could you test again with the current version of ReaR. I just merged https://github.com/rear/rear/pull/1694 which should solve your issue. It worked for me, but I would like to verify it on your environment.

MogiePete commented at 2018-02-27 20:29:

@schabrolles,

As previously mentioned, adding the path did not work. The path listed in the merge is incorrect according to my system. It should be /usr/local/ibm/gsk8_64/lib64.

Adding COPY_AS_IS_TSM to my /etc/local.conf resolved the issues I was having with 2.3 on a RHEL 7 server running TSM 8.1.

schabrolles commented at 2018-02-28 09:20:

@MogiePete,

I see... thanks for the clarification. It is strange, because gsk libs are located in /usr/local/ibm/gsk8/lib64 on my ppc64le system.
I made a change proposal (https://github.com/rear/rear/pull/1744) to detect the real gsk PATH to add into TSM_LD_LIBRARY_PATH for system like intel which could have it in 64 or 32 bits.

I'm waiting for other ReaR member to review it before merging.

schabrolles commented at 2018-02-28 12:31:

@MogiePete,

change is now merged into master. Could you test and confirm the issue can be closed.

Thanks.

schabrolles commented at 2018-04-08 11:43:

No news is Good news... then, I close this one.


[Export of Github issue for rear/rear.]