Homebrew-core: MacVim 8.0-137_1 bottle is not compiled with Ruby support

Created on 25 Sep 2017  ·  18Comments  ·  Source: Homebrew/homebrew-core

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

Please always follow these steps:

  • [x] Confirmed this is a problem with brew installing one, specific Homebrew/homebrew-core formula (not cask or tap) and not every time you run brew? If it's a general brew problem please file this issue at https://github.com/Homebrew/brew/issues/new. If it's a brew cask problem please file this issue at https://github.com/Homebrew/caskroom/homebrew-cask/new. If it's a tap (e.g. Homebrew/homebrew-php) problem please file this issue at the tap.
  • [x] Ran brew update and retried your prior step?
  • [x] Ran brew doctor, fixed all issues and retried your prior step?
  • [x] Ran brew gist-logs <formula> (where <formula> is the name of the formula that failed) and included the output link?
  • [x] If brew gist-logs didn't work: ran brew config and brew doctor and included their output with your issue?

To help us debug your issue please explain:

  • What you were trying to do (and why)

Use a MacVim extension that requires Ruby support.

  • What happened (include command output)

Ruby support is not enabled in the macvim 8.0-137_1 formula (I tested the bottle and compiling from source).

Logs: https://gist.github.com/0821be4f715845e21ad47d7df09ebd3d

$ mvim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 25 2017 15:14:56)
MacOS X (unix) version
Included patches: 1-1098
Compiled by Homebrew
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl             +find_in_path    -mouse_sysmouse  -tag_any_white
+arabic          +float           +mouse_urxvt     +tcl
+autocmd         +folding         +mouse_xterm     +termguicolors
+balloon_eval    -footer          +multi_byte      +terminal
+browse          +fork()          +multi_lang      +terminfo
++builtin_terms  +fullscreen      -mzscheme        +termresponse
+byte_offset     -gettext         +netbeans_intg   +textobjects
+channel         -hangul_input    +num64           +timers
+cindent         +iconv           +odbeditor       +title
+clientserver    +insert_expand   +packages        +toolbar
+clipboard       +job             +path_extra      +transparency
+cmdline_compl   +jumplist        +perl            +user_commands
+cmdline_hist    +keymap          +persistent_undo +vertsplit
+cmdline_info    +lambda          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con_gui  -lua             +rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
+dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     +xim
+emacs_tags      +mouseshape      +startuptime     -xpm
+eval            +mouse_dec       +statusline      -xsmp
+ex_extra        -mouse_gpm       -sun_workshop    -xterm_clipboard
+extra_search    -mouse_jsbterm   +syntax          -xterm_save
+farsi           +mouse_netterm   +tag_binary
+file_in_path    +mouse_sgr       +tag_old_static
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X_UNIX  -F/usr/local/opt/python/Frameworks -I/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/include/python2.7 -fno-strict-aliasing -fno-common -dynamic -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang   -F/usr/local/opt/python/Frameworks -L/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config -lpython2.7 -framework CoreFoundation -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon       -lm  -lncurses -liconv -framework Cocoa   -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -lperl -F/usr/local/opt/python/Frameworks -framework Python  -F/System/Library/Frameworks -framework Tcl -framework CoreFoundation
  • What you expected to happen

Ruby support should be enabled, and was enabled in the previous 8.0-137 bottle version. I suspect this is caused by the update to Xcode 9. as the logs show this configure output:

checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
checking Ruby version... OK
checking Ruby rbconfig... RbConfig
checking Ruby header files... not found; disabling Ruby
  • Step-by-step reproduction instructions (by running brew install commands)

    • brew install macvim
    • mvim version and note -ruby in the output.
    • brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/066048cf07e3c50564bbe8e0d266a725b9e0c5d6/Formula/macvim.rb (the previous bottled version)
    • mvim version and note +ruby in the output.

Formula additions or changes

To get formulae added or changed in Homebrew please file a Pull Request
We will close issues requesting formulae changes.

Most helpful comment

The StripNIB English.lproj/FindAndReplace.nib error is what threw me too, but it turns out it's unrelated to ruby being a part of the build. StripNib is an XCode tool: since it's a GUI app, you need the full XCode to compile, not just the command line tools. Open XCode, it'll prompt you to install some "remaining packages", whatever those are, and then you should be able to compile MacVim.

All 18 comments

The High Sierra bottle has +ruby for me, which is weird:

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 25 2017 10:17:09)
MacOS X (unix) version
Included patches: 1-1098
Compiled by Homebrew
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl             +find_in_path    -mouse_sysmouse  -tag_any_white
+arabic          +float           +mouse_urxvt     +tcl
+autocmd         +folding         +mouse_xterm     +termguicolors
+balloon_eval    -footer          +multi_byte      +terminal
+browse          +fork()          +multi_lang      +terminfo
++builtin_terms  +fullscreen      -mzscheme        +termresponse
+byte_offset     -gettext         +netbeans_intg   +textobjects
+channel         -hangul_input    +num64           +timers
+cindent         +iconv           +odbeditor       +title
+clientserver    +insert_expand   +packages        +toolbar
+clipboard       +job             +path_extra      +transparency
+cmdline_compl   +jumplist        +perl            +user_commands
+cmdline_hist    +keymap          +persistent_undo +vertsplit
+cmdline_info    +lambda          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con_gui  -lua             +rightleft       +windows
+diff            +menu            +ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
+dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     +xim
+emacs_tags      +mouseshape      +startuptime     -xpm
+eval            +mouse_dec       +statusline      -xsmp
+ex_extra        -mouse_gpm       -sun_workshop    -xterm_clipboard
+extra_search    -mouse_jsbterm   +syntax          -xterm_save
+farsi           +mouse_netterm   +tag_binary
+file_in_path    +mouse_sgr       +tag_old_static

And from source:

checking --enable-rubyinterp argument... yes
checking --with-ruby-command argument... defaulting to ruby
checking for ruby... /usr/bin/ruby
checking Ruby version... OK
checking Ruby rbconfig... RbConfig
checking Ruby header files... /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

@DomT4 how about the 10.12 bottle?

It fails to build on 10.12
Will anyone help with this?

==> Upgrading 1 outdated package, with result:
macvim 8.0-137_1
==> Upgrading macvim --with-override-system-vim --with-lua
==> Downloading https://github.com/macvim-dev/macvim/archive/snapshot-137.tar.gz
Already downloaded: /Users/LvLng/Library/Caches/Homebrew/macvim-8.0-137.tar.gz
==> ./configure --with-features=huge --enable-multibyte --with-macarchs=x86_64 --enable-perlinterp --enable-rubyinterp --enable-tclinterp --enable-terminal --with-tlib=ncurses --with-co
==> make
Last 15 lines from /Users/LvLng/Library/Logs/Homebrew/macvim/02.make:
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -strip-debug-symbols -strip-tool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -resolve-src-symlinks /tmp/macvim-20170926-35008-nshcs2/macvim-snapshot-137/src/MacVim/icons/MacVim.icns /tmp/macvim-20170926-35008-nshcs2/macvim-snapshot-137/src/MacVim/build/Release/MacVim.app/Contents/Resources

StripNIB English.lproj/FindAndReplace.nib
    cd /tmp/macvim-20170926-35008-nshcs2/macvim-snapshot-137/src/MacVim
    export XCODE_DEVELOPER_USR_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin/..
    /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool --strip /tmp/macvim-20170926-35008-nshcs2/macvim-snapshot-137/src/MacVim/build/Release/MacVim.app/Contents/Resources/English.lproj/FindAndReplace.nib --output-format human-readable-text /tmp/macvim-20170926-35008-nshcs2/macvim-snapshot-137/src/MacVim/English.lproj/FindAndReplace.nib

** BUILD FAILED **


The following build commands failed:
    StripNIB English.lproj/Preferences.nib
(1 failure)
make[1]: *** [macvim] Error 65
make: *** [first] Error 2

I managed to fix a similar error (could be the same?).

Here's my output when upgrading macvim:

Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (caskroom/versions, caskroom/cask).
No changes to formulae.

==> Upgrading 1 outdated package, with result:
macvim 8.0-137_1
==> Upgrading macvim --with-override-system-vim
==> Downloading https://github.com/macvim-dev/macvim/archive/snapshot-137.tar.gz
==> Downloading from https://codeload.github.com/macvim-dev/macvim/tar.gz/snapshot-137
######################################################################## 100.0%
==> ./configure --with-features=huge --enable-multibyte --with-macarchs=x86_64 --enable-perlinterp --enable-rubyinterp --enable-tclinterp -
==> make
Last 15 lines from /Users/exodus/Library/Logs/Homebrew/macvim/02.make:
    15  ibtoold                             0x000000010b6695a9 ibtoold + 71081
    16  ibtoold                             0x000000010b668724 ibtoold + 67364
    17  libdyld.dylib                       0x00007fff679ef145 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Command /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool failed with exit code 6

** BUILD FAILED **


The following build commands failed:
    StripNIB English.lproj/FindAndReplace.nib
(1 failure)
make[1]: *** [macvim] Error 65
make: *** [first] Error 2

READ THIS: https://docs.brew.sh/Troubleshooting.html

These open issues may also help:
MacVim 8.0-137_1 bottle is not compiled with Ruby support https://github.com/Homebrew/homebrew-core/issues/18533

I then ran all the mentioned troubleshooting, brew doctor, etc. And then ran Xcode which notified me that there were additional things to install. After that it did manage to install.

==> Upgrading 1 outdated package, with result: macvim 8.0-137_1 ==> Upgrading macvim --with-override-system-vim ==> Downloading https://github.com/macvim-dev/macvim/archive/snapshot-137.tar.gz Already downloaded: /Users/exodus/Library/Caches/Homebrew/macvim-8.0-137.tar.gz ==> ./configure --with-features=huge --enable-multibyte --with-macarchs=x86_64 --enable-perlinterp --enable-rubyinterp --enable-tclinterp - ==> make 🍺 /usr/local/Cellar/macvim/8.0-137_1: 2,142 files, 34.0MB, built in 1 minute 26 seconds

The StripNIB English.lproj/FindAndReplace.nib error is what threw me too, but it turns out it's unrelated to ruby being a part of the build. StripNib is an XCode tool: since it's a GUI app, you need the full XCode to compile, not just the command line tools. Open XCode, it'll prompt you to install some "remaining packages", whatever those are, and then you should be able to compile MacVim.

==> Upgrading macvim --with-override-system-vim
==> Downloading https://github.com/macvim-dev/macvim/archive/snapshot-137.tar.gz
Already downloaded: /Users/zhaokaijin/Library/Caches/Homebrew/macvim-8.0-137.tar.gz
==> ./configure --with-features=huge --enable-multibyte --with-macarchs=x86_64 --enable-perlinterp --enable-rubyinterp -
==> make
Last 15 lines from /Users/zhaokaijin/Library/Logs/Homebrew/macvim/02.make:

CopyPNGFile build/Release/MacVim.app/Contents/Resources/Help.png Toolbar/Help.png
    cd /tmp/macvim-20170926-15535-rqj6cl/macvim-snapshot-137/src/MacVim
    export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    export TOOLCHAINS=
    /Applications/Xcode.app/Contents/Developer/usr/bin/copypng /tmp/macvim-20170926-15535-rqj6cl/macvim-snapshot-137/src/MacVim/Toolbar/Help.png /tmp/macvim-20170926-15535-rqj6cl/macvim-snapshot-137/src/MacVim/build/Release/MacVim.app/Contents/Resources/Help.png

** BUILD FAILED **


The following build commands failed:
    StripNIB English.lproj/Preferences.nib
(1 failure)
make[1]: *** [macvim] Error 65
make: *** [first] Error 2

READ THIS: https://docs.brew.sh/Troubleshooting.html

These open issues may also help:
MacVim 8.0-137_1 bottle is not compiled with Ruby support https://github.com/Homebrew/homebrew-core/issues/18533

@titanous this is now fixed if you brew update

@DomT4 how about the 10.12 bottle?

Apologies, I went to bed about five minutes before your reply :sweat_smile:.

We've talked about this before. You know that isn't allowed.

To be fair I barely managed to actually sleep, so I may have well had got out of bed to reply to you. Next time :smile:.

Unfortunately this is still happening to me. Logs:
https://gist.github.com/anonymous/da26884166e3556d62dd7ab909725c3b

Here's the relevant part:

checking Ruby header files... not found; disabling Ruby

Let me know if I should file a new bug or if I can do anything to help.

@s4y you need to install the CLT.

@ilovezfs Oh… ew. But thanks. Xcode 9 + Sierra issue? I guess it makes sense if the 10.13 SDK only comes with Ruby 2.3 headers.

10.13, Xcode 9, no CLT:

$ ruby -r mkmf -e 'print $hdrdir + "\n"'
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/include/ruby-2.3.0

10.12.6, Xcode 9, no CLT:

$ ruby -r mkmf -e 'print $hdrdir + "\n"'
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/include/ruby.h

10.12.6, Xcode 9, with CLT:

$ ruby -r mkmf -e 'print $hdrdir + "\n"'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/include/ruby-2.0.0

…in that case, should brew doctor and/or formulae warn about 10.12 + Xcode 9 - CLT?

@s4y no.

Not sure if this helps but I ran into this issue on macOS 10.13 and seeing what @s4y is seeing with using old ruby 2.0.0 framework headers. I was a little miffed, realized I needed to still install components from Xcode. After doing that I still saw the same issue.

So I ended up removing macvim all together, telling my ruby version manager (rbenv) to use the system ruby (was using 2.4.2 by default), and re-installing macvim after that. This appeared to fix my issue.

So where I was able to resolve it for me is:

  • macOS 10.13
  • Xcode 9.x
  • Installed components via Xcode (command line tools)
  • Removed all version of macvim brew uninstall --force macvim
  • Ensure ruby version was the system version. For me with rbenv that was rbenv local system
  • Then re-install macvim via brew

Actually, that fixed the override system vim but not macvim itself. I still see issues with the wrong framework trying to be used. Sorry for the spam.

$ mvim --version
dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim
  Reason: image not found
Abort trap: 6
Was this page helpful?
0 / 5 - 0 ratings

Related issues

BluePawDev picture BluePawDev  ·  3Comments

tejasmanohar picture tejasmanohar  ·  3Comments

kiendang picture kiendang  ·  3Comments

ghost picture ghost  ·  3Comments

ralexx picture ralexx  ·  4Comments