> 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>