Re: Can I please get some help with my port of dell Racadm? (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=201799)
"Dan Mahoney (Ports)" <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.ports |
|---|---|
| Message-ID | <[email protected]> |
> On Sep 2, 2025, at 15:54, Marcin Cieslak <[email protected]> wrote: > > On Tue, 2 Sep 2025, Dan Mahoney (Ports) wrote: > >> TLDR: New .shar attached to fix a few port weirdnesses involving what looks like specifically a weird interaction between poudriere, the linux emulation layer and long symlinks. I think we’re ready to go, but people should read the following. > > You .shar file had Windows CRLF at the end. My bad, because you sent it in-line, I just copy-pasted into the shell. You’ve also rewritten the symlink back to relative, and it’s working for you, but not for me, and I can’t figure out why. > I have also installed linux-rl9-ca-certificates package. > > Since I don't have any iDRAC, I have tested it via > > # /compat/linux/opt/dell/srvadmin/bin/idracadm7 -r localhost getsysinfo > > connecting to "openssl s_server -port 443 -key key -cert cert" running on localhost > > given that my certificate is signed by Let's Encrypt, > I get no warnings from racadm and the SSL connection is established. > > That strange relative symbolic link seeps to work: I am sure it didn’t previously, but let’s see what happens when I build this with poudriere bulk…. No. It doesn’t work. [dmahoney@poudriere-src ~]$ /compat/linux/opt/dell/srvadmin/bin/idracadm7 -r ... -u root -p apassword getsysinfo ERROR: RAC1170: Unable to find the SSL library in the default path. If a SSL library is not installed, install one and retry the operation. If a SSL library is installed, create a soft-link of the installed SSL library to "libssl.so" using the linux "ln" command and retry the operation. Here’s some strace output that shows it searching for the libraries: openat(AT_FDCWD, "/opt/dell/srvadmin/lib64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/dell/srvadmin/lib64/openmanage/private/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=9927, ...}) = 0 mmap(NULL, 9927, PROT_READ, MAP_PRIVATE, 3, 0) = 0x800548000 close(3) = 0 openat(AT_FDCWD, "/lib64/glibc-hwcaps/x86-64-v2/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64/glibc-hwcaps/x86-64-v2", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/x86_64/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64/tls/x86_64/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64/tls/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64/tls/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/tls/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64/tls", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/x86_64/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64/x86_64/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/lib64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/lib64", {st_mode=S_IFDIR|0755, st_size=210, ...}, 0) = 0 openat(AT_FDCWD, "/usr/lib64/glibc-hwcaps/x86-64-v2/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/glibc-hwcaps/x86-64-v2", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/x86_64/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/tls/x86_64/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/tls/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/tls/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/tls/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/tls", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/x86_64/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/x86_64/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/x86_64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64/x86_64", 0x7fffffff2940, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/libssl.so.1.0.1e", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) newfstatat(AT_FDCWD, "/usr/lib64", {st_mode=S_IFDIR|0755, st_size=210, ...}, 0) = 0 munmap(0x800548000, 9927) = 0 openat(AT_FDCWD, "/opt/dell/srvadmin/lib64/libssl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/opt/dell/srvadmin/lib64/openmanage/private/libssl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=9927, ...}) = 0 mmap(NULL, 9927, PROT_READ, MAP_PRIVATE, 3, 0) = 0x800548000 close(3) = 0 openat(AT_FDCWD, "/lib64/libssl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/usr/lib64/libssl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) munmap(0x800548000, 9927) = 0 brk(0x551000) = 0x551000 write(2, "ERROR: RAC1170: Unable to find t"..., 318ERROR: RAC1170: Unable to find the SSL library in the default path. If a SSL library is not installed, install one and retry the operation. If a SSL library is installed, create a soft-link of the installed SSL library to "libssl.so" using the linux "ln" command and retry the operation.) = 318 write(2, "\n", 1 ) = 1 brk(0x541000) = 0x541000 exit_group(12 <unfinished ...> +++ exited with 12 +++ The line where it looks at openat(AT_FDCWD, "/opt/dell/srvadmin/lib64/openmanage/private/libssl.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) *should* find it, but something about that symlink (on my system, at least) fails, and it *doesn’t* with a non-relative symlink. And I am not sure why. What version of the OS are you running, what version of poudriere, and how are you building? [dmahoney@poudriere-src ~]$ poudriere version poudriere-git-3.4.2 [dmahoney@poudriere-src ~]$ uname -a FreeBSD poudriere-src.isc.org 15.0-PRERELEASE FreeBSD 15.0-PRERELEASE #0 main-n279782-b6ea2513f776: Thu Aug 21 20:52:52 UTC 2025 [email protected]:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 This also breaks on my 14.x system (with a poudriere build on the 15.x system, but with a 14.x build jail): root@srt:/home/dmahoney # /compat/linux/opt/dell/srvadmin/bin/idracadm7 -r localhost -u root -p xxx getsysinfo ERROR: RAC1170: Unable to find the SSL library in the default path. If a SSL library is not installed, install one and retry the operation. If a SSL library is installed, create a soft-link of the installed SSL library to "libssl.so" using the linux "ln" command and retry the operation. root@srt:/home/dmahoney # uname -a FreeBSD srt.isc.org 14.3-RELEASE FreeBSD 14.3-RELEASE releng/14.3-n271432-8c9ce319fef7 GENERIC amd64 Would you care to pass me a copy of a .pkg you’ve built on 14.x or 15.x for science? I’ll happily spin up a new VM. Alternatively, my packages are at: https://poudriere-src.isc.org/packages/main-default_git/All/ (15.x) or https://poudriere-src.isc.org/packages/freebsd:14:x86:64-default_git/All/ (14.x) if you’d like to see if they break for you. -Dan > > # find /compat/linux -name 'libssl*' -ls > 599103 1266 -rwxr-xr-x 1 root wheel 1023516 Feb 11 2025 /compat/linux/usr/lib/libssl.so.3.2.2 > 599102 1 lrwxr-xr-x 1 root wheel 15 Feb 11 2025 /compat/linux/usr/lib/libssl.so.3 -> libssl.so.3.2.2 > 599722 1161 -rwxr-xr-x 1 root wheel 957488 Feb 11 2025 /compat/linux/usr/lib64/libssl.so.3.2.2 > 599721 1 lrwxr-xr-x 1 root wheel 15 Feb 11 2025 /compat/linux/usr/lib64/libssl.so.3 -> libssl.so.3.2.2 > 603089 1 lrwxr-xr-x 1 root wheel 83 Sep 2 22:48 /compat/linux/opt/dell/srvadmin/lib64/openmanage/private/libssl.so -> ../../../../../../../../../../../../../../../compat/linux/usr/lib64/libssl.so.3.2.2<racadm3.shar>