Linuxbrew / legacy-linuxbrew

:skull: This repository is defunct, because it has been split into https://github.com/Linuxbrew/brew and https://github.com/Linuxbrew/homebrew-core
http://linuxbrew.sh
Other
2.23k stars 297 forks source link

subversion --with-serf: deparallelize make install #1097

Closed eiennohito closed 8 years ago

eiennohito commented 8 years ago

Regular install of the formula works, but --with-serf fails.

Here are logs: https://gist.github.com/anonymous/e810f289d9e4cfb5095af136fb3e3bc1

I do not see anything weird in the log. Any ideas?

eiennohito commented 8 years ago

Doing --verbose --debug install, performing make install by hand and ignoring the error result in a working svn by the way.

sjackman commented 8 years ago
libtool: warning: '/dev/shm/subversion20160426-24557-8xnu2u/subversion-1.9.3/subversion/libsvn_ra_local/libsvn_ra_local-1.la' has not been installed in '/mnt/orange/brew/data/Cellar/subversion/1.9.3/lib'
/mnt/orange/brew/data/bin/ld: cannot find -lsvn_delta-1
collect2: error: ld returned 1 exit status
libtool: warning: '/dev/shm/subversion20160426-24557-8xnu2u/subversion-1.9.3/subversion/libsvn_repos/libsvn_repos-1.la' has not been installed in '/mnt/orange/brew/data/Cellar/subversion/1.9.3/lib'
libtool:   error: error: relink 'libsvn_ra_serf-1.la' with the above command before installing it
libtool: warning: '/dev/shm/subversion20160426-24557-8xnu2u/subversion-1.9.3/subversion/libsvn_fs/libsvn_fs-1.la' has not been installed in '/mnt/orange/brew/data/Cellar/subversion/1.9.3/lib'
make: *** [install-serf-lib] Error 1

https://gist.github.com/anonymous/e810f289d9e4cfb5095af136fb3e3bc1#file-05-make-L141

sjackman commented 8 years ago

For what purpose do you need --with-serf? This option is unfortunately known not to work on Linux.

eiennohito commented 8 years ago

Otherwise http/https transports of svn do not work making built subversion pretty useless (or am I doing something wroing?)

Second invocation of make install finishes correctly. And http transport works in that case.

sjackman commented 8 years ago

Your timing is good. I hadn't yet run into this issue myself, and just encountered it. brew install homebrew/science/k8 requires subversion --with-serf for http support.

sjackman commented 8 years ago

I see the same error as you did above when installing subversion --with-serf.

sjackman commented 8 years ago

Running brew install subversion --with-serf at error selecting 5. shell then running make install; exit and selecting 2. ignore works great. Thanks for the workaround, Arseny.

eiennohito commented 8 years ago

Maybe their local automake&company files are broken. I will try to regenerate them using autotools and report what happens when I'll have some time.

sjackman commented 8 years ago

This patch worked for me!

diff --git a/Library/Formula/subversion.rb b/Library/Formula/subversion.rb
index fadccc4..b7619d5 100644
--- a/Library/Formula/subversion.rb
+++ b/Library/Formula/subversion.rb
@@ -168,7 +168,8 @@ class Subversion < Formula

     system "./configure", *args
     system "make"
-    system "make", "install"
+    # Fix ld: cannot find -lsvn_delta-1
+    ENV.deparallelize { system "make", "install" }
     bash_completion.install "tools/client-side/bash_completion" => "subversion"

     system "make", "tools"
eiennohito commented 8 years ago

Great! --with-serf should be made a default option once more, probably.

sjackman commented 8 years ago

Woops. Spoke too soon. I forgot to add the --with-serf in that test. =/ I'm testing it now --with-serf.

sjackman commented 8 years ago

It works! For real this time. :tada:

sjackman commented 8 years ago

This issue was moved to Linuxbrew/homebrew-core#4