#1533 Issue closed
: ERROR: ReaR recovery system not usable (missing libraries for TSM libraries)¶
Labels: bug
, external tool
dcz01 opened issue at 2017-10-13 07:54:¶
ERROR: ReaR recovery system not usable (TSM)¶
Fill in the following items before submitting a new issue
(quick response is not guaranteed with free support):
- rear version (/usr/sbin/rear -V):
Relax-and-Recover 2.2-git.0.3286708.unknown / 2017-10-10
- OS version (cat /etc/rear/os.conf or lsb_release -a):
OS_VENDOR=RedHatEnterpriseServer
OS_VERSION=6
- rear configuration files (cat /etc/rear/site.conf or cat /etc/rear/local.conf):
OUTPUT=ISO
OUTPUT_URL=file:///tmp/rear
#BACKUP=NETFS
BACKUP=TSM
#BACKUP_PROG=tar
#BACKUP_PROG_CRYPT_ENABLED=1
#BACKUP_PROG_CRYPT_KEY=<Verschluesselungskennwort>
#BACKUP_PROG_CRYPT_OPTIONS="/usr/bin/openssl aes256 -salt -k"
#BACKUP_PROG_DECRYPT_OPTIONS="/usr/bin/openssl aes256 -d -k"
#BACKUP_URL=nfs://<IP-Adresse oder DNS-Name>/<Freigabepfad>
#BACKUP_URL=cifs://<Server>/<Freigabe>
#BACKUP_OPTIONS="cred=/etc/rear/cifs,sec=ntlmsspi"
#BACKUP_TYPE=incremental
#FULLBACKUPDAY="Sat"
#BACKUP_PROG_EXCLUDE=( '/tmp/*' '/dev/shm/*' $VAR_DIR/output/\* '/opt/tivoli/tsm/rear/*' '/mnt/*' '/media/*' '/var/lib/pgsql/*/data/base/*' '/var/lib/pgsql/*/data/global/*' '/var/lib/pgsql/*/data/pg*/*' )
SSH_ROOT_PASSWORD='$1$HGjk3XUV$lid3Nd3k01Kht1mpMscLw1'
- Are you using legacy BIOS or UEFI boot?
BIOS. - Brief description of the issue:
The ReaR command "rear mkrescue" fails because of the need of additional libraries.
The rescue image wasn't build. - Work-around, if any:
None.
Full detailed log is attached.
Have there been changed anything about the creation of the rescue image
in combination with TSM?
jsmeix commented at 2017-10-13 09:04:¶
Actually this is great news!
Such issues happen since I added the test for missing libraries in
build/default/980_verify_rootfs.sh
which is intentionally there to ensure the programs and libraries
in the recovery system are consistent, cf.
https://github.com/rear/rear/pull/1514
for its initial pull request.
At first glance this issue here looks as if TSM needs to be
enhanced to get all needed libraries for TSM programs
included in the recovery system (on unneeded TSM programs
excluded from the recovery system).
schabrolles commented at 2017-10-13 09:12:¶
Ok, I really need to add rhel6 in my test env. I’ll try to find time to do that next week to reproduce the issue.
jsmeix commented at 2017-10-13 09:15:¶
The most relevant excerpt from
https://github.com/rear/rear/files/1381778/rear-brp-server.log
There are binaries or libraries in the ReaR recovery system that need additional libraries /opt/tivoli/tsm/client/api/bin64/libTsmViSdk.so requires additional libraries libcrypto.so.1.0.1 => not found /opt/tivoli/tsm/client/api/bin64/libssl.so.1.0.1 requires additional libraries libcrypto.so.1.0.1 => not found /opt/tivoli/tsm/client/ba/bin/libTsmViSdk.so requires additional libraries libcrypto.so.1.0.1 => not found /opt/tivoli/tsm/client/ba/bin/libvmacore.so requires additional libraries libexpat.so.0 => not found /opt/tivoli/tsm/client/ba/bin/libssl.so.1.0.1 requires additional libraries libcrypto.so.1.0.1 => not found /opt/tivoli/tsm/client/ba/bin/lib64/libdiskLibPlugin.so requires additional libraries libcrypto.so.1.0.1 => not found /opt/tivoli/tsm/client/ba/bin/libvixDiskLibVim.so.6.0.0 requires additional libraries libgvmomi.so => not found /opt/tivoli/tsm/client/ba/bin/libvmomi.so requires additional libraries libexpat.so.0 => not found /opt/tivoli/tsm/client/ba/bin/libvim-types.so requires additional libraries libvmacore.so => not found /opt/tivoli/tsm/client/ba/bin/libvixMntapi.so.1.1.0 requires additional libraries libvixDiskLib.so.6 => not found /opt/tivoli/tsm/client/ba/bin/libcurl.so.4 requires additional libraries libssl.so.1.0.1 => not found /opt/tivoli/tsm/client/ba/bin/libssoclient.so requires additional libraries libvmacore.so => not found ERROR: ReaR recovery system in '/tmp/rear.qF5N138Tn9IzFlJ/rootfs' not usable
which boils down to
libcrypto.so.1.0.1 => not found libexpat.so.0 => not found libgvmomi.so => not found libssl.so.1.0.1 => not found libvixDiskLib.so.6 => not found libvmacore.so => not found
jsmeix commented at 2017-10-13 09:35:¶
FYI
what I have on my SLES12 test system
# for l in libcrypto.so libexpat.so libgvmomi.so libssl.so libvixDiskLib.so libvmacore.so ; do find /lib /lib64 /usr/lib /usr/lib64 | grep "$l" ; done /lib64/libcrypto.so.1.0.0 /usr/lib64/libexpat.so.1 /usr/lib64/libexpat.so.1.6.0 /lib64/libssl.so.1.0.0
and what I get in the recovery system by default
# for l in libcrypto.so libexpat.so libgvmomi.so libssl.so libvixDiskLib.so libvmacore.so ; do find /tmp/rear.0eRYb1dejfVaBS5/rootfs | grep "$l" ; done /tmp/rear.0eRYb1dejfVaBS5/rootfs/lib64/libcrypto.so.1.0.0 /tmp/rear.0eRYb1dejfVaBS5/rootfs/usr/lib64/libexpat.so.1 /tmp/rear.0eRYb1dejfVaBS5/rootfs/usr/lib64/libexpat.so.1.6.0 /tmp/rear.0eRYb1dejfVaBS5/rootfs/lib64/libssl.so.1.0.0
I.e. for me things "just work" for
libcrypto.so libexpat.so libssl.so
Regarding libgvmomi.so libvixDiskLib.so libvmacore.so:
I do not have libgvmomi.so libvixDiskLib.so libvmacore.so
on my SLES12 test system.
In
https://github.com/rear/rear/files/1381778/rear-brp-server.log
... /bin/ldd /opt/tivoli/tsm/client/ba/bin/libgvmomi.so ... /bin/ldd /opt/tivoli/tsm/client/ba/bin/libvixDiskLib.so.6.0.0 ... /bin/ldd /opt/tivoli/tsm/client/ba/bin/libvmacore.so
indicates that libgvmomi.so libvixDiskLib.so libvmacore.so
belong to 'tivoli' i.e. to the Tivoli Storage Manager (TSM).
MatthiasMerk commented at 2017-10-13 13:01:¶
i can confirm the same issue on SLES12-SP2
rear version: Relax-and-Recover 2.2-git.0.02aefae.unknown / 2017-10-09
my workaround was to only include the dsmc
binary and not the whole
client
directory. but i haven't had a chance to test a restore yet.
changes in /etc/rear/local.conf
-COPY_AS_IS_TSM=( /opt/tivoli/tsm/client /usr/local/ibm/gsk8* )
+COPY_AS_IS_TSM=( /opt/tivoli/tsm/client/ba/bin/dsmc /usr/local/ibm/gsk8* )
and the rear log with /opt/tivoli/tsm/client
in COPY_AS_IS_TSM
:
2017-10-13 14:39:48.029011652 There are binaries or libraries in the ReaR recovery system that need additional libraries
2017-10-13 14:39:48.033063622 /opt/tivoli/tsm/client/api/bin64/libssl.so.1.0.1 requires additional libraries
2017-10-13 14:39:48.042425193 linux-vdso.so.1 (0x00007ffd12580000)
libcrypto.so.1.0.1 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9022a26000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9022683000)
/lib64/ld-linux-x86-64.so.2 (0x0000561fc9899000)
2017-10-13 14:39:48.049771397 /opt/tivoli/tsm/client/api/bin64/libTsmViSdk.so requires additional libraries
2017-10-13 14:39:48.058939291 linux-vdso.so.1 (0x00007fff6d5bc000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faa0aa69000)
libcrypto.so.1.0.1 => not found
libssl.so.1.0.1 => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007faa0a6df000)
libm.so.6 => /lib64/libm.so.6 (0x00007faa0a3e2000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007faa0a1ca000)
libc.so.6 => /lib64/libc.so.6 (0x00007faa09e27000)
/lib64/ld-linux-x86-64.so.2 (0x000055db9d6aa000)
2017-10-13 14:39:48.066069355 /opt/tivoli/tsm/client/ba/bin/libvixMntapi.so.1.1.0 requires additional libraries
2017-10-13 14:39:48.074423545 linux-vdso.so.1 (0x00007ffc99970000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fcf720e3000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcf71ec6000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fcf71c8a000)
libz.so.1 => /lib64/libz.so.1 (0x00007fcf71a74000)
libvixDiskLib.so.6 => not found
libfuse.so.2 => /lib64/libfuse.so.2 (0x00007fcf71836000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fcf7161f000)
libc.so.6 => /lib64/libc.so.6 (0x00007fcf7127c000)
/lib64/ld-linux-x86-64.so.2 (0x000056021b1ba000)
2017-10-13 14:39:48.080726365 /opt/tivoli/tsm/client/ba/bin/libssoclient.so requires additional libraries
2017-10-13 14:39:48.088315726 linux-vdso.so.1 (0x00007ffd2ccfe000)
libvmacore.so => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fc9f92a5000)
libm.so.6 => /lib64/libm.so.6 (0x00007fc9f8fa8000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc9f8d91000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc9f8b73000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc9f87d0000)
/lib64/ld-linux-x86-64.so.2 (0x000055774fe23000)
2017-10-13 14:39:48.094834344 /opt/tivoli/tsm/client/ba/bin/libvmacore.so requires additional libraries
2017-10-13 14:39:48.106086848 linux-vdso.so.1 (0x00007ffe762e4000)
libexpat.so.0 => not found
libz.so.1 => /lib64/libz.so.1 (0x00007fc2b5287000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc2b5083000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fc2b4e48000)
librt.so.1 => /lib64/librt.so.1 (0x00007fc2b4c3f000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fc2b48b6000)
libm.so.6 => /lib64/libm.so.6 (0x00007fc2b45b9000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc2b43a1000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc2b4184000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc2b3de1000)
/lib64/ld-linux-x86-64.so.2 (0x000055774a787000)
2017-10-13 14:39:48.113702755 /opt/tivoli/tsm/client/ba/bin/libssl.so.1.0.1 requires additional libraries
2017-10-13 14:39:48.120953912 linux-vdso.so.1 (0x00007ffd1e1a2000)
libcrypto.so.1.0.1 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007f388a7e0000)
libc.so.6 => /lib64/libc.so.6 (0x00007f388a43d000)
/lib64/ld-linux-x86-64.so.2 (0x0000558d2b1d3000)
2017-10-13 14:39:48.127221785 /opt/tivoli/tsm/client/ba/bin/libvixDiskLibVim.so.6.0.0 requires additional libraries
2017-10-13 14:39:48.134698991 linux-vdso.so.1 (0x00007ffc98b12000)
libc.so.6 => /lib64/libc.so.6 (0x00007f92b11da000)
/lib64/ld-linux-x86-64.so.2 (0x000056140bc28000)
libm.so.6 => /lib64/libm.so.6 (0x00007f92b0edd000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f92b0cd8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f92b0abb000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f92b07ab000)
libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f92b05a6000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f92b0355000)
libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f92b0153000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f92afde7000)
libgvmomi.so => not found
libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f92afb78000)
libffi.so.4 => /usr/lib64/libffi.so.4 (0x00007f92af96e000)
libz.so.1 => /lib64/libz.so.1 (0x00007f92af758000)
liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f92af532000)
2017-10-13 14:39:48.141176994 /opt/tivoli/tsm/client/ba/bin/libcurl.so.4 requires additional libraries
2017-10-13 14:39:48.148808500 linux-vdso.so.1 (0x00007ffde2fba000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f080273d000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0802539000)
libz.so.1 => /lib64/libz.so.1 (0x00007f0802322000)
libssl.so.1.0.1 => not found
libcrypto.so.1.0.1 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007f0801f7e000)
/lib64/ld-linux-x86-64.so.2 (0x0000562cadf82000)
2017-10-13 14:39:48.154471546 /opt/tivoli/tsm/client/ba/bin/libvim-types.so requires additional libraries
2017-10-13 14:39:48.161376799 linux-vdso.so.1 (0x00007fff6f741000)
libvmacore.so => not found
libvmomi.so => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f798f91c000)
libm.so.6 => /lib64/libm.so.6 (0x00007f798f61f000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f798f407000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f798f1ea000)
libc.so.6 => /lib64/libc.so.6 (0x00007f798ee47000)
/lib64/ld-linux-x86-64.so.2 (0x000055fb06e77000)
2017-10-13 14:39:48.166908094 /opt/tivoli/tsm/client/ba/bin/libvmomi.so requires additional libraries
2017-10-13 14:39:48.174645608 linux-vdso.so.1 (0x00007ffcc9d3f000)
libexpat.so.0 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4f7d9c0000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f4f7d785000)
libssoclient.so => not found
libvmacore.so => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f4f7d3fb000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4f7d0fe000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4f7cee6000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4f7ccc9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4f7c926000)
/lib64/ld-linux-x86-64.so.2 (0x0000555a86fb1000)
2017-10-13 14:39:48.180473857 /opt/tivoli/tsm/client/ba/bin/lib64/libdiskLibPlugin.so requires additional libraries
2017-10-13 14:39:48.188157374 linux-vdso.so.1 (0x00007ffcd71a4000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3bf4b23000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f3bf479a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3bf4595000)
libcrypto.so.1.0.1 => not found
libssl.so.1.0.1 => not found
libexpat.so.0 => not found
libz.so.1 => /lib64/libz.so.1 (0x00007f3bf437e000)
libvmacore.so => not found
libvmomi.so => not found
libvim-types.so => not found
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f3bf4166000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3bf3dc2000)
/lib64/ld-linux-x86-64.so.2 (0x00005599236bb000)
libm.so.6 => /lib64/libm.so.6 (0x00007f3bf3ac5000)
2017-10-13 14:39:48.194501401 /opt/tivoli/tsm/client/ba/bin/libTsmViSdk.so requires additional libraries
2017-10-13 14:39:48.202275308 linux-vdso.so.1 (0x00007fff18e60000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f8b93401000)
libcrypto.so.1.0.1 => not found
libssl.so.1.0.1 => not found
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f8b93077000)
libm.so.6 => /lib64/libm.so.6 (0x00007f8b92d7a000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f8b92b62000)
libc.so.6 => /lib64/libc.so.6 (0x00007f8b927bf000)
/lib64/ld-linux-x86-64.so.2 (0x000056113c33f000)
2017-10-13 14:39:48.207708907 ERROR: ReaR recovery system in '/var/tmp/sysb/rear.m1D2pF6PNVe06VB/rootfs' not usable
==== Stack trace ====
jsmeix commented at 2017-10-13 13:26:¶
The "log with /opt/tivoli/tsm/client in COPY_AS_IS_TSM" in
https://github.com/rear/rear/issues/1533#issuecomment-336445871
shows that only libraries required by TSM libraries are missing.
I do not have TSM so that I cannot help to find out
where that libraries required by TSM libraries are stored
(perhaps an unusual library directory needs to be included?)
or why they appear as "not found" in the "ldd" output
(could there be something wrong with "ldconfig"?).
MatthiasMerk commented at 2017-10-13 14:53:¶
after adding
/opt/tivoli/tsm/client/api/bin64
/opt/tivoli/tsm/client/ba/bin
to /etc/ld.so.conf
and running ldconfig
the image gets created. i'm
no linker expert but looks fine to me.
jsmeix commented at 2017-10-13 15:02:¶
@MatthiasMerk
if I understand your
https://github.com/rear/rear/issues/1533#issuecomment-336476185
correctly you did that in your original system
which even seems to indicate there could be
an issue during TSM installation that is now
(indirectly) detected by ReaR?
In other words:
If you undo your changes in your /etc/ld.so.conf
https://github.com/rear/rear/issues/1533#issuecomment-336476185
and re-run ldconfig and then inspect all libraries and binaries
in /opt/tivoli/tsm/ with 'ldd', are then some "not found"?
If yes, TSM might be not properly installed on your original system.
schabrolles commented at 2017-10-13 15:33:¶
@MatthiasMerk, I just test again a rear mkrescue
with TSM on my SLES12
and I cannot reproduce your issue.
rear mkrescue
terminate correctly, and I don't have any message
regarding lib missing for TSM in rear.log
My question:
- Do you have the following package installed on your system (they are dependencies for TSM):
rpm -qa | grep gsk
gskcrypt64-8.0-50.66
gskssl64-8.0-50.66
https://www.ibm.com/support/knowledgecenter/SSEQVQ_8.1.2/client/t_inst_linuxx86client.html
- I also noticed you removed /etc/adsm from
COPY_AS_IS_TSM
, any reason ? (I know it should not be related to the issue, but still ask...)
MatthiasMerk commented at 2017-10-13 15:59:¶
@jsmeix yes, without the ld.so.conf
entries ldd
shows some libs as
"not found". TSM seems to want libopenssl-1.0.1
and we have 1.0.0
installed. The TIVsm-{API,BA}
packages from IBM are including 1.0.1
IIRC.
@schabrolles gskcrypt, gskssl64, TIVsm-{API,BA} are installed. i skipped
the adsm bit in COPY_AS_IS_TSM
on purpose for some reason ...
Which version of libopenssl
is on your system?
schabrolles commented at 2017-10-13 16:25:¶
@MatthiasMerk here are the outputs:
#rpm -qa | grep openssl
openssl-1.0.2j-55.1.ppc64le
libopenssl1_0_0-1.0.2j-55.1.ppc64le
Here is what I got from ldd on dsmc binary (TIVsm-BA-8.1.0-2.ppc64le)
#ldd $(which dsmc)
linux-vdso64.so.1 (0x00003fffb21b0000)
libgsk8ssl_64.so => /usr/lib64/libgsk8ssl_64.so (0x00003fffb1f10000)
libgsk8iccs_64.so => /usr/lib64/libgsk8iccs_64.so (0x00003fffb1e90000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00003fffb1e40000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00003fffb1e00000)
libdl.so.2 => /lib64/libdl.so.2 (0x00003fffb1dd0000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00003fffb1bb0000)
libgpfs.so => /usr/lib64/libgpfs.so (0x00003fffb1b80000)
libdmapi.so => /usr/lib64/libdmapi.so (0x00003fffb1b60000)
librt.so.1 => /lib64/librt.so.1 (0x00003fffb1b30000)
libm.so.6 => /lib64/libm.so.6 (0x00003fffb1a50000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00003fffb1a10000)
libc.so.6 => /lib64/libc.so.6 (0x00003fffb1840000)
libgsk8cms_64.so => /usr/lib64/libgsk8cms_64.so (0x00003fffb14a0000)
/lib64/ld64.so.2 (0x0000000034cc0000)
MatthiasMerk commented at 2017-10-14 06:28:¶
@schabrolles i have:
$ rpm -qa *openssl*
libopenssl1_0_0-1.0.2j-60.11.2.x86_64
openssl-1.0.2j-60.11.2.x86_64
TSM stuff (older version- maybe thats the problem)
$ rpm -qa *TIV*
TIVsm-API64-7.1.6-3.x86_64
TIVsm-BA-7.1.6-3.x86_64
$ rpm -ql libopenssl1_0_0-1.0.2j-60.11.2.x86_64
/lib64/engines
/lib64/engines/libgost.so
/lib64/engines/libpadlock.so
/lib64/libcrypto.so.1.0.0
/lib64/libssl.so.1.0.0
ldd ldd $(which dsmc)
(TIVsm-BA-7.1.6-3.x86_64)
linux-vdso.so.1 (0x00007ffe03b7e000)
libgsk8ssl_64.so => /usr/lib64/libgsk8ssl_64.so (0x00007ff36167a000)
libgsk8iccs_64.so => /usr/lib64/libgsk8iccs_64.so (0x00007ff36151c000)
libxmlutil-7.1.6.0.so => /usr/lib64/libxmlutil-7.1.6.0.so (0x00007ff361404000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007ff3611c9000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff360fac000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff360da7000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ff360a1e000)
libgpfs.so => /usr/lib64/libgpfs.so (0x00007ff360911000)
libdmapi.so => /usr/lib64/libdmapi.so (0x00007ff360809000)
librt.so.1 => /lib64/librt.so.1 (0x00007ff360601000)
libm.so.6 => /lib64/libm.so.6 (0x00007ff360304000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff3600ec000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff35fd49000)
libgsk8cms_64.so => /usr/lib64/libgsk8cms_64.so (0x00007ff35f898000)
libtsmxerces-depdom.so.28 => /usr/lib64/libtsmxerces-depdom.so.28 (0x00007ff35f724000)
libtsmxerces-c.so.28 => /usr/lib64/libtsmxerces-c.so.28 (0x00007ff35f209000)
/lib64/ld-linux-x86-64.so.2 (0x00005590e57b2000)
also the changes i made to ld.so.conf
break zypper
👯
$ sudo zypper search libopenssl*
zypper: /opt/tivoli/tsm/client/ba/bin/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by zypper)
zypper: /opt/tivoli/tsm/client/ba/bin/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by zypper)
zypper: /opt/tivoli/tsm/client/ba/bin/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /usr/lib64/libzypp.so.1600)
zypper: /opt/tivoli/tsm/client/ba/bin/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /usr/lib64/libzypp.so.1600)
zypper: /opt/tivoli/tsm/client/ba/bin/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib64/libzypp.so.1600)
1
jsmeix commented at 2017-10-14 09:18:¶
@MatthiasMerk
regarding your
https://github.com/rear/rear/issues/1533#issuecomment-336476185
and "the changes i made to ld.so.conf break zypper" in
https://github.com/rear/rear/issues/1533#issuecomment-336614197
In general:
Caution when adding "foreign" libraries directories to /etc/ld.so.conf
and running 'ldconfig' with such a changed /etc/ld.so.conf:
This may result that then all programs get linked during
program startup by the dynamic linker with that "foreign" libraries
which may result that this or that program does no longer work
because it only works when the program is run with the "usual"
libraries.
jsmeix commented at 2017-10-14 09:58:¶
@schabrolles
does TSM perhaps use special LD_* environment variables
(e.g. things like LD_LIBRARY_PATH or LD_PRELOAD)
so that TSM programs are run with the TSM-specific libraries?
schabrolles commented at 2017-10-31 12:42:¶
@MatthiasMerk I've reproduced your issue. The reason why I don't hit it
before is because I use COPY_AS_IS_TSM
with a reduce set of
binaries/libraries to reduce the size of my initrd.
COPY_AS_IS_TSM=( /etc/adsm/TSM.PWD /opt/tivoli/tsm/client/ba/bin/dsmc /opt/tivoli/tsm/client/ba/bin/tsmbench_inclexcl /opt/tivoli/tsm/client/ba/bin/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.opt /opt/tivoli/tsm/client/api/bin64/libgpfs.so /opt/tivoli/tsm/client/api/bin64/libdmapi.so /opt/tivoli/tsm/client/ba/bin/EN_US/dsmclientV3.cat /usr/local/ibm/gsk8* )
@jsmeix you were right. setting LD_LIBRARY_PATH
in chroot during ldd
test seems to solve the issue. I propose the following (I'm not sure
about the best way to implement this).
- create a script
build/TSM/900_tsm_update_ld_library_path.sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/tivoli/tsm/client/ba/bin:/opt/tivoli/tsm/client/ba/bin64:/opt/tivoli/tsm/client/api/bin64:/opt/tivoli/tsm/client/api/bin
- Change
build/default/980_verify_rootfs.sh
to addLD_LIBRARY_PATH
for binary in $( find $ROOTFS_DIR -type f -executable -printf '/%P\n' ) ; do
chroot $ROOTFS_DIR LD_LIBRARY_PATH=$LD_LIBRARY_PATH /bin/ldd $binary | grep -q 'not found' && broken_binaries="$broken_binaries $binary"
done
schabrolles commented at 2017-10-31 13:54:¶
@jsmeix forget my previous post,
chroot $ROOTFS_DIR LD_LIBRARY_PATH=$LD_LIBRARY_PATH /bin/ldd $binary
is not working
schabrolles commented at 2017-10-31 18:13:¶
@jsmeix an alternative would be to add the following line into
/usr/share/rear/prep/TSM/default/400_prep_tsm.sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/tivoli/tsm/client/ba/bin:/opt/tivoli/tsm/client/api/bin64:/opt/tivoli/tsm/client/api/bin:/opt/tivoli/tsm/client/api/bin64/cit/bin
using that line help 980_verify_rootfs.sh
to find libraries for TSM
with chroot $ROOTFS_DIR /bin/ldd $binary
.
schabrolles commented at 2017-11-06 14:00:¶
@MatthiasMerk @dcz01, #1562 should solve your issue regarding missing
TSM libraries. it is now merged into master branch.
Could you please test and confirm ?
Thanks.
MatthiasMerk commented at 2017-11-06 15:06:¶
Thanks!
I'm going to test as soon as the rpm on
OBS/Archiving:Backup:Rear:Snapshot/rear
is built.
jsmeix commented at 2017-11-07 08:58:¶
@MatthiasMerk
in general - as far as I know- building on
https://build.opensuse.org/package/show/Archiving:Backup:Rear:Snapshot/rear
does not happen automatically for each merged
pull request.
To test the current ReaR GitHub master code at any time
basically "git clone" it into a directory and then
configure and run it from within that directory like:
# git clone https://github.com/rear/rear.git # cd rear # vi etc/rear/local.conf # usr/sbin/rear -d -D mkbackup
(note the relative paths "etc/rear/" and "usr/sbin/").
MatthiasMerk commented at 2017-11-08 12:21:¶
with this etc/rear/local.conf
:
COPY_AS_IS_TSM=( /etc/opt/tb017/security/TSM.PWD /opt/tivoli/tsm/client /usr/local/ibm/gsk8* )
TSM_LD_LIBRARY_PATH="/opt/tivoli/tsm/client/ba/bin:/opt/tivoli/tsm/client/api/bin64:/opt/tivoli/tsm/client/api/bin"
COPY_AS_IS_EXCLUDE_TSM=( )
PROGS_TSM=(dsmc)
i get one missing library:
There are binaries or libraries in the ReaR recovery system that need additional libraries
/opt/tivoli/tsm/client/ba/bin/libvixMntapi.so.1.1.0 requires additional libraries
libvixDiskLib.so.6 => not found
to restore i guess i only need the dsmc
binary so i changed
COPY_AS_IS_TSM
to
COPY_AS_IS_TSM=( /etc/opt/tb017/security/TSM.PWD /opt/tivoli/tsm/client/ba/bin/dsmc /usr/local/ibm/gsk8* )
and then the iso is being built without errors. but that also worked before #1562
schabrolles commented at 2017-11-08 13:23:¶
@MatthiasMerk, I'm gonna have a look.
You should try this
COPY_AS_IS_TSM=( /etc/adsm /opt/tivoli/tsm/client/ba/bin/dsmc /opt/tivoli/tsm/client/ba/bin/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.opt /opt/tivoli/tsm/client/api/bin64/libgpfs.so /opt/tivoli/tsm/client/api/bin64/libdmapi.so /opt/tivoli/tsm/client/ba/bin/EN_US/dsmclientV3.cat /usr/local/ibm/gsk8* )
This is the minimum to have dsmc
working properly.
Don't forget to also add any of your configuration files (PASSWD, ou
Include_Exclude files).
jsmeix commented at 2017-11-08 13:32:¶
Only a side note:
I wonder why there is
COPY_AS_IS_TSM=( ... /opt/tivoli/tsm/client/ba/bin/dsmc ... )
when there is also in default.conf
PROGS_TSM=(dsmc)
I would expect that because of PROGS_TSM=(dsmc)
there is no need for /opt/tivoli/tsm/client/ba/bin/dsmc
in COPY_AS_IS_TSM?
schabrolles commented at 2017-11-08 13:56:¶
@jsmeix you are right. I'm gonna test without
/opt/tivoli/tsm/client/ba/bin/dsmc
schabrolles commented at 2017-11-08 14:05:¶
@MatthiasMerk
could you please share you local.conf
file ?
MatthiasMerk commented at 2017-11-08 14:30:¶
@schabrolles
local.conf
:
# Default is to create Relax-and-Recover rescue media as ISO image
# set OUTPUT to change that
# set BACKUP to activate an automated (backup and) restore of your data
# Possible configuration values can be found in /usr/share/rear/conf/default.conf
#
# This file (local.conf) is intended for manual configuration. For configuration
# through packages and other automated means we recommend creating a new
# file named site.conf next to this file and to leave the local.conf as it is.
# Our packages will never ship with a site.conf.
BACKUP=TSM
OUTPUT=ISO
KERNEL_CMDLINE="console=ttyS0,115200"
export TMPDIR="/var/tmp/sysb"
##
# BACKUP=TSM stuff
##
#
COPY_AS_IS_TSM=( /etc/opt/tb017/security/TSM.PWD /opt/tivoli/tsm/client/ba/bin/dsmc /opt/tivoli/tsm/client/ba/bin/inclexcl.lst /opt/tivoli/tsm/client/ba/bin/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.opt /usr/local/ibm/gsk8* )
COPY_AS_IS_EXCLUDE_TSM=( )
PROGS_TSM=(dsmc)
# where to copy the resulting files to and save them with TSM
TSM_RESULT_FILE_PATH="$TMPDIR"
#
# Additional dsmc options for restore. Point-in-time read from user
# input is also added to this array.
TSM_DSMC_RESTORE_OPTIONS=( )
#
# Point-in-time date to use, calculated from user input during recovery.
# User input is read as YYYY-MM-DD, but internally MM/DD/YYYY is used.
# (Used internally)
TSM_RESTORE_PIT_DATE=
#
# Point-in-time time to use, calculated from user input during recovery.
# Format is HH:mm:ss.
# (Used internally)
TSM_RESTORE_PIT_TIME=
#
# Should the result from mkrecover/backup saved via TSM
# You can disable these saving when the result is saved on an different way (ISO_URL....)
# (y/n) default to y
TSM_RESULT_SAVE=y
# TSM archive management class definition
TSM_ARCHIVE_MGMT_CLASS=
# Say "y", "Yes" or "1" to remove the ISO file from local system (in the ISO_DIR location)
# if TSM server confirms the backup was successful (to preserve space on the local system)
TSM_RM_ISOFILE=
MatthiasMerk commented at 2017-11-08 14:44:¶
looks like my COPY_AS_IS_TSM
didn't contain enough.
it works when using your minimal TSM version @schabrolles.
Here it is with inclexl and PWD etc:
COPY_AS_IS_TSM=( /etc/opt/tb017/security/TSM.PWD /opt/tivoli/tsm/client/ba/bin/dsm.sys /opt/tivoli/tsm/client/ba/bin/dsm.opt /opt/tivoli/tsm/client/ba/bin/inclexcl.lst /opt/tivoli/tsm/client/api/bin64/libgpfs.so /opt/tivoli/tsm/client/api/bin64/libdmapi.so /opt/tivoli/tsm/client/ba/bin/EN_US/dsmclientV3.cat /usr/local/ibm/gsk8* )
dcz01 commented at 2017-11-09 07:16:¶
@schabrolles Sorry for my late reply...
I've tested it today (right now) and there are two librarys missing at
this time.
The full log is attached.
rear-brp-server.log
jsmeix commented at 2017-11-20 15:35:¶
With
https://github.com/rear/rear/pull/1585
merged
there is now the new config variable
NON_FATAL_BINARIES_WITH_MISSING_LIBRARY
that provides a generic method how one could avoid
issues like his one, see default.conf how to use it.
schabrolles commented at 2017-11-29 06:43:¶
@dcz01, I cannot reproduce your issue ad I don't have any
libvixMntapi.so
. It seems to be related to VMWare.
Could you try ldd /opt/tivoli/tsm/client/ba/bin/libvixMntapi.so
on
your system to backup please ?
dcz01 commented at 2017-11-29 07:28:¶
@schabrolles I tried your command and got the following output:
[root@brp-server ~]# ldd /opt/tivoli/tsm/client/ba/bin/libvixMntapi.so
linux-vdso.so.1 => (0x00007ffd92d7f000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fb03c7b8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb03c59b000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fb03c363000)
libz.so.1 => /lib64/libz.so.1 (0x00007fb03c14d000)
libvixDiskLib.so.6 => not found
libfuse.so.2 => not found
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb03bf36000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb03bba2000)
/lib64/ld-linux-x86-64.so.2 (0x0000003414400000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fb03b99e000)
And yes, the test machine runs in an VMware environment.
dcz01 commented at 2017-11-29 07:29:¶
@schabrolles I tested to install the VMware tools to the machine but the error still exists.
dcz01 commented at 2017-11-29 08:43:¶
@schabrolles But i get the same error on an physical machine.
So it can't be an VMware related error with these librarys.
Here is the log from the physical machine:
rear-FBD0D99R.log
And the same output like on the VMware machine:
[root@FBD0D99R ~]# ldd /opt/tivoli/tsm/client/ba/bin/libvixMntapi.so
linux-vdso.so.1 => (0x00007ffe4cfae000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa6c5217000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa6c4ffa000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fa6c4dc2000)
libz.so.1 => /lib64/libz.so.1 (0x00007fa6c4bac000)
libvixDiskLib.so.6 => not found
libfuse.so.2 => not found
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fa6c4995000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa6c4601000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d5e800000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007fa6c43fd000)
dcz01 commented at 2017-11-29 09:09:¶
@schabrolles Now i found one library to install with yum install -y
fuse-libs.
Now only one library is missing.
[root@FBD0D99R ~]# ldd /opt/tivoli/tsm/client/ba/bin/libvixMntapi.so
linux-vdso.so.1 => (0x00007ffdc38fb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3398458000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f339823b000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f3398003000)
libz.so.1 => /lib64/libz.so.1 (0x00007f3397ded000)
libvixDiskLib.so.6 => not found
libfuse.so.2 => /lib64/libfuse.so.2 (0x00007f3397bb6000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f33979a0000)
libc.so.6 => /lib64/libc.so.6 (0x00007f339760c000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d5e800000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f3397408000)
librt.so.1 => /lib64/librt.so.1 (0x00007f3397200000)
But i searched on the system for that library and found it in the TSM folder:
[root@FBD0D99R ~]# find / -name libvixDiskLib.so.6.0.0
/tmp/rear.MaIKxKAFIZ3zXU8/rootfs/opt/tivoli/tsm/client/ba/bin/libvixDiskLib.so.6.0.0
/tmp/rear.xnItMsUXQ5G4DRq/rootfs/opt/tivoli/tsm/client/ba/bin/libvixDiskLib.so.6.0.0
/opt/tivoli/tsm/client/ba/bin/libvixDiskLib.so.6.0.0
gdha commented at 2017-12-11 08:45:¶
@jsmeix @schabrolles Shall we move the milestone from 2.3 to 2.4?
dcz01 commented at 2017-12-11 09:24:¶
@gdha If this bug is moved to ReaR 2.4 all users with an TSM system will
have an problem...
This is my opinion.
Or does the new variable from @jsmeix suffice?
schabrolles commented at 2017-12-11 10:21:¶
@dcz01,
I cannot reproduce your issue as libvixMntapi.so
seems to be related
to a VMWare environment.
Could you please tell me the version of TSM tyou are using.
As you told me you also have the issue on the system to backup, it looks like to be a problem in you setup. You can have a look here : http://www-01.ibm.com/support/docview.wss?uid=swg21577631
[root@FBD0D99R ~]# ldd /opt/tivoli/tsm/client/ba/bin/libvixMntapi.so
linux-vdso.so.1 => (0x00007ffdc38fb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3398458000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f339823b000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f3398003000)
libz.so.1 => /lib64/libz.so.1 (0x00007f3397ded000)
libvixDiskLib.so.6 => not found
libfuse.so.2 => /lib64/libfuse.so.2 (0x00007f3397bb6000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f33979a0000)
libc.so.6 => /lib64/libc.so.6 (0x00007f339760c000)
/lib64/ld-linux-x86-64.so.2 (0x0000003d5e800000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f3397408000)
librt.so.1 => /lib64/librt.so.1 (0x00007f3397200000)
Could you please verify that your: /usr/share/rear/conf/default.conf
contains the following line:
TSM_LD_LIBRARY_PATH="/opt/tivoli/tsm/client/ba/bin:/opt/tivoli/tsm/client/api/bin64:/opt/tivoli/tsm/client/api/bin:/opt/tivoli/tsm/client/api/bin64/cit/bin"
dcz01 commented at 2017-12-11 11:03:¶
@schabrolles No, the libvixMntapi.so
library is part of the TSM client
installation and you can find it in the installation directory
/opt/tivoli/tsm/client/ba/bin
.
My TSM client version is 7.1.3.0.
On my system and the client systems i don't use an 'Backup VM' command
or something else.
We're just normal backuping the physical system.
And yes my variable TSM_LD_LIBRARY_PATH
in the
/usr/share/rear/conf/default.conf
file is default, so like yours.
jsmeix commented at 2017-12-11 11:09:¶
@dcz01
what is the output of your 'ld' config files, i.e. what results
# for f in $( find /etc/ld.so.conf* -type f ) ; do echo Content of $f ; cat $f ; echo ====== ; done
on your system?
jsmeix commented at 2017-12-11 11:11:¶
@dcz01
I missed your
https://github.com/rear/rear/issues/1533#issuecomment-350692299
so that your 'ld' config files are probably not needed
when the libvixMntapi.so library is part of TSM.
jsmeix commented at 2017-12-11 11:28:¶
According to
https://github.com/rear/rear/issues/1534#issuecomment-347825583
it seems this issue here could be at least avoided via
NON_FATAL_BINARIES_WITH_MISSING_LIBRARY='/opt/tivoli/tsm/client/ba/bin/libvixMntapi.so.1.1.0'
dcz01 commented at 2017-12-11 11:35:¶
@jsmeix Yes, that is what i tested and meant in my comment
https://github.com/rear/rear/issues/1534#issuecomment-347825583.
But there must be another option to solve this or not?
jsmeix commented at 2017-12-11 12:36:¶
I do not have TSM (or any other third-party backup tool)
so that I cannot help with actual TSM issues.
I noticed that third-party backup tools sometimes
have unexpected ways how they use their libraries
so that I implemented NON_FATAL_BINARIES_WITH_MISSING_LIBRARY
as a generic way out so that the user can specify
when something is actually "false alarm".
I cannot decide whether or not the failing 'ldd' test for
/opt/tivoli/tsm/client/ba/bin/libvixMntapi.so.1.1.0
is "false alarm" or if perhaps there is a real issue
with the TSM files in the recovery system that
needs to be fixed.
dcz01 commented at 2017-12-11 13:37:¶
@jsmeix @schabrolles Well i can't find another solution to fix the last
missing library of the TSM client so i will use now the new variable
NON_FATAL_BINARIES_WITH_MISSING_LIBRARY
and we can close this issue.
[Export of Github issue for rear/rear.]