Closed paradox460 closed 4 years ago
@paradox460 Please confirm the permission status.
$ ls -l /Users/$USER/Library/Caches/Homebrew
$ ls -l /Users/$USER/Library/Caches/Homebrew/universal-ctags--git
$ ls -l /Users/$USER/Library/Caches/Homebrew/universal-ctags--git/install-sh
@paradox460 ping
All are -rwxr-xr-x
or drwxr-xr-x
, and are owned by my user and group
@masatake Do you know the cause?
@KazuakiM, I have no idea more than you. As you inspect, I wonder whether execution bit of "install.sh" is set or not. As @paradox460 reported, it seems the bit is set. However, I wonder "/Users/$USER/Library/Caches/Homebrew/universal-ctags--git/install-sh" is a really correct path for the script or not.
In the output, there is no $(pwd) information, so I cannot know where ./install.sh is.
@KazuakiM, do you good at system programming on MacOS X? If this is about on GNU/Linux, I will use strace for inspecting. strace is a system call tracer on the platform.
I made a smaller example on GNU/Linux.
[jet@localhost]~% make
/bin/sh: ./install-sh: Permission denied
make: *** [Makefile:2: all] Error 126
This error can be observed with strace:
[jet@localhost]~% strace -f -e execve,chdir make
execve("/usr/bin/make", ["make"], 0x7ffcb9f9edc8 /* 54 vars */) = 0
strace: Process 29751 attached
[pid 29751] execve("/bin/sh", ["/bin/sh", "-c", "(cd /tmp; ./install-sh)"], 0x559f2cdc13b0 /* 59 vars */) = 0
strace: Process 29752 attached
[pid 29752] chdir("/tmp") = 0
strace: Process 29753 attached
[pid 29753] execve("./install-sh", ["./install-sh"], 0x5585c1013d00 /* 59 vars */) = -1 EACCES (Permission denied)
/bin/sh: ./install-sh: Permission denied
[pid 29753] +++ exited with 126 +++
[pid 29752] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=29753, si_uid=1000, si_status=126, si_utime=0, si_stime=0} ---
[pid 29752] +++ exited with 126 +++
[pid 29751] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=29752, si_uid=1000, si_status=126, si_utime=0, si_stime=0} ---
[pid 29751] +++ exited with 126 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=29751, si_uid=1000, si_status=126, si_utime=0, si_stime=0} ---
make: *** [Makefile:2: all] Error 126
chdir("/home/jet") = 0
+++ exited with 2 +++
See the lines calling chdir and execve. From the lines, we can know /tmp/install.sh is exected by make. Actually, the execution bit is not set for the file.
[jet@localhost]~% ls -l /tmp/install-sh
-rw-r--r--. 1 jet jet 14 Aug 22 08:46 /tmp/install-sh
As far as reading https://stackoverflow.com/questions/31045575/how-to-trace-system-calls-of-a-program-in-mac-os-x, with dtruss we can do the same on Mac OS X.
Interestingly enough, cding into the homebrew cache directory, running make clean and then running the appropriate build commands compiles fine, at which point I can brew link universal-ctags and have it function normally.
@paradox460, I would like to know the ORIGINAL result of
$ ls -l /Users/$USER/Library/Caches/Homebrew
$ ls -l /Users/$USER/Library/Caches/Homebrew/universal-ctags--git
$ ls -l /Users/$USER/Library/Caches/Homebrew/universal-ctags--git/install-sh
To get the original result, "ls -l" should be done before "cding into the homebrew cache directory, running make clean".
$ ls -l /Users/$USER/Library/Caches/Homebrew
total 0
drwxr-xr-x 68 jeff.sandberg staff 2312 Aug 14 13:00 Cask
drwxr-xr-x 37 jeff.sandberg staff 1258 Aug 22 12:55 universal-ctags--git
$ ls -l /Users/$USER/Library/Caches/Homebrew/universal-ctags--git
total 160
-rw-r--r-- 1 jeff.sandberg staff 18007 Aug 22 12:55 COPYING
-rw-r--r-- 1 jeff.sandberg staff 3421 Aug 22 12:55 Makefile.am
-rw-r--r-- 1 jeff.sandberg staff 2437 Aug 22 12:55 README.md
drwxr-xr-x 113 jeff.sandberg staff 3842 Aug 22 12:55 Tmain
drwxr-xr-x 130 jeff.sandberg staff 4420 Aug 22 12:55 Units
-rw-r--r-- 1 jeff.sandberg staff 680 Aug 22 12:55 appveyor.yml
-rwxr-xr-x 1 jeff.sandberg staff 508 Aug 22 12:55 autogen.sh
-rw-r--r-- 1 jeff.sandberg staff 600 Aug 22 12:55 circle.yml
-rw-r--r-- 1 jeff.sandberg staff 21026 Aug 22 12:55 configure.ac
drwxr-xr-x 62 jeff.sandberg staff 2108 Aug 22 12:55 dictfiles
drwxr-xr-x 47 jeff.sandberg staff 1598 Aug 22 12:55 docs
drwxr-xr-x 6 jeff.sandberg staff 204 Aug 22 12:55 dsl
drwxr-xr-x 4 jeff.sandberg staff 136 Aug 22 12:55 fnmatch
drwxr-xr-x 9 jeff.sandberg staff 306 Aug 22 12:55 gnu_regex
drwxr-xr-x 89 jeff.sandberg staff 3026 Aug 22 12:55 main
drwxr-xr-x 6 jeff.sandberg staff 204 Aug 22 12:55 makefiles
drwxr-xr-x 7 jeff.sandberg staff 238 Aug 22 12:55 man
drwxr-xr-x 19 jeff.sandberg staff 646 Aug 22 12:55 misc
-rw-r--r-- 1 jeff.sandberg staff 1728 Aug 22 12:55 mk_mingw.mak
-rw-r--r-- 1 jeff.sandberg staff 2443 Aug 22 12:55 mk_mvc.mak
drwxr-xr-x 11 jeff.sandberg staff 374 Aug 22 12:55 old-docs
drwxr-xr-x 18 jeff.sandberg staff 612 Aug 22 12:55 optlib
drwxr-xr-x 89 jeff.sandberg staff 3026 Aug 22 12:55 parsers
drwxr-xr-x 5 jeff.sandberg staff 170 Aug 22 12:55 read
-rw-r--r-- 1 jeff.sandberg staff 5883 Aug 22 12:55 source.mak
drwxr-xr-x 9 jeff.sandberg staff 306 Aug 22 12:55 win32
$ ls -l /Users/$USER/Library/Caches/Homebrew/universal-ctags--git/install-sh
ls: /Users/jeff.sandberg/Library/Caches/Homebrew/universal-ctags--git/install-sh: No such file or directory
After running ./autogen.sh
, which was not run by brew install…
, the three directories look like this:
$ ls -l /Users/$USER/Library/Caches/Homebrew
total 0
drwxr-xr-x 68 jeff.sandberg staff 2312 Aug 14 13:00 Cask
drwxr-xr-x 48 jeff.sandberg staff 1632 Aug 22 12:59 universal-ctags--git
$ ls -l /Users/$USER/Library/Caches/Homebrew/universal-ctags--git
total 2064
-rw-r--r-- 1 jeff.sandberg staff 18007 Aug 22 12:55 COPYING
-rw-r--r-- 1 jeff.sandberg staff 3421 Aug 22 12:55 Makefile.am
-rw-r--r-- 1 jeff.sandberg staff 515667 Aug 22 12:59 Makefile.in
-rw-r--r-- 1 jeff.sandberg staff 2437 Aug 22 12:55 README.md
drwxr-xr-x 113 jeff.sandberg staff 3842 Aug 22 12:55 Tmain
drwxr-xr-x 130 jeff.sandberg staff 4420 Aug 22 12:55 Units
-rw-r--r-- 1 jeff.sandberg staff 52395 Aug 22 12:59 aclocal.m4
-rw-r--r-- 1 jeff.sandberg staff 680 Aug 22 12:55 appveyor.yml
-rwxr-xr-x 1 jeff.sandberg staff 508 Aug 22 12:55 autogen.sh
drwxr-xr-x 7 jeff.sandberg staff 238 Aug 22 12:59 autom4te.cache
-rw-r--r-- 1 jeff.sandberg staff 600 Aug 22 12:55 circle.yml
-rwxr-xr-x 1 jeff.sandberg staff 7382 Aug 22 12:59 compile
-rwxr-xr-x 1 jeff.sandberg staff 44259 Aug 22 12:59 config.guess
-rw-r--r-- 1 jeff.sandberg staff 10114 Aug 22 12:59 config.h.in
-rwxr-xr-x 1 jeff.sandberg staff 36515 Aug 22 12:59 config.sub
-rwxr-xr-x 1 jeff.sandberg staff 251861 Aug 22 12:59 configure
-rw-r--r-- 1 jeff.sandberg staff 21026 Aug 22 12:55 configure.ac
-rwxr-xr-x 1 jeff.sandberg staff 23567 Aug 22 12:59 depcomp
drwxr-xr-x 62 jeff.sandberg staff 2108 Aug 22 12:55 dictfiles
drwxr-xr-x 47 jeff.sandberg staff 1598 Aug 22 12:55 docs
drwxr-xr-x 6 jeff.sandberg staff 204 Aug 22 12:55 dsl
drwxr-xr-x 4 jeff.sandberg staff 136 Aug 22 12:55 fnmatch
drwxr-xr-x 9 jeff.sandberg staff 306 Aug 22 12:55 gnu_regex
-rwxr-xr-x 1 jeff.sandberg staff 14676 Aug 22 12:59 install-sh
drwxr-xr-x 89 jeff.sandberg staff 3026 Aug 22 12:55 main
drwxr-xr-x 7 jeff.sandberg staff 238 Aug 22 12:59 makefiles
drwxr-xr-x 7 jeff.sandberg staff 238 Aug 22 12:55 man
drwxr-xr-x 19 jeff.sandberg staff 646 Aug 22 12:55 misc
-rwxr-xr-x 1 jeff.sandberg staff 6873 Aug 22 12:59 missing
-rw-r--r-- 1 jeff.sandberg staff 1728 Aug 22 12:55 mk_mingw.mak
-rw-r--r-- 1 jeff.sandberg staff 2443 Aug 22 12:55 mk_mvc.mak
drwxr-xr-x 11 jeff.sandberg staff 374 Aug 22 12:55 old-docs
drwxr-xr-x 18 jeff.sandberg staff 612 Aug 22 12:55 optlib
drwxr-xr-x 89 jeff.sandberg staff 3026 Aug 22 12:55 parsers
drwxr-xr-x 5 jeff.sandberg staff 170 Aug 22 12:55 read
-rw-r--r-- 1 jeff.sandberg staff 5883 Aug 22 12:55 source.mak
drwxr-xr-x 9 jeff.sandberg staff 306 Aug 22 12:55 win32
$ ls -l /Users/$USER/Library/Caches/Homebrew/universal-ctags--git/install-sh
-rwxr-xr-x 1 jeff.sandberg staff 14676 Aug 22 12:59 /Users/jeff.sandberg/Library/Caches/Homebrew/universal-ctags--git/install-sh
@masatake I checked debug mode and homebrew was cloned at this path. So this path is correct.
I'm not very good system programming on MacOS X. But I'll look into it.
debug mode command
brew install --HEAD --verbose universal-ctags/universal-ctags/universal-ctags
operation log
https://gist.github.com/KazuakiM/fe62b0d4106b80a391d15a701ff88984
O.k.
@paradox460, could you run
brew install --HEAD --verbose universal-ctags/universal-ctags/universal-ctags
, and put the output to your gist as @KazuakiM did?
I would like to compare the both output.
Sorry, I close this mistakenly.
install.sh may be generated by autoreconf, which is run by autogen.sh.
In the change https://github.com/universal-ctags/ctags/pull/1534, I turned on trace-mode of autogen.sh.
I would like to see the output of "brew install --HEAD universal-ctags/universal-ctags/universal-ctags" from scratch.
I would like to compare the output of the command line run on @KazuakiM's environment and @paradox460's environment.
I hope we can see something difference in the comparison.
The 2nd Running gen-repoinfo script fails though the first running succeeds. I wonder why. Running gen-repoinfo multiple times is expected behavior as the @KazuakiM's log shows.
I have to add codes for debug printing to Makefile.am. @KazuakiM, it is possible to refer another branch of universal-ctags/ctags from universal-ctags.rb?
I would like you to create a branch named "gen-repoinfo-debug" at your side, "universal-ctags/homebrew-universal-ctags". I will create a branch named "homebrew-debug" at my side, "universal-ctags/ctags". I will modify Makefile.am in "homebrew-debug" branch for debugging. universal-ctags.rb of "gen-repoinfo-debug" branch of "universal-ctags/homebrew-universal-ctags" should refer "homebrew-debug" branch of "universal-ctags/ctags".
As a result, we can make the debugging code run on @paradox460 side.
@paradox460, we will add extra debugging code to Makefile.am. I would like you to test "gen-repoinfo-debug" branch of "universal-ctags/homebrew-universal-ctags" . @KazuakiM may tell more detail instruction in the future. Thank you for your corporation.
I made the branch "homebrew-debug" branch. See https://github.com/universal-ctags/ctags/tree/homebrew-debug.
@masatake
I could set it as homebrew-debug
branch in my fork repository.
However, I could not find the way to install it with gen-repoinfo-debug
branch.
I'd like to investigate a little more, but as a compromise plan,
There is a way to place another fomula file on the master
branch and reference the homebrew-debug
branch.
@KazuakiM , I see. This is typical remote debug session. If you need more access-right to repositories or something other, call me again. Thank you very much.
@paradox460 Try the following. And put the output to your gist?
$ cd /usr/local/
$ find ./ -name 'universal-ctags.rb'
.//Cellar/universal-ctags/HEAD-4625ceb/.brew/universal-ctags.rb
class UniversalCtags < Formula
desc "Maintained ctags implementation"
homepage "https://github.com/universal-ctags/ctags"
- head "https://github.com/universal-ctags/ctags.git"
+ head "https://github.com/universal-ctags/ctags.git", :branch => "homebrew-debug"
depends_on "autoconf" => :build
brew install --HEAD --verbose universal-ctags/universal-ctags/universal-ctags
Hey guys! I'm facing the same problem @paradox460
This is my output: https://gist.github.com/medeirosthiago/5a31d5a04fe25f5269623e6bb40c06af
I don't know if the problem is permissions 🤔
Hi, @medeirosthiago I think this warning is pip error ( https://github.com/pypa/setuptools/issues/1078 ).
warning: manifest_maker: standard file '-c' not found
So change master branch, not “homebrew-debug” . And try the following.
brew install --without-doc --HEAD universal-ctags/universal-ctags/universal-ctags
Hey @KazuakiM
Thanks, but I still wasn't able to install using master
branch.
I've updated the output: https://gist.github.com/medeirosthiago/5a31d5a04fe25f5269623e6bb40c06af
Hi @medeirosthiago
You will add --without-doc
options.
Hi @KazuakiM
I tried again using --without-doc
and this is the output: https://gist.github.com/medeirosthiago/5a31d5a04fe25f5269623e6bb40c06af
Hi @medeirosthiago Thanks, solved one problem. Do you try it?
$ xcode-select --install
$ brew update
$ brew doctor
Nice, thanks.
Below follows my outputs.
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
$ brew update
Already up-to-date.
$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!
Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.
Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
/Users/t.medeiros/.pyenv/shims/python3.5m-config
/Users/t.medeiros/.pyenv/shims/python2-config
/Users/t.medeiros/.pyenv/shims/python2.7-config
/Users/t.medeiros/.pyenv/shims/python3.5-config
/Users/t.medeiros/.pyenv/shims/python-config
/Users/t.medeiros/.pyenv/shims/python3-config
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
ctags
@medeirosthiago, Could you tell me the output of
$ /Library/Developer/CommandLineTools/usr/bin/make --version
$ /Library/Developer/CommandLineTools/usr/bin/make -v
I would like to know more details of the execution of make. To do so, I have to know the implementation(GNU or BSD?) of make on your platform.
@KazuakiM, I would like to add something debug option to the line:
system "make", --trace-or-debug-or-verbose
The lines in the log on gist:
==> make
./misc/gen-repoinfo main/repoinfo.h
/Library/Developer/CommandLineTools/usr/bin/make all-am
make[1]: ./install-sh: Permission denied
make[1]: ./install-sh: Permission denied
make[1]: *** [parsers/.deps/.dirstamp] Error 1
This is very strange. The execution bit of ./install-sh may be set to 0. install-sh comes from automake:
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:11: installing './install-sh'
I read the place where doing "installing ..." in automake. It does:
$message = "installing '$fullfile'";
# The license file should not be volatile.
if ($file eq "COPYING")
{
$message .= " using GNU General Public License v3 file";
$trailer2 = "\n Consider adding the COPYING file"
. " to the version control system"
. "\n for your code, to avoid questions"
. " about which license your project uses";
}
# Windows Perl will hang if we try to delete a
# file that doesn't exist.
unlink ($fullfile) if -f $fullfile;
if ($symlink_exists && ! $copy_missing)
{
if (! symlink ("$libdir/$file", $fullfile)
|| ! -e $fullfile)
{
$suppress = 0;
$trailer = "; error while making link: $!";
}
}
elsif (system ('cp', "$libdir/$file", $fullfile))
It seems that automake just do cp the file from $libdir to "./install-sh." I cannot find a line doing chmod.
I can image only two possible stories.
How about adding following lines before doing 'system "make"'?
system "ls", "-l", "install.sh"
system "./install.sh"
system "make"
The first line (ls -l) is for checking the bit. The second line (./install.sh) is for checking it is really an exectuable.
Hi @masatake This is the ouput:
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-apple-darwin11.3.0
@medeirosthiago, I wonder your make support --trace option. Could you check the output of --help option like:
[jet@localhost]~/var/ctags% make --help | grep trace
--trace Print tracing information.
Hi @medeirosthiago There are some points which concern me.
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
ctags
Do you install other ctags
from homebrew?
If you don't have any problems, uninstall ctags
applications.
@masatake OK. Just a moment, please.
system "make", --trace-or-debug-or-verbose
@masatake
Add -d
options results.
https://gist.github.com/KazuakiM/d9bea5f907c20378b76e7364dbea5d53
Add ls -l && ./install.sh
results
https://gist.github.com/KazuakiM/dfc864356455331282bebbcac5575cf0
@KazuakiM, no, I don't want to know about your build environment. ctags can be built well on your environment:-)
I would like to know the information about @medeirosthiago's build environemnt.
Hey guys, sorry for my late response.
@masatake I don't have --trace
option on make
:
$ make --help
Usage: make [options] [target] ...
Options:
-b, -m Ignored for compatibility.
-B, --always-make Unconditionally make all targets.
-C DIRECTORY, --directory=DIRECTORY
Change to DIRECTORY before doing anything.
-d Print lots of debugging information.
--debug[=FLAGS] Print various types of debugging information.
-e, --environment-overrides
Environment variables override makefiles.
-f FILE, --file=FILE, --makefile=FILE
Read FILE as a makefile.
-h, --help Print this message and exit.
-i, --ignore-errors Ignore errors from commands.
-I DIRECTORY, --include-dir=DIRECTORY
Search DIRECTORY for included makefiles.
-j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.
-k, --keep-going Keep going when some targets can't be made.
-l [N], --load-average[=N], --max-load[=N]
Don't start multiple jobs unless load is below N.
-L, --check-symlink-times Use the latest mtime between symlinks and target.
-n, --just-print, --dry-run, --recon
Don't actually run any commands; just print them.
-o FILE, --old-file=FILE, --assume-old=FILE
Consider FILE to be very old and don't remake it.
-p, --print-data-base Print make's internal database.
-q, --question Run no commands; exit status says if up to date.
-r, --no-builtin-rules Disable the built-in implicit rules.
-R, --no-builtin-variables Disable the built-in variable settings.
-s, --silent, --quiet Don't echo commands.
-S, --no-keep-going, --stop
Turns off -k.
-t, --touch Touch targets instead of remaking them.
-v, --version Print the version number of make and exit.
-w, --print-directory Print the current directory.
--no-print-directory Turn off -w, even if it was turned on implicitly.
-W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
Consider FILE to be infinitely new.
--warn-undefined-variables Warn when an undefined variable is referenced.
-N OPTION, --NeXT-option=OPTION
Turn on value of NeXT OPTION.
This program built for i386-apple-darwin11.3.0
Report bugs to <bug-make@gnu.org>
$ make --help | grep trace
$
@KazuakiM I removed my old ctags
version. This is my new output: https://gist.github.com/medeirosthiago/5a31d5a04fe25f5269623e6bb40c06af
What kind of information do you guys need from me?
@medeirosthiago Debug preparation is ready. Do you try it?
$ brew update
$ cd /usr/local/Homebrew/Library/Taps/universal-ctags/homebrew-universal-ctags/
-- check directory $ ls -l total 72 -rw-r--r-- 1 kazuakim admin 240B 7 4 2017 .editorconfig drwxr-xr-x 16 kazuakim admin 512B 9 11 12:48 .git -rw-r--r-- 1 kazuakim admin 550B 6 25 13:44 .travis.yml -rw-r--r-- 1 kazuakim admin 18K 10 16 2017 COPYING -rw-r--r-- 1 kazuakim admin 1.2K 4 18 10:10 README.md -rw-r--r-- 1 kazuakim admin 2.2K 6 25 13:44 universal-ctags.rb
3. Edit git config
$ git config --edit
Modify fetch target.
```diff
[remote "origin"]
- fetch = +refs/heads/master:refs/remotes/origin/master
+ fetch = +refs/heads/*:refs/remotes/origin/*
$ git fetch
-- I think add "for-debugging-issue-23-strange-install-sh" baranch
$ git checkout -b for-debugging-issue-23-strange-install-sh origin/for-debugging-issue-23-strange-install-sh
5. Install
$ brew install --HEAD --verbose universal-ctags/universal-ctags/universal-ctags
Hi @KazuakiM
I did all the steps, this is the output: https://gist.github.com/medeirosthiago/5a31d5a04fe25f5269623e6bb40c06af
==> Checking out branch master
git checkout -f master --
@KazuakiM, is this o.k.? It seems that the code in master branch is built.
@medeirosthiago
Is 4 Git operation
no problem? And check branch.
I recorded a asciinema so you can check what I did: https://asciinema.org/a/ej7KRdR5pNsgpO0Z5DGCr7mJy
It seems that I misunderstood the output.
==> Checking out branch master
git checkout -f master --
This may be o.k. This checkout is for ctags repository, not for homebrew-universal-ctags.
@medeirosthiago, could you try the step 4.5 that is placed between the step 4 and the step 5.
4.5
$ cat /usr/local/Homebrew/Library/Taps/universal-ctags/homebrew-universal-ctags/universal-ctags.rb
@masatake the cat is here: https://gist.github.com/medeirosthiago/8a13896f91e87ecff264a74a7e7ee222
Thank you. I have looked into the output. You checked out the branch for debugging well. Though "ls" is included in the output, I cannot find its execution in the video. At 01:19, "make" is run just after "configure". I wonder why. I have no idea to debug this item.
Obviously "install.sh" is wrong. But I have no way to prove it.
@medeirosthiago
I have no idea too. So sorry.
You can try brew cleanup
and reboot.
I don't know about homebrew, but how about passing the --keep-tmp
option to brew install
and check what happens?
It might beuseful to check the contents of config.log
and the permissions of install-sh
.
@KazuakiM don't worry... I will try to install it manually, thanks for your help! 😄
TL;DR
this is how i got ctags installed
wow this never got resolved, totally running into this issue this afternoon.
the only way i could install was to drop into a interactive prompt for installing the formula
brew install --HEAD --verbose --interactive universal-ctags/universal-ctags/universal-ctags
then pop open the formula file universal-ctags.rb
take a look the install steps
system "./autogen.sh
system "./configure", "--prefix=#{prefix}", *
system "make", "install"
the autogen.sh, and configure step run fine if i set the prefix for the installation to something like --prefix=$HOME/beta
and then the make
command completes, and the make install
command completes without any issues, the two binaries are created within their respected directories, and several directories are created for holding / containing man pages related to ctags.
when i tried to run make install
from the interactive session to any other directory other than my $HOME
directory the installation fails.
tapped / untapped the formula several times,
running,
brew install --verbose
then popping open the config.log
and scrolling up one can see the process fails due to permission issues.
heey @ipatch ! It's been a long time 🙈 Thank you so much for your help 👌 ! With this workaround I was able to install it successfully 🙌 🎉 .
awesome, glad someone found it useful, for whatever reason (unknown to me) the make install
portion for universal ctags fails when running it through the brew install
command. 🤷♂️
my ruby chops are a bit dated at this point, and navigating through the brew src to figure out why the install script is failing due to permission issues is out of my wheel house, so i guess i'll settle for this workaround for the time being until somebody with the proper know how can come up with a more fitting solution.
cheers 🍩
Attempting to run
brew install --HEAD universal-ctags/universal-ctags/universal-ctags
on OS X 10.11.6 results in an error 2 from Make.I've pasted the error.log below:
Interestingly enough,
cd
ing into the homebrew cache directory, runningmake clean
and then running the appropriate build commands compiles fine, at which point I canbrew link universal-ctags
and have it function normally.