microsoft / omi-script-provider

Script Provider for the OMI Project
Other
8 stars 7 forks source link

[Deb9x64] omireg: failed to load libOMIScriptProvider.so: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory #89

Open LinfyZhai opened 6 years ago

LinfyZhai commented 6 years ago

ENV: client: omi64-deb9-01 (10.225.202.25) Build:

Repro steps: 1.Install omi package version 1.4.1-53 2.Check the process and package version:

root@omi64-deb9-01:~# ps -ef|grep omi
avahi      395     1  0 00:57 ?        00:00:00 avahi-daemon: running [omi64-deb9-01.local]
root      1670     1  0 01:16 ?        00:00:00 /opt/omi/bin/omiserver -d
omi       1672  1670  0 01:16 ?        00:00:00 /opt/omi/bin/omiengine -d --logfilefd 3 --socketpair 9
root      1950  1708  0 01:37 pts/0    00:00:00 grep omi
root@omi64-deb9-01:~# dpkg -l|grep omi
ii  libatomic1:amd64                      6.3.0-18                                    amd64        support library providing __atomic built-in functions
ii  libgeocode-glib0:amd64                3.20.1-2                                    amd64        geocoding and reverse geocoding GLib library using Nominatim
ii  omi                                   1.4.1.53                                    amd64        Open Management Infrastructure
ii  omiscriptprovider                     1.1.1.92                                    amd64        OMI Provider for scripting languages for Linux

3.Install Python script provider: 4.Register the C providers 5.Check Query command,and it works well:

root@omi64-deb9-01:~# /opt/omi/bin/omicli r root/cimv2 { MSFT_President Key 1 }
instance of MSFT_PresidentLink
{
    [Key] Prev= REF     instance of MSFT_President
    {
        [Key] Key=1
    }
    [Key] Next= REF     instance of MSFT_President
    {
        [Key] Key=2
    }
}

6.Upload share.tar and ProviderAndMofFiles.tar,then extract under /opt/omi/ and /opt/omi/lib/ 7.Register python provider xyz_frog but failed:

root@omi64-deb9-01:~# cd /opt/omi/lib
root@omi64-deb9-01:/opt/omi/lib# /opt/omi/bin/omireg --Python xyz_frog
/opt/omi/bin/omireg: failed to load libOMIScriptProvider.so: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
chopnico commented 6 years ago

Same problem when trying to install PSRP on Debian 9 stretch. sudo dpkg -i psrp-1.4.1-28.universal.x64.deb (Reading database ... 132859 files and directories currently installed.) Preparing to unpack psrp-1.4.1-28.universal.x64.deb ... Unpacking omi-psrp-server (1.4.1.28) over (1.4.1.28) ... Setting up omi-psrp-server (1.4.1.28) ... Created /opt/omi/lib/libpsrpomiprov.so /opt/omi/bin/omireg: failed to load library: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

JumpingYang001 commented 6 years ago

@chopnico , we have repro your issue, that's an PSRP issue, please file it on PSRP repo: https://github.com/PowerShell/psl-omi-provider/issues Root cause: omi used openssl 1.1.0, but psrp currently only linked to openssl 1.0.0.

root@omi-deb9-dev:~# ldd /opt/omi/lib/libpsrpomiprov.so
        linux-vdso.so.1 (0x00007ffd2b3ee000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa803309000)
        libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007fa8030fb000)
        libcrypto.so.1.0.0 => not found
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa802ef7000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa802b75000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa80295c000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa8025bd000)
        /lib64/ld-linux-x86-64.so.2 (0x0000562de4fd2000)
        libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007fa802395000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa802091000)
        libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007fa801e8b000) 

issue code: https://github.com/PowerShell/psl-omi-provider/blob/master/src/CMakeLists.txt#L25