You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After fixing up the GCC and Qt build failures by downgrading to Xcode 15.2 and Xcode CLT 15.1, my runs of bundle_octave_app seem to do a successful install of octave and all its dependencies in the /Applications/Octave-<ver>.app Homebrew installation. But the brew install <octave> command returns a nonzero exit status indicating failure. That causes the script to abort, and not go through the subsequent steps of munging and packaging the app in a DMG. And I just don't like it when things fail for no apparent reason.
I think I recall seeing this before, but I don't remember the exact circumstances.
Symptoms
On angharad, macOS 14.4.1, Xcode 15.2, CLT 15.1, Intel, bare metal:
bundle_octave_app run at Fri Apr 12 <time> EDT 2024 on angharad.local
macOS 14.4.1, arch x86_64 (Intel)
Xcode 15.2, Xcode CLT 15.1.0.0.1.1700200546, clang Apple clang version 15.0.0 (clang-1500.1.0.2.5)
LaTeX: pdfTeX 3.141592653-2.6-1.40.26 (TeX Live 2024)
bundle_octave_app from git commit a452ba6
[...]
f | /Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/gnu-sed/bin//gsed 's,^lib,,; s,\.la$,.oct,'`; \
else \
echo "error: dlname is empty in $ltlib!"; \
exit 1; \
fi; \
lnames=`/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/gnu-sed/bin//gsed -n -e "s/library_names='\([^']*\)'/\1/p" < $top_build_dir/$ltlib`; \
if [ -n "$lnames" ]; then \
rm -f $f $lnames $dl; \
fi \
done
mkdir -p /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/etc
/usr/bin/install -c -m 644 libinterp/DOCSTRINGS /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/etc/built-in-docstrings
==> Cleaning
rm /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/liboctave.la
rm /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/liboctgui.la
rm /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/liboctinterp.la
rm /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/info/dir
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/site/api-v58/m (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/site/api-v58 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/site/m (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/site (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site/oct/x86_64-apple-darwin23.4.0 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site/oct/api-v58/x86_64-apple-darwin23.4.0 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site/oct/api-v58 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site/oct (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/site/oct/x86_64-apple-darwin23.4.0 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/site/oct (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/site (empty)
==> Finishing up
==> ln -sf /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/bin/octave /Applications/Octave-8.4.0.app/Contents/Resources/usr/bin/octave-oct
==> Caveats
octave-octapp@8.4.0 is keg-only, which means it was not symlinked into /Applications/Octave-8.4.0.app/Contents/Resources/usr,
because so it can be installed alongside regular octave.
If you need to have octave-octapp@8.4.0 first in your PATH, run:
echo 'export PATH="/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/bin:$PATH"' >> ~/.zshrc
For compilers to find octave-octapp@8.4.0 you may need to set:
export LDFLAGS="-L/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/lib"
export CPPFLAGS="-I/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/include"
For pkg-config to find octave-octapp@8.4.0 you may need to set:
export PKG_CONFIG_PATH="/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/lib/pkgconfig"
==> Summary
🍺 /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0: 2,519 files, 62.5MB, built in 9 minutes 55 seconds
==> Running `brew cleanup octave-octapp@8.4.0`...
==> Caveats
==> octave-octapp@8.4.0
octave-octapp@8.4.0 is keg-only, which means it was not symlinked into /Applications/Octave-8.4.0.app/Contents/Resources/usr,
because so it can be installed alongside regular octave.
If you need to have octave-octapp@8.4.0 first in your PATH, run:
echo 'export PATH="/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/bin:$PATH"' >> ~/.zshrc
For compilers to find octave-octapp@8.4.0 you may need to set:
export LDFLAGS="-L/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/lib"
export CPPFLAGS="-I/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/include"
For pkg-config to find octave-octapp@8.4.0 you may need to set:
export PKG_CONFIG_PATH="/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/lib/pkgconfig"
brew install <octapp> exit status: 1
bundle_octave_app: ERROR: brew install returned failure (1); aborted.
On montague, macOS 12.74, Xcode 14.2, Xcode CLT 14.2, Intel, VM under VMware:
bundle_octave_app run at Fri Apr 12 <time> EDT 2024 on montague.local
macOS 12.7.4, arch x86_64 (Intel)
Xcode 14.2, Xcode CLT 14.2.0.0.1.1668646533, clang Apple clang version 14.0.0 (clang-1400.0.29.202)
LaTeX: pdfTeX 3.141592653-2.6-1.40.26 (TeX Live 2024)
bundle_octave_app from git commit a452ba6
[...]
fi \
done
mkdir -p /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/etc
/usr/bin/install -c -m 644 libinterp/DOCSTRINGS /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/etc/built-in-docstrings
==> Cleaning
rm /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/liboctave.la
rm /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/liboctgui.la
rm /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/liboctinterp.la
rm /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/info/dir
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/site/api-v58/m (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/site/api-v58 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/site/m (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/site (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site/oct/x86_64-apple-darwin21.6.0 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site/oct/api-v58/x86_64-apple-darwin21.6.0 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site/oct/api-v58 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site/oct (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/site (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/site/oct/x86_64-apple-darwin21.6.0 (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/site/oct (empty)
rmdir: /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/lib/octave/8.4.0/site (empty)
==> Finishing up
==> ln -sf /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/bin/octave /Applications/Octave-8.4.0.app/Contents/Resources/usr/bin/octave-oc
==> Caveats
octave-octapp@8.4.0 is keg-only, which means it was not symlinked into /Applications/Octave-8.4.0.app/Contents/Resources/usr,
because so it can be installed alongside regular octave.
If you need to have octave-octapp@8.4.0 first in your PATH, run:
echo 'export PATH="/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/bin:$PATH"' >> ~/.zshrc
For compilers to find octave-octapp@8.4.0 you may need to set:
export LDFLAGS="-L/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/lib"
export CPPFLAGS="-I/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/include"
For pkg-config to find octave-octapp@8.4.0 you may need to set:
export PKG_CONFIG_PATH="/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/lib/pkgconfig"
==> Summary
🍺 /Applications/Octave-8.4.0.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0: 2,519 files, 61.5MB, built in 11 minutes 39 seconds
==> Running `brew cleanup octave-octapp@8.4.0`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
==> Caveats
==> octave-octapp@8.4.0
octave-octapp@8.4.0 is keg-only, which means it was not symlinked into /Applications/Octave-8.4.0.app/Contents/Resources/usr,
because so it can be installed alongside regular octave.
If you need to have octave-octapp@8.4.0 first in your PATH, run:
echo 'export PATH="/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/bin:$PATH"' >> ~/.zshrc
For compilers to find octave-octapp@8.4.0 you may need to set:
export LDFLAGS="-L/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/lib"
export CPPFLAGS="-I/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/include"
For pkg-config to find octave-octapp@8.4.0 you may need to set:
export PKG_CONFIG_PATH="/Applications/Octave-8.4.0.app/Contents/Resources/usr/opt/octave-octapp@8.4.0/lib/pkgconfig"
brew install <octapp> exit status: 1
bundle_octave_app: ERROR: brew install returned failure (1); aborted.
janke@montague octave-app-bundler %
Looks like maybe the brew install command will return nonzero if it fails to link the package. My octave-octapp* formulae are keg_only so they don't get linked. Maybe brew install is not special casing the case of keg_only formulae, and is returning 1 because it didn't successfully link the package, even though the reason for that is that the formula requested that it not be linked?
Just a hypothesis; I haven't looked at the brew code for this. And I don't remember this failing in the past like this.
I'm continuing to assume that the 1 exit status happens when a keg-only formula is installed. I added code in commit 0c6e5cb9a to deal with it, checking with brew list to see if the installation succeeded, and treat that as success. Marking this as Closed.
After fixing up the GCC and Qt build failures by downgrading to Xcode 15.2 and Xcode CLT 15.1, my runs of
bundle_octave_app
seem to do a successful install of octave and all its dependencies in the/Applications/Octave-<ver>.app
Homebrew installation. But thebrew install <octave>
command returns a nonzero exit status indicating failure. That causes the script to abort, and not go through the subsequent steps of munging and packaging the app in a DMG. And I just don't like it when things fail for no apparent reason.I think I recall seeing this before, but I don't remember the exact circumstances.
Symptoms
On angharad, macOS 14.4.1, Xcode 15.2, CLT 15.1, Intel, bare metal:
On montague, macOS 12.74, Xcode 14.2, Xcode CLT 14.2, Intel, VM under VMware:
References
The text was updated successfully, but these errors were encountered: