Opened 14 years ago

Last modified 7 months ago

#28001 new enhancement

MacPorts base could support out-of-source builds, or tell user that it doesn't

Reported by: julians37@… Owned by: macports-tickets@…
Priority: Low Milestone:
Component: base Version: 1.9.2
Keywords: Cc: cooljeanius (Eric Gallager), ryandesign (Ryan Carsten Schmidt), neverpanic (Clemens Lang)
Port:

Description

Packages that have been properly autoconfiscated will usually support out-of-source build, i.e. the following will work:

  cd /some/build/directory
  /path/to/configure
  make install

For MacPorts base it doesn't and fails with the somewhat obscure error message

Makefile:32: Mk/macports.subdir.mk: No such file or directory

It would be nice if MacPorts would either support building in a directory other than the source directory, or alternatively fail fast (in configure) with a more informative error message.

Change History (4)

comment:1 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:2 Changed 11 years ago by neverpanic (Clemens Lang)

Most of the problems caused by out-of-source building have been fixed in r117615, r117616, r117618, r117619, r117620 and r117621.

Out-of-source builds currently fail to install because the Tcl builtin pkg_mkIndex we're currently using to generate pkgIndex.tcl doesn't support analyzing files from multiple directories.

comment:3 in reply to:  2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign neverpanic added

The problem I'm currently seeing with out-of-source make install (after successful ../configure --prefix=/tmp/mm --with-install-user=$(id -un) and make) is:

for f in archive_sites.conf macports.conf pubkeys.conf sources.conf variants.conf; do \
		/opt/local/bin/ginstall -c -o "rschmidt" -g "admin" -m 444 "$f" "/tmp/mm/etc/macports/${f}.default"; \
		if test ! -e "/tmp/mm/etc/macports/$f" ; then \
			set -x; \
			/opt/local/bin/ginstall -c -o "rschmidt" -g "admin" -m 644 "$f" "/tmp/mm/etc/macports"; \
		fi; \
	done
ginstall: cannot stat 'archive_sites.conf': No such file or directory
+ /opt/local/bin/ginstall -c -o rschmidt -g admin -m 644 archive_sites.conf /tmp/mm/etc/macports
ginstall: cannot stat 'archive_sites.conf': No such file or directory

etc. for the other conf files.

comment:4 Changed 7 months ago by Ryan Carsten Schmidt <git@…>

In e185203ec0a52e02d6636638d777cd8a7df5f066/macports-base (master):

Fix standard_configure.sh for out-of-source builds

See: #28001

Note: See TracTickets for help on using tickets.