Bug 263998 - net/openldap26-server: Fix build with LibreSSL
Summary: net/openldap26-server: Fix build with LibreSSL
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Xin LI
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-15 15:32 UTC by Bernard Spil
Modified: 2023-03-18 19:03 UTC (History)
5 users (show)

See Also:
delphij: maintainer-feedback-


Attachments
git diff for net/openldap26-server (513 bytes, text/plain)
2022-05-15 15:32 UTC, Bernard Spil
no flags Details
openldap26-server (+client) libressl patch (469 bytes, text/plain)
2022-07-09 01:29 UTC, John Kennedy
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bernard Spil freebsd_committer freebsd_triage 2022-05-15 15:32:34 UTC
Created attachment 233936 [details]
git diff for net/openldap26-server

```
net/openldap26-server: Fix build with LibreSSL 3.5

 * Note SSL_export_keying_material_early isn't actually used in the code
 * From OpenBSD

PR:   ?
```
Comment 1 Xin LI freebsd_committer freebsd_triage 2022-05-22 20:57:45 UTC
(In reply to Bernard Spil from comment #0)
Could you please file a bug at OpenLDAP ITS https://bugs.openldap.org/ and make sure that they are on board with this change, or make it conditional (only apply when libressl is being used)?
Comment 2 Charlie Li freebsd_committer freebsd_triage 2022-07-08 13:59:27 UTC
There is a patch in the ITS on a bug that hasn't been touched in a few months, for 2.6 https://bugs.openldap.org/show_bug.cgi?id=7978#c13
Comment 3 John Kennedy 2022-07-09 01:29:11 UTC
Created attachment 235139 [details]
openldap26-server (+client) libressl patch

This also hits net/openldap26-client.  Added suggested libressl check.
Comment 4 John Kennedy 2022-07-09 01:31:04 UTC
... this got me, and I'm running libressl-3.4.3 right now.
Comment 5 commit-hook freebsd_committer freebsd_triage 2022-07-09 18:29:27 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=56761f277042c6fc67002041d5ecbb6250d58aae

commit 56761f277042c6fc67002041d5ecbb6250d58aae
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2022-07-09 18:28:20 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2022-07-09 18:28:20 +0000

    net/openldap26-server: Fix build with LibreSSL

    PR:             ports/263998

 net/openldap26-server/Makefile                           |  4 ++--
 net/openldap26-server/files/patch-ITS7978-libressl (new) | 11 +++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)
Comment 6 Ivan Rozhuk 2022-09-23 16:46:06 UTC
Something going wrong on make install (see log below), but not always: 1 of 5 run is ok. Looks like it not regenerate configure in some cases.

Also there is some mess in path files: patch-configure - changes configure but it should be regenerated with last port patch.
 


===>  License OPENLDAP accepted by the user
===>   openldap26-client-2.6.3 depends on file: /usr/local/sbin/pkg - found
=> openldap-2.6.3.tgz doesn't seem to exist in /var/cache/distfiles/.
=> Attempting to fetch https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.3.tgz
openldap-2.6.3.tgz                                    6322 kB  747 kBps    09s
===> Fetching all distfiles required by openldap26-client-2.6.3 for building
===>  Extracting for openldap26-client-2.6.3
=> SHA256 Checksum OK for openldap-2.6.3.tgz.
===>  Patching for openldap26-client-2.6.3
===>  Applying FreeBSD patches for openldap26-client-2.6.3 from /usr/ports/net/openldap26-client/../openldap26-server/files
===>   openldap26-client-2.6.3 depends on package: autoconf>0 - found
===>   openldap26-client-2.6.3 depends on package: gmake>=4.3 - found
===>   openldap26-client-2.6.3 depends on file: /usr/local/lib/libcrypto.so.47 - found
===>   openldap26-client-2.6.3 depends on file: /usr/local/bin/ccache - found
===>   openldap26-client-2.6.3 depends on shared library: libsasl2.so - found (/usr/local/lib/libsasl2.so)
===>  Configuring for openldap26-client-2.6.3
configure: WARNING: unrecognized options: --disable-monitor
configure: loading site script /usr/ports/Templates/config.site
Configuring OpenLDAP 2.6.3-Release ...
checking build system type... amd64-portbld-freebsd13.1
checking host system type... amd64-portbld-freebsd13.1
checking target system type... amd64-portbld-freebsd13.1
checking configure arguments... configure: WARNING: slapd disabled, ignoring --enable-cleartext argument
configure: WARNING: slapd disabled, ignoring --enable-spasswd argument
configure: WARNING: slapd disabled, ignoring --enable-mdb argument
done
checking for ar... ar
checking for strip... strip
checking whether gmake sets $(MAKE)... yes
checking how to print strings... printf
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/egrep
checking for fgrep... (cached) /usr/bin/fgrep
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/local/bin/nm -B
checking the name lister (/usr/local/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... (cached) 524288
checking how to convert amd64-portbld-freebsd13.1 file names to amd64-portbld-freebsd13.1 format... func_convert_file_noop
checking how to convert amd64-portbld-freebsd13.1 file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... no
checking for ranlib... ranlib
checking for gawk... (cached) /usr/bin/awk
checking command to parse /usr/local/bin/nm -B output from cc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... cpp
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for dlfcn.h... (cached) yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... yes
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... freebsd13.1 ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... (cached) yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C preprocessor... cpp
checking whether we are using MS Visual C++... no
checking for windres... no
checking for be_app in -lbe... no
checking for gcc... (cached) cc
checking whether we are using the GNU C compiler... (cached) yes
checking whether cc accepts -g... (cached) yes
checking for cc option to accept ISO C89... (cached) none needed
checking for cc depend flag... -M
checking for afopen in -ls... no
checking for EBCDIC... no
checking for ANSI C header files... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for sys/wait.h that is POSIX.1 compatible... (cached) yes
checking whether termios.h defines TIOCGWINSZ... yes
checking for arpa/inet.h... (cached) yes
checking for arpa/nameser.h... (cached) yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking bits/types.h usability... no
checking bits/types.h presence... no
checking for bits/types.h... no
checking conio.h usability... no
checking conio.h presence... no
checking for conio.h... no
checking crypt.h usability... no
checking crypt.h presence... no
checking for crypt.h... no
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking for errno.h... (cached) yes
checking for fcntl.h... (cached) yes
checking filio.h usability... no
checking filio.h presence... no
checking for filio.h... no
checking for getopt.h... (cached) yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking io.h usability... no
checking io.h presence... no
checking for io.h... no
checking for libutil.h... (cached) yes
checking for limits.h... (cached) yes
checking for locale.h... (cached) yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for memory.h... (cached) yes
checking psap.h usability... no
checking psap.h presence... no
checking for psap.h... no
checking for pwd.h... (cached) yes
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking sgtty.h usability... no
checking sgtty.h presence... no
checking for sgtty.h... no
checking shadow.h usability... no
checking shadow.h presence... no
checking for shadow.h... no
checking for stddef.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sysexits.h usability... yes
checking sysexits.h presence... yes
checking for sysexits.h... yes
checking for sys/file.h... (cached) yes
checking sys/filio.h usability... yes
checking sys/filio.h presence... yes
checking for sys/filio.h... yes
checking sys/fstyp.h usability... no
checking sys/fstyp.h presence... no
checking for sys/fstyp.h... no
checking sys/errno.h usability... yes
checking sys/errno.h presence... yes
checking for sys/errno.h... yes
checking for sys/ioctl.h... (cached) yes
checking for sys/param.h... (cached) yes
checking sys/privgrp.h usability... no
checking sys/privgrp.h presence... no
checking for sys/privgrp.h... no
checking for sys/resource.h... (cached) yes
checking for sys/select.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking sys/syslog.h usability... yes
checking sys/syslog.h presence... yes
checking for sys/syslog.h... yes
checking for sys/time.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/uio.h... (cached) yes
checking sys/vmount.h usability... no
checking sys/vmount.h presence... no
checking for sys/vmount.h... no
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking for unistd.h... (cached) yes
checking for utime.h... (cached) yes
checking for resolv.h... (cached) yes
checking for netinet/tcp.h... yes
checking for sys/ucred.h... yes
checking for sigaction... (cached) yes
checking for sigset... yes
checking for fmemopen... yes
checking for socket... yes
checking for select... (cached) yes
checking for sys/select.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for poll... (cached) yes
checking for poll.h... (cached) yes
checking for sys/poll.h... (cached) yes
checking sys/epoll.h usability... no
checking sys/epoll.h presence... no
checking for sys/epoll.h... no
checking sys/event.h usability... yes
checking sys/event.h presence... yes
checking for sys/event.h... yes
checking for kqueue system call... yes
checking sys/devpoll.h usability... no
checking sys/devpoll.h presence... no
checking for sys/devpoll.h... no
checking for strerror... (cached) yes
checking for strerror_r... (cached) yes
checking non-posix strerror_r... no
checking for regex.h... yes
checking for library containing regfree... none required
checking for compatible POSIX regex... yes
checking sys/uuid.h usability... yes
checking sys/uuid.h presence... yes
checking for sys/uuid.h... yes
checking for library containing uuid_to_str... no
checking for library containing uuid_create... none required
checking xxxxuuid/uuid.h usability... no
checking xxxxuuid/uuid.h presence... no
checking for xxxxuuid/uuid.h... no
checking to see if -lrpcrt4 is needed for win32 UUID support... no
checking for resolver link (default)... yes
checking for hstrerror... yes
checking for getaddrinfo... (cached) yes
checking for getnameinfo... (cached) yes
checking for gai_strerror... (cached) yes
checking for inet_ntop... (cached) yes
checking INET6_ADDRSTRLEN... yes
checking struct sockaddr_storage... yes
checking for sys/un.h... (cached) yes
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking for SSL_export_keying_material_early in -lssl... no
configure: error: Could not locate TLS/SSL package
===>  Script "configure" failed unexpectedly.
Please report the problem to delphij@FreeBSD.org [maintainer] and attach the
"/tmp/ports/usr/ports/net/openldap26-client/work/openldap-2.6.3/config.log"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1
Comment 7 Peter Putzer 2023-02-05 11:43:53 UTC
(In reply to Ivan Rozhuk from comment #6)

I just had this issue with `openldap26-client` while rebuilding after updating to 13.1.
Comment 8 Ivan Rozhuk 2023-03-18 19:03:12 UTC
(In reply to Xin LI from comment #1)

Can we please add 'openldap26-server (+client) libressl patch' and forget about this bug for a while?