Hi! This is now fixed with https://github.com/dovecot/core/commit/5a393f6ef54b80df0c3d46a1ca7f3a75cd9a2... Aki
On 18/05/2026 05:22 EEST Jeff Aitken via dovecot <dovecot@dovecot.org> wrote:
Evening,
I ran into the same issue on FreeBSD-14.4. I fixed it by manually removing the offending “-L/usr/local/lib” from the various “*_LIBS = “ definitions in src/auth/Makefile. I had claude take a look and here’s what it reported:
⏺ Here's the summary of the problem and the fix:
Root cause: In 2.4.4, am__append_8 was changed to include both $(LIBDOVECOT_LUA) (a .la file dep) and $(LUA_LIBS) (raw linker flags: -L/usr/local/lib -llua-5.4 -lm). This append goes into auth_libs, which is used verbatim in auth_DEPENDENCIES. GNU make treats everything in a target's prerequisite list as files to build — it handles -l<name> specially, but -L<path> is taken literally, causing "no rule to make target '-L/usr/local/lib'".
Fix: 1. Strip $(LUA_LIBS) from am__append_8 — leave only $(LIBDOVECOT_LUA) (the actual file dep) 2. Add am__append_10 = $(LUA_LIBS), scoped to plugin mode only (AUTH_LUA_PLUGIN_TRUE && HAVE_LUA_TRUE) — in non-plugin mode, $(LUA_LIBS) is already covered by AUTH_LUA_LDADD 3. Append $(am__append_10) to the five LDADD variables that need it
To apply: patch src/auth/Makefile.in /path/to/patch-src-auth-Makefile.in
Here’s the patch I used that resulted in a clean build:
*** src/auth/Makefile.in.orig --- src/auth/Makefile.in *************** *** 107,111 **** @HAVE_LDAP_TRUE@@LDAP_PLUGIN_TRUE@am__append_6 = libauthdb_ldap.la @HAVE_LDAP_TRUE@@LDAP_PLUGIN_FALSE@am__append_7 = $(LIBDOVECOT_LDAP) - @HAVE_LUA_TRUE@am__append_8 = $(LIBDOVECOT_LUA) $(LUA_LIBS) @AUTH_LUA_PLUGIN_TRUE@am__append_9 = libauthdb_lua.la subdir = src/auth --- 107,112 ---- @HAVE_LDAP_TRUE@@LDAP_PLUGIN_TRUE@am__append_6 = libauthdb_ldap.la @HAVE_LDAP_TRUE@@LDAP_PLUGIN_FALSE@am__append_7 = $(LIBDOVECOT_LDAP) + @HAVE_LUA_TRUE@am__append_8 = $(LIBDOVECOT_LUA) + @AUTH_LUA_PLUGIN_TRUE@@HAVE_LUA_TRUE@am__append_10 = $(LUA_LIBS) @AUTH_LUA_PLUGIN_TRUE@am__append_9 = libauthdb_lua.la subdir = src/auth *************** *** 1119,1123 **** $(am__append_8) auth_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) ! auth_LDADD = $(auth_libs) $(LIBDOVECOT) $(AUTH_LIBS) $(BINARY_LDFLAGS) $(AUTH_LUA_LDADD) auth_DEPENDENCIES = $(auth_libs) $(LIBDOVECOT_DEPS) auth_SOURCES = main.c $(auth_common_sources) --- 1120,1124 ---- $(am__append_8) auth_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS) ! auth_LDADD = $(auth_libs) $(LIBDOVECOT) $(AUTH_LIBS) $(BINARY_LDFLAGS) $(AUTH_LUA_LDADD) $(am__append_10) auth_DEPENDENCIES = $(auth_libs) $(LIBDOVECOT_DEPS) auth_SOURCES = main.c $(auth_common_sources) *************** *** 1230,1234 **** test-main.c
! test_auth_LDADD = $(test_auth_ldadd_plugins) $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) test_auth_DEPENDENCIES = $(test_auth_ldadd_plugins) $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS) test_mech_SOURCES = \ --- 1231,1235 ---- test-main.c
! test_auth_LDADD = $(test_auth_ldadd_plugins) $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) $(am__append_10) test_auth_DEPENDENCIES = $(test_auth_ldadd_plugins) $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS) test_mech_SOURCES = \ *************** *** 1238,1242 **** test-mech.c
! test_mech_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) test_mech_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS) test_auth_client_SOURCES = \ --- 1239,1243 ---- test-mech.c
! test_mech_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) $(am__append_10) test_mech_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS) test_auth_client_SOURCES = \ *************** *** 1246,1250 **** test-auth-client.c
! test_auth_client_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) test_auth_client_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS) test_auth_master_SOURCES = \ --- 1247,1251 ---- test-auth-client.c
! test_auth_client_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) $(am__append_10) test_auth_client_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS) test_auth_master_SOURCES = \ *************** *** 1255,1259 **** test-auth-master-server.c
! test_auth_master_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) test_auth_master_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS) all: all-am --- 1256,1260 ---- test-auth-master-server.c
! test_auth_master_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) $(am__append_10) test_auth_master_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS) all: all-am
I haven’t tested the binary yet, but at least it did successfully complete the build.
The right fix is to update src/auth/Makefile.am, but perhaps someone more familiar with this can take a look and confirm.
—Jeff
On May 17, 2026, at 19:59, Frank Volf via dovecot <dovecot@dovecot.org> wrote:
Hi,
I'm trying to build dovecot-2.4.4 on FreeBSD 14.4 and I get a strange error message.
What I did is download and extract dovecot-2.4.4.tar.gz and then run ./configure without any arguments. After typing make the build started without any problems until this point:
.... Making all in auth CC test_auth_cache-auth-cache.o CC test_auth_cache-test-auth-cache.o CC auth-main.o CC auth-auth.o CC auth-auth-cache.o CC auth-auth-client-connection.o CC auth-auth-master-connection.o CC auth-auth-policy.o CC auth-auth-penalty.o CC auth-auth-request.o CC auth-auth-request-fields.o CC auth-auth-request-handler.o CC auth-auth-request-var-expand.o CC auth-auth-sasl-mech-apop.o CC auth-auth-sasl-mech-dovecot-token.o CC auth-auth-sasl-mech-oauth2.o CC auth-auth-sasl.o CC auth-auth-settings.o CC auth-auth-fields.o CC auth-auth-token.o CC auth-auth-worker-connection.o CC auth-auth-worker-server.o CC auth-db-oauth2.o CC auth-db-sql.o CC auth-db-passwd-file.o CC auth-passdb.o CC auth-passdb-blocking.o CC auth-passdb-bsdauth.o CC auth-passdb-cache.o CC auth-passdb-oauth2.o CC auth-passdb-passwd.o CC auth-passdb-passwd-file.o CC auth-passdb-pam.o CC auth-passdb-sql.o CC auth-passdb-static.o CC auth-userdb.o CC auth-userdb-blocking.o CC auth-userdb-passwd.o CC auth-userdb-passwd-file.o CC auth-userdb-prefetch.o CC auth-userdb-static.o CC auth-userdb-sql.o CC auth-db-ldap.o CC auth-db-ldap-sasl.o CC auth-db-ldap-settings.o CC auth-passdb-ldap.o CC auth-userdb-ldap.o CC auth-db-lua.o CC auth-passdb-lua.o CC auth-userdb-lua.o make[3]: don't know how to make -L/usr/local/lib. Stop
make[3]: stopped making "all" in /home/volf/dovecot-2.4.4/src/auth *** Error code 1
So, apparently make is confused and thinks that the compiler/linker commandline option is an item to build. I'm at loss how to solve this.
I would appreciate it, if somebody could give me a hint how to solve this.
Kind regards,
Frank _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
Evening, I ran into the same issue on FreeBSD-14.4. I fixed it by manually removing the offending "-L/usr/local/lib" from the various "*_LIBS = " definitions in src/auth/Makefile. I had claude take a look and here's what it reported:
** Here's the summary of the problem and the fix:
Root cause: In 2.4.4, am__append_8 was changed to include both $(LIBDOVECOT_LUA) (a .la file dep) and $(LUA_LIBS) (raw linker flags:
-L/usr/local/lib -llua-5.4 -lm). This append goes into auth_libs, which is used verbatim in auth_DEPENDENCIES. GNU make treats
everything in a target's prerequisite list as files to build -- it handles -l<name> specially, but -L<path> is taken literally,
causing "no rule to make target '-L/usr/local/lib'".
Fix:
1. Strip $(LUA_LIBS) from am__append_8 -- leave only $(LIBDOVECOT_LUA) (the actual file dep)
2. Add am__append_10 = $(LUA_LIBS), scoped to plugin mode only (AUTH_LUA_PLUGIN_TRUE && HAVE_LUA_TRUE) -- in non-plugin mode,
$(LUA_LIBS) is already covered by AUTH_LUA_LDADD
3. Append $(am__append_10) to the five LDADD variables that need it
To apply: patch src/auth/Makefile.in /path/to/patch-src-auth-Makefile.in
Here's the patch I used that resulted in a clean build:
*** src/auth/Makefile.in.orig
--- src/auth/Makefile.in
***************
*** 107,111 ****
@HAVE_LDAP_TRUE@@LDAP_PLUGIN_TRUE@am__append_6 = libauthdb_ldap.la
@HAVE_LDAP_TRUE@@LDAP_PLUGIN_FALSE@am__append_7 = $(LIBDOVECOT_LDAP)
- @HAVE_LUA_TRUE@am__append_8 = $(LIBDOVECOT_LUA) $(LUA_LIBS)
@AUTH_LUA_PLUGIN_TRUE@am__append_9 = libauthdb_lua.la
subdir = src/auth
--- 107,112 ----
@HAVE_LDAP_TRUE@@LDAP_PLUGIN_TRUE@am__append_6 = libauthdb_ldap.la
@HAVE_LDAP_TRUE@@LDAP_PLUGIN_FALSE@am__append_7 = $(LIBDOVECOT_LDAP)
+ @HAVE_LUA_TRUE@am__append_8 = $(LIBDOVECOT_LUA)
+ @AUTH_LUA_PLUGIN_TRUE@@HAVE_LUA_TRUE@am__append_10 = $(LUA_LIBS)
@AUTH_LUA_PLUGIN_TRUE@am__append_9 = libauthdb_lua.la
subdir = src/auth
***************
*** 1119,1123 ****
$(am__append_8)
auth_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS)
! auth_LDADD = $(auth_libs) $(LIBDOVECOT) $(AUTH_LIBS) $(BINARY_LDFLAGS) $(AUTH_LUA_LDADD)
auth_DEPENDENCIES = $(auth_libs) $(LIBDOVECOT_DEPS)
auth_SOURCES = main.c $(auth_common_sources)
--- 1120,1124 ----
$(am__append_8)
auth_CPPFLAGS = $(AM_CPPFLAGS) $(BINARY_CFLAGS)
! auth_LDADD = $(auth_libs) $(LIBDOVECOT) $(AUTH_LIBS) $(BINARY_LDFLAGS) $(AUTH_LUA_LDADD) $(am__append_10)
auth_DEPENDENCIES = $(auth_libs) $(LIBDOVECOT_DEPS)
auth_SOURCES = main.c $(auth_common_sources)
***************
*** 1230,1234 ****
test-main.c
! test_auth_LDADD = $(test_auth_ldadd_plugins) $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS)
test_auth_DEPENDENCIES = $(test_auth_ldadd_plugins) $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS)
test_mech_SOURCES = \
--- 1231,1235 ----
test-main.c
! test_auth_LDADD = $(test_auth_ldadd_plugins) $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) $(am__append_10)
test_auth_DEPENDENCIES = $(test_auth_ldadd_plugins) $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS)
test_mech_SOURCES = \
***************
*** 1238,1242 ****
test-mech.c
! test_mech_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS)
test_mech_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS)
test_auth_client_SOURCES = \
--- 1239,1243 ----
test-mech.c
! test_mech_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) $(am__append_10)
test_mech_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS)
test_auth_client_SOURCES = \
***************
*** 1246,1250 ****
test-auth-client.c
! test_auth_client_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS)
test_auth_client_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS)
test_auth_master_SOURCES = \
--- 1247,1251 ----
test-auth-client.c
! test_auth_client_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) $(am__append_10)
test_auth_client_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS)
test_auth_master_SOURCES = \
***************
*** 1255,1259 ****
test-auth-master-server.c
! test_auth_master_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS)
test_auth_master_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS)
all: all-am
--- 1256,1260 ----
test-auth-master-server.c
! test_auth_master_LDADD = $(LIBDOVECOT) $(auth_libs) $(AUTH_LIBS) $(am__append_10)
test_auth_master_DEPENDENCIES = $(pkglibexec_PROGRAMS) $(LIBDOVECOT_DEPS)
all: all-am
I haven't tested the binary yet, but at least it did successfully complete the build. The right fix is to update src/auth/Makefile.am, but perhaps someone more familiar with this can take a look and confirm. --Jeff
On May 17, 2026, at 19:59, Frank Volf via dovecot <dovecot@dovecot.org> wrote: Hi,
I'm trying to build dovecot-2.4.4 on FreeBSD 14.4 and I get a strange error message.
What I did is download and extract dovecot-2.4.4.tar.gz and then run ./configure without any arguments. After typing make the build started without any problems until this point:
.... Making all in auth CC test_auth_cache-auth-cache.o CC test_auth_cache-test-auth-cache.o CC auth-main.o CC auth-auth.o CC auth-auth-cache.o CC auth-auth-client-connection.o CC auth-auth-master-connection.o CC auth-auth-policy.o CC auth-auth-penalty.o CC auth-auth-request.o CC auth-auth-request-fields.o CC auth-auth-request-handler.o CC auth-auth-request-var-expand.o CC auth-auth-sasl-mech-apop.o CC auth-auth-sasl-mech-dovecot-token.o CC auth-auth-sasl-mech-oauth2.o CC auth-auth-sasl.o CC auth-auth-settings.o CC auth-auth-fields.o CC auth-auth-token.o CC auth-auth-worker-connection.o CC auth-auth-worker-server.o CC auth-db-oauth2.o CC auth-db-sql.o CC auth-db-passwd-file.o CC auth-passdb.o CC auth-passdb-blocking.o CC auth-passdb-bsdauth.o CC auth-passdb-cache.o CC auth-passdb-oauth2.o CC auth-passdb-passwd.o CC auth-passdb-passwd-file.o CC auth-passdb-pam.o CC auth-passdb-sql.o CC auth-passdb-static.o CC auth-userdb.o CC auth-userdb-blocking.o CC auth-userdb-passwd.o CC auth-userdb-passwd-file.o CC auth-userdb-prefetch.o CC auth-userdb-static.o CC auth-userdb-sql.o CC auth-db-ldap.o CC auth-db-ldap-sasl.o CC auth-db-ldap-settings.o CC auth-passdb-ldap.o CC auth-userdb-ldap.o CC auth-db-lua.o CC auth-passdb-lua.o CC auth-userdb-lua.o make[3]: don't know how to make -L/usr/local/lib. Stop
make[3]: stopped making "all" in /home/volf/dovecot-2.4.4/src/auth *** Error code 1
So, apparently make is confused and thinks that the compiler/linker commandline option is an item to build. I'm at loss how to solve this.
I would appreciate it, if somebody could give me a hint how to solve this.
Kind regards,
Frank _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org