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>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.