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]

Reply via email to