Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subversion build fails on macOS 10.12 #125

Closed
apjanke opened this issue Mar 9, 2019 · 13 comments
Closed

Subversion build fails on macOS 10.12 #125

apjanke opened this issue Mar 9, 2019 · 13 comments
Assignees

Comments

@apjanke
Copy link
Contributor

apjanke commented Mar 9, 2019

Crap.

==> Installing subversion
==> Downloading https://www.apache.org/dyn/closer.cgi?path=subversion/subversion-1.11.1.tar.bz2
Already downloaded: /Users/janke/Library/Caches/Homebrew/downloads/5a8717122d0f05a5f742a6d7c0ec9c19416d55f85fd92ae7b8d465ef2b5472a1--subversion-1.11.1.tar.bz2
==> Patching
patching file subversion/bindings/swig/perl/native/Makefile.PL.in
patching file build/get-py-info.py
==> Downloading https://www.apache.org/dyn/closer.cgi?path=serf/serf-1.3.9.tar.bz2
Already downloaded: /Users/janke/Library/Caches/Homebrew/downloads/3f4e2cb0f268fb9db7a761edccb60bdbdacb9923f8b2140e8c0a30b6792958a6--serf-1.3.9.tar.bz2
==> scons PREFIX=/Applications/Octave-5.1.0.app/Contents/Resources/usr/Cellar/subversion/1.11.1/libexec/serf GSSAPI=/usr CC=/usr/bin/cl
==> scons install
==> ./configure --prefix=/Applications/Octave-5.1.0.app/Contents/Resources/usr/Cellar/subversion/1.11.1 --enable-optimize --disable-mod
==> make
==> make install
==> make tools
==> make install-tools
==> make swig-py
==> make install-swig-py
==> make swig-rb EXTRA_SWIG_LDFLAGS=-L/usr/lib
Last 15 lines from /Users/janke/Library/Logs/Homebrew/subversion/10.make:
EXTRA_SWIG_LDFLAGS=-L/usr/lib

/bin/sh "/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/libtool" --tag=CC --silent --mode=compile none  -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/sqlite/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/readline/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/gettext/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/openssl/include -isystem/Applications/Octave-5.1.0.app/Contents/Resources/usr/include  -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -DDARWIN_10  -I/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/subversion/bindings/swig/ruby/libsvn_swig_ruby -prefer-pic -c -o subversion/bindings/swig/ruby/svn_client.lo subversion/bindings/swig/ruby/svn_client.c
/bin/sh "/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/libtool" --tag=CC --silent --mode=compile none -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/sqlite/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/readline/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/gettext/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/openssl/include -isystem/Applications/Octave-5.1.0.app/Contents/Resources/usr/include  -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -DDARWIN_10   -I/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/subversion/bindings/swig/ruby/libsvn_swig_ruby -I./subversion/include -I./subversion -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/apr/libexec/include/apr-1   -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/apr-util/libexec/include/apr-1 -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/openssl/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/Cellar/subversion/1.11.1/libexec/serf/include/serf-1 -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/Cellar/openssl/1.0.2q/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/sqlite/include -I/usr/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/Cellar/lz4/1.8.3/include  -o subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.lo -c subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
/bin/sh "/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/libtool" --tag=CC --silent --mode=compile none  -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/sqlite/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/readline/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/gettext/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/openssl/include -isystem/Applications/Octave-5.1.0.app/Contents/Resources/usr/include  -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -DDARWIN_10  -I/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/subversion/bindings/swig/ruby/libsvn_swig_ruby -prefer-pic -c -o subversion/bindings/swig/ruby/core.lo subversion/bindings/swig/ruby/core.c
/bin/sh "/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/libtool" --tag=CC --silent --mode=compile none  -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/sqlite/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/readline/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/gettext/include -I/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/openssl/include -isystem/Applications/Octave-5.1.0.app/Contents/Resources/usr/include  -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -DDARWIN_10  -I/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/subversion/bindings/swig/ruby/libsvn_swig_ruby -prefer-pic -c -o subversion/bindings/swig/ruby/svn_delta.lo subversion/bindings/swig/ruby/svn_delta.c
/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/libtool: line 1760: none: command not found
make: *** [subversion/bindings/swig/ruby/svn_client.lo] Error 1
make: *** Waiting for unfinished jobs....
/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/libtool: line 1760: none: command not found
make: *** [subversion/bindings/swig/ruby/core.lo] Error 1
/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/libtool: line 1760: none: command not found
make: *** [subversion/bindings/swig/ruby/svn_delta.lo] Error 1
/private/tmp/subversion-20190309-58339-17veyuq/subversion-1.11.1/libtool: line 1760: none: command not found
make: *** [subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.lo] Error 1

Do not report this issue to Homebrew/brew or Homebrew/core!

janke@sidney---macos-10-12:~/local/repos/octave-app-bundler $ 

I'm guessing that "Do not report this issue to Homebrew/brew or Homebrew/core!" is because we're installing in a non-default location?

Full build logs: https://gist.github.com/apjanke/b92c745370e5db716fc32605d83620b0.

Blocks #120.

Related to #57 – netpbm requires brewed subversion to download.

@apjanke apjanke self-assigned this Mar 9, 2019
@apjanke
Copy link
Contributor Author

apjanke commented Mar 9, 2019

It's the make swig-rb step that's failing. Maybe installing ruby first will fix it.

Here's an excerpt from config.log that may show where that none literal is coming from:

config.log:configure:18615: result: none
config.log:configure:18671: result: none
config.log:configure:26600: result: none
config.log:ac_cv_path_CTYPESGEN=none
config.log:ac_cv_path_DOXYGEN=none
config.log:ac_cv_path_TRANG=none
config.log:CTYPESGEN='none'
config.log:DOXYGEN='none'
config.log:RUBY='none'
config.log:SWIG_RB_COMPILE='none'
config.log:SWIG_RB_LINK='none'

@apjanke
Copy link
Contributor Author

apjanke commented Mar 9, 2019

Installing ruby first didn't fix it.

https://gist.github.com/e8f86789b8416e78aea63700353bff0a

config.log:CTYPESGEN='none'
config.log:DOXYGEN='none'
config.log:RUBY='none'
config.log:SWIG_RB_COMPILE='none'
config.log:SWIG_RB_LINK='none'
config.log:TRANG='none'

@apjanke
Copy link
Contributor Author

apjanke commented Mar 9, 2019

Luckily, a brew install -s subversion on a fresh 10.12 machine with an almost-fresh Homebrew installation also fails, so we may be able to kick this upstream to Homebrew.

https://gist.github.com/cafe3533ac8d7f00055735e48046251c

(This was a Homebrew that I had installed but then rm -rf /usr/local/Cellar on.)

Looks like I'm going to have to start over with a clean machine to get clean repros.

No "Do not report this issue to Homebrew/brew or Homebrew/core!" message, so I guess that was about installing in a non-default location.

@apjanke
Copy link
Contributor Author

apjanke commented Mar 9, 2019

Works fine on a fresh macOS 10.13 High Sierra machine.

I can't even get a fresh macOS 10.12 Sierra VM to install right now.

@apjanke
Copy link
Contributor Author

apjanke commented Mar 24, 2019

I've got a 10.12 machine running again.

Still fails if I do a bundle_octave brew install -s ruby first: https://gist.github.com/e189249e73c5666ac5500ee9fb6463bc

@apjanke
Copy link
Contributor Author

apjanke commented Mar 24, 2019

Hmm. From config.log:

SWIG_LDFLAGS='-L/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/sqlite/lib -L/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/readline/lib -L/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/gettext/lib -L/Applications/Octave-5.1.0.app/Contents/Resources/usr/opt/openssl/lib -L/Applications/Octave-5.1.0.app/Contents/Resources/usr/lib  -Wl,-headerpad_max_install_names'
SWIG_PL_FEATURES=''
SWIG_PL_INCLUDES='$(SWIG_INCLUDES)  -fno-common -DPERL_DARWIN -mmacosx-version-min=10.12 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -DPERL_USE_SAFE_PUTENV  -I/usr/local/Cellar/perl/5.28.1/lib/perl5/5.28.1/darwin-thread-multi-2level/CORE '
SWIG_PL_LINK='-mmacosx-version-min=10.12 -fstack-protector-strong -L/usr/local/lib -L/usr/local/Cellar/perl/5.28.1/lib/perl5/5.28.1/darwin-thread-multi-2level/CORE -lperl -lpthread -ldl -lm -lutil -lc'
SWIG_PY_COMPILE='/usr/bin/clang -Werror=unknown-warning-option -Os -w -pipe -march=core2 -mmacosx-version-min=10.12 -I/Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/openjdk-12.jdk/Contents/Home/include/darwin -O2  -DNDEBUG'
SWIG_PY_FEATURES=''
SWIG_PY_INCLUDES='$(SWIG_INCLUDES) -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7'
SWIG_PY_LIBS='-bundle -undefined dynamic_lookup -Wl,-F. -bundle_loader /usr/local/bin/python'
SWIG_PY_LINK='cc -bundle -undefined dynamic_lookup -arch x86_64 -arch i386 -Wl,-F. -bundle_loader /usr/local/bin/python'
SWIG_RB_COMPILE='none'
SWIG_RB_FEATURES=''
SWIG_RB_INCLUDES=''
SWIG_RB_LIBS=''
SWIG_RB_LINK='none'
SWIG_RB_SITE_ARCH_DIR=''
SWIG_RB_SITE_LIB_DIR=''
SWIG_RB_TEST_VERBOSE=''
TRANG='none'

It's picking up at least some stuff from /usr/local instead of the Octave.app build area.

I wonder if I install ruby and swig there, it might work.

@apjanke
Copy link
Contributor Author

apjanke commented Mar 24, 2019

Nope, doing brew install ruby swig did not work. Same error: none: command not found.

@schoeps
Copy link

schoeps commented Mar 24, 2019

But this a core homebrew issues, is it not?

@apjanke
Copy link
Contributor Author

apjanke commented Mar 24, 2019

I believe it is. But since we are installing to a non-default installation location, this usage is unsupported, and we won't get any help from them.

I'll look into the subversion formula (and upstream Subversion source code) and see if I can fix it myself, but don't hold your breath.

@schoeps
Copy link

schoeps commented Mar 25, 2019

netbpm does not ask explicitly for svn, however it downloads its sources via svn. This seem to require a homebrew version of svn instead of using the system binary located in /usr/bin/svn which does not much sense itself (maybe svn does not exist on older macOS versions?). However, netbpmis a dependency of fig2dev and we may try building octave without fig2dev (I do not recall if we really need this if we use the qt plotting backend....) or we could modify netbpm to download a tarball.

@apjanke
Copy link
Contributor Author

apjanke commented Mar 27, 2019

This seem to require a homebrew version of svn instead of using the system binary located in /usr/bin/svn which does not much sense itself (maybe svn does not exist on older macOS versions?).

svn is provided by macOS, and it's only slightly older. But it still doesn't work. I think it has to do with how they handle root certificate authority lists; the system svn doesn't like the cert provided by netpbm's hosting provider.

However, netbpm is a dependency of fig2dev and we may try building octave without fig2dev (I do not recall if we really need this if we use the qt plotting backend....) or we could modify netbpm to download a tarball.

Changing the octave options to build without fig2dev should be easy. And customizing netpbm to get a tarball shouldn't be bad either; the dep tree to it is short so we'd only have to modify the netpbm and fig2dev formulae.

├── fig2dev
│   ├── ghostscript
│   │   └── libtiff
│   │       └── jpeg
│   ├── libpng
│   └── netpbm

I'll give this a try before doing any hacking on subversion, which would be harder. Thanks.

@apjanke
Copy link
Contributor Author

apjanke commented Apr 9, 2019

I customized fig2dev and netpbm to use a tarball for netpbm, hosted on our own homebrew-octave-app repo. Done in octave-app/octave-app-bundler@1788fee and octave-app/homebrew-octave-app@7e4b03d.

That got the build going on macOS 10.12. New beta should be out tomorrow if all goes well; it's slogging through the Qt build now.

@apjanke
Copy link
Contributor Author

apjanke commented Apr 9, 2019

Closing this as fixed since we've worked around it.

@apjanke apjanke closed this as completed Apr 9, 2019
@apjanke apjanke transferred this issue from octave-app/octave-app-bundler Oct 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants