pbiering/ipv6calc

4.2.0 build failure

Closed this issue · 3 comments

👋 trying to build the latest release, but run into some build issue. The error log is as below:

error build log
install: cannot create directory ‘/share’: Permission denied

full build log, https://github.com/Homebrew/homebrew-core/actions/runs/7999045626/job/21846295563
relates to Homebrew/homebrew-core#163664

This is very strange, is there any pre-adjustment active which touches the Makefiles?

Important parts of your workflow output:

  for dir in ipv6logconv ipv6loganon ipv6logstats ipv6calcweb ipv6calc  man lib databases/lib tools; do \
  		ocwd=`pwd`; \
  		cd $dir || exit 1; \
  		/usr/bin/make install; r=$?; \
  		cd $ocwd ; if [ $r -ne 0 ]; then echo "Result: $r"; exit $r; fi; \
  	done || exit 1
  ...
  make[1]: Entering directory '/tmp/ipv6calc-20240222-3986-rkp3mt/ipv6calc-4.2.0/ipv6logconv'
  mkdir -p /home/linuxbrew/.linuxbrew/Cellar/ipv6calc/4.2.0/bin
  install -m 755 ipv6logconv /home/linuxbrew/.linuxbrew/Cellar/ipv6calc/4.2.0/bin
  ...
  make[1]: Entering directory '/tmp/ipv6calc-20240222-3986-rkp3mt/ipv6calc-4.2.0/tools'
  if [ ! -d /share/ipv6calc/tools ]; then install -d -m 755 /share/ipv6calc/tools; fi
  install: cannot create directory ‘/share’: Permission denied
  make[1]: *** [Makefile:15: install] Error 1

Related code:

grep DESTDIR ipv6logconv/Makefile
		mkdir -p $(DESTDIR)$(bindir)
		install -m 755 ipv6logconv $(DESTDIR)$(bindir)

grep DESTDIR tools/Makefile
		if [ ! -d $(DESTDIR)$(datadir)/ipv6calc/tools ]; then install -d -m 755 $(DESTDIR)$(datadir)/ipv6calc/tools; fi
		for f in *.sh *.pl; do install -m 755 $$f $(DESTDIR)$(datadir)/ipv6calc/tools; done

as you can see, looking very equal but in "tools" case, the DESTDIR is not honored.

yeah, I think the share/ipv6calc/tools need some fix. Let me try something in my local.

This is very strange, is there any pre-adjustment active which touches the Makefiles?

Important parts of your workflow output:

  for dir in ipv6logconv ipv6loganon ipv6logstats ipv6calcweb ipv6calc  man lib databases/lib tools; do \
  		ocwd=`pwd`; \
  		cd $dir || exit 1; \
  		/usr/bin/make install; r=$?; \
  		cd $ocwd ; if [ $r -ne 0 ]; then echo "Result: $r"; exit $r; fi; \
  	done || exit 1
  ...
  make[1]: Entering directory '/tmp/ipv6calc-20240222-3986-rkp3mt/ipv6calc-4.2.0/ipv6logconv'
  mkdir -p /home/linuxbrew/.linuxbrew/Cellar/ipv6calc/4.2.0/bin
  install -m 755 ipv6logconv /home/linuxbrew/.linuxbrew/Cellar/ipv6calc/4.2.0/bin
  ...
  make[1]: Entering directory '/tmp/ipv6calc-20240222-3986-rkp3mt/ipv6calc-4.2.0/tools'
  if [ ! -d /share/ipv6calc/tools ]; then install -d -m 755 /share/ipv6calc/tools; fi
  install: cannot create directory ‘/share’: Permission denied
  make[1]: *** [Makefile:15: install] Error 1

Related code:

grep DESTDIR ipv6logconv/Makefile
		mkdir -p $(DESTDIR)$(bindir)
		install -m 755 ipv6logconv $(DESTDIR)$(bindir)

grep DESTDIR tools/Makefile
		if [ ! -d $(DESTDIR)$(datadir)/ipv6calc/tools ]; then install -d -m 755 $(DESTDIR)$(datadir)/ipv6calc/tools; fi
		for f in *.sh *.pl; do install -m 755 $$f $(DESTDIR)$(datadir)/ipv6calc/tools; done

as you can see, looking very equal but in "tools" case, the DESTDIR is not honored.

This is actually the root cause for the configure phase, after setting it, it is all good now. Thanks for the debugging journey with me.