Hi, My latest nightly failed to install (after make). It does not use a separate builddir.
Log from `make install`: rm -rf /build/freetype2-git/pkg/freetype2-git/usr/include/freetype2 rm -f /build/freetype2-git/pkg/freetype2-git/usr/include/ft2build.h /usr/bin/mkdir -p /build/freetype2-git/pkg/freetype2-git/usr/lib \ /build/freetype2-git/pkg/freetype2-git/usr/lib/pkgconfig \ /build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype/config \ /build/freetype2-git/pkg/freetype2-git/usr/share/aclocal ./builds/unix/libtool --mode=install /usr/bin/install -c \ /build/freetype2-git/src/freetype2/objs/libfreetype.la /build/freetype2-git/pkg/freetype2-git/usr/lib libtool: install: /usr/bin/install -c /build/freetype2-git/src/freetype2/objs/.libs/libfreetype.so.6.17.4 /build/freetype2-git/pkg/freetype2-git/usr/lib/libfreetype.so.6.17.4 libtool: install: (cd /build/freetype2-git/pkg/freetype2-git/usr/lib && { ln -s -f libfreetype.so.6.17.4 libfreetype.so.6 || { rm -f libfreetype.so.6 && ln -s libfreetype.so.6.17.4 libfreetype.so.6; }; }) libtool: install: (cd /build/freetype2-git/pkg/freetype2-git/usr/lib && { ln -s -f libfreetype.so.6.17.4 libfreetype.so || { rm -f libfreetype.so && ln -s libfreetype.so.6.17.4 libfreetype.so; }; }) libtool: install: /usr/bin/install -c /build/freetype2-git/src/freetype2/objs/.libs/libfreetype.lai /build/freetype2-git/pkg/freetype2-git/usr/lib/libfreetype.la libtool: warning: remember to run 'libtool --finish /usr/lib' for P in /build/freetype2-git/src/freetype2/include/freetype/freetype.h /build/freetype2-git/src/freetype2/include/freetype/ftadvanc.h /build/freetype2-git/src/freetype2/include/freetype/ftbbox.h /build/freetype2-git/src/freetype2/includ> /usr/bin/install -c -m 644 \ $P /build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype ; \ done for P in /build/freetype2-git/src/freetype2/include/freetype/config/ftconfig.h /build/freetype2-git/src/freetype2/include/freetype/config/ftheader.h /build/freetype2-git/src/freetype2/include/freetype/config/ftmodule.h /build/freetype2-g> /usr/bin/install -c -m 644 \ $P /build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype/config ; \ done /usr/bin/install -c -m 644 /build/freetype2-git/src/freetype2/include/ft2build.h \ /build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/ft2build.h /usr/bin/install -c -m 644 ./builds/unix/ftconfig.h \ /build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype/config/ftconfig.h /usr/bin/install -c -m 644 /build/freetype2-git/src/freetype2/objs/ftmodule.h \ /build/freetype2-git/pkg/freetype2-git/usr/include/freetype2/freetype/config/ftmodule.h /usr/bin/install: cannot stat '/build/freetype2-git/src/freetype2/objs/ftmodule.h': No such file or directory make: *** [/build/freetype2-git/src/freetype2/builds/unix/install.mk:45: install] Error 1 On Fri, Jan 8, 2021 at 7:24 AM Werner LEMBERG <w...@gnu.org> wrote: > > > Alexei, > > > > + * builds/toplevel.mk: Place `FTMODULE_H' in include/. > > Have you tested this commit on a Unix box with a build where 'srcdir' > != 'builddir', and where 'srcdir' is read-only? My gut feeling says > that your commit is not correct. > > We have the following rules, which I consider the right way. > > * Files that can be configured by the user should be read first from > `builddir`, overriding the locations in `srcdir` (examples: > `modules.cfg`, `ftoption.h`). > > * Files that are auto-generated at configure time must always be > placed into `builddir` (example: `config.mk`). > > I want that this scheme works for *all* build systems (i.e., autoconf, > GNU make, meson, cmake) – well, I guess that VC++ is different... > > In other words, this change > > -INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) \ > - $(DEVEL_DIR) \ > +INCLUDES := $(subst /,$(COMPILER_SEP),$(DEVEL_DIR) \ > $(BUILD_DIR) \ > $(TOP_DIR)/include) > > looks very suspicious :-) > > > Werner