Hi,
Building 2.4.2 fails due to a strange Makefile dependency regarding libpcre-32:
[zlatko@airframe:~/usrlocal/src/dovecot-2.4.2/src/lib-regex]$ make
make: *** No rule to make target '-L/usr/local/lib64', needed by 'test-regex'.
Stop.
make: *** Waiting for unfinished jobs....
CCLD libdregex.la
This is because for some reason, $(test_regex_DEPENDENCIES) is part of the
targets
that need to be made before making test-regex$(EXEEXT):
test-regex$(EXEEXT): $(test_regex_OBJECTS) $(test_regex_DEPENDENCIES)
$(EXTRA_test_regex_DEPENDENCIES).
@rm -f test-regex$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_regex_OBJECTS) $(test_regex_LDADD) $(LIBS)
And $(test_regex_DEPENDENCIES) contains, among other things, $(LIBPCRE_LIBS),
which
in turn is the output of `pkg-config --libs "libpcre2-32"`:
[zlatko@airframe:~/usrlocal/src/dovecot-2.4.2/src/lib-regex]$ pkg-config --libs
"libpcre2-32"
-L/usr/local/lib64 -lpcre2-32
So, `make` thinks it needs to create two files "-L/usr/local/lib64" and
"-lpcre2-32"
before it can make `test-regex`, but of course it doesn't know *how* to make
them,
and stops.
The fix is trivial, of course, just remove the incorrect requirements/targets
part
"$(test_regex_DEPENDENCIES) $(EXTRA_test_regex_DEPENDENCIES)" from the recipe
for
test-regex$(EXEEXT) so that it reads ...
test-regex$(EXEEXT): $(test_regex_OBJECTS)
@rm -f test-regex$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(test_regex_OBJECTS) $(test_regex_LDADD) $(LIBS)
..., but of course the Makefile should already be generated properly in the
first place.
HAND
Thomas
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]