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






Reply via email to