I have been using TM for quite a while, and one of my most-used features is the PHP syntax validation. Immediately after the latest update (to 1.5.5 (1368)) this stopped working. Instead, I see the following lines in place of the error / success readout:
dyld: ruby Undefined symbols: _rb_attr_get _rb_attr_get _rb_ll2num _rb_num2ll _rb_string_value
I have tried updating Ruby to 1.8.6, and downgrading it to 1.8.4. I have deleted and downloaded a new copy of TM. Nothing helps. I am on 10.3.9 + all patches.
Has anyone else seen anything like this?
Thanks,
Walter
On 17. Mar 2007, at 06:29, Walter Lee Davis wrote:
I have been using TM for quite a while, and one of my most-used features is the PHP syntax validation. Immediately after the latest update (to 1.5.5 (1368)) this stopped working. Instead, I see the following lines in place of the error / success readout:
dyld: ruby Undefined symbols: _rb_attr_get _rb_attr_get _rb_ll2num _rb_num2ll _rb_string_value
I have tried updating Ruby to 1.8.6, and downgrading it to 1.8.4. I have deleted and downloaded a new copy of TM. Nothing helps. I am on 10.3.9 + all patches.
Has anyone else seen anything like this?
I am 99% sure this is a problem with your ruby binary. The update to PHP’s Validate Syntax was, that it was made to use Ruby.
As for having tried to update your ruby, 1) ensure that your ruby actually works, e.g. by doing ‘ruby -v’ in the Terminal, 2) ensure that TM actually runs your updated ruby see http://macromates.com/ textmate/manual/shell_commands#search_path -- the Validate Syntax uses shebang, so you don’t want to miss the paragraph marked Important near the bottom.
On Mar 17, 2007, at 11:44 AM, Allan Odgaard wrote:
On 17. Mar 2007, at 06:29, Walter Lee Davis wrote:
I have been using TM for quite a while, and one of my most-used features is the PHP syntax validation. Immediately after the latest update (to 1.5.5 (1368)) this stopped working. Instead, I see the following lines in place of the error / success readout:
dyld: ruby Undefined symbols: _rb_attr_get _rb_attr_get _rb_ll2num _rb_num2ll _rb_string_value
I have tried updating Ruby to 1.8.6, and downgrading it to 1.8.4. I have deleted and downloaded a new copy of TM. Nothing helps. I am on 10.3.9 + all patches.
Has anyone else seen anything like this?
I am 99% sure this is a problem with your ruby binary. The update to PHP’s Validate Syntax was, that it was made to use Ruby.
As for having tried to update your ruby, 1) ensure that your ruby actually works, e.g. by doing ‘ruby -v’ in the Terminal, 2) ensure that TM actually runs your updated ruby see http://macromates.com/textmate/manual/shell_commands#search_path -- the Validate Syntax uses shebang, so you don’t want to miss the paragraph marked Important near the bottom.
I read through the important part twice, and I don't see how it applies here. The ruby is working:
Last login: Sat Mar 17 01:15:57 on console Welcome to Darwin! gray:~ waltd$ ruby -v ruby 1.8.4 (2005-12-24) [powerpc-darwin7.9.0] gray:~ waltd$ which ruby /usr/local/bin/ruby gray:~ waltd$ echo $PATH /usr/local/bin:/usr/local/sbin:/usr/local/mysql:/usr/local/mysql/bin:/ usr/local:/usr/local/php5:/usr/local/php5/bin:/bin:/sbin:/usr/bin:/usr/ sbin gray:~ waltd$
Is there something I should adjust in my path, or in the PHP Bundle?
Walter
On Mar 17, 2007, at 12:19 PM, Walter Lee Davis wrote:
I read through the important part twice, and I don't see how it applies here. The ruby is working:
Last login: Sat Mar 17 01:15:57 on console Welcome to Darwin! gray:~ waltd$ ruby -v ruby 1.8.4 (2005-12-24) [powerpc-darwin7.9.0] gray:~ waltd$ which ruby /usr/local/bin/ruby gray:~ waltd$ echo $PATH /usr/local/bin:/usr/local/sbin:/usr/local/mysql:/usr/local/mysql/bin:/ usr/local:/usr/local/php5:/usr/local/php5/bin:/bin:/sbin:/usr/bin:/ usr/sbin gray:~ waltd$
Is there something I should adjust in my path, or in the PHP Bundle?
I opened the Bundle Editor, changed the shebang line to /usr/local/bin/ruby, and the validator started working. But I am thinking this is a fragile change, and will break on the next update.
Walter
* Walter Lee Davis waltd@wdstudio.com [2007-03-17 10:19]:
gray:~ waltd$ echo $PATH /usr/local/bin:/usr/local/sbin:/usr/local/mysql:/usr/local/mysql/bin:/ usr/local:/usr/local/php5:/usr/local/php5/bin:/bin:/sbin:/usr/bin:/usr/ sbin
Unfortunately, this isn't the path used by TextMate when it runs commands with shebang lines.
Type puts ENV["PATH"] in a TextMate window and then hit ⌃⇧E (Execute Line as Ruby). You should get a line like /usr/bin:/bin:/usr/sbin:/sbin
If you run ⌃⇧E again with puts VERSION you'll probably get 1.8.2, the default OS X Ruby version.
The easiest way to fix this is to go to Preferences → Advanced → Shell Variables and add TM_RUBY with a value of /usr/local/bin/ruby.
The more thorough way is to edit .MacOSX/environment.plist as outlined in the "important" section of the shell commands page.
Excellent! This is where I was looking to fix this -- somewhere that is not going to break each time I update.
Water
On Mar 17, 2007, at 5:03 PM, Grant Hollingworth wrote:
The easiest way to fix this is to go to Preferences → Advanced → Shell Variables and add TM_RUBY with a value of /usr/local/bin/ruby.
Excellent! This is where I was looking to fix this -- somewhere that is not going to break each time I update.
For what it's worth, editing the """.MacOSX/environment.plist as outlined in the "important" section of the shell commands page""" shouldn't break each time you update, either ...
-steve
The thing is, I don't have said plist, in my home, and didn't feel much like creating it from scratch for this one thing. Maybe this is a 10.4 thing. I can't update this machine because I need to have Panther for one other app.
Walter
On Mar 17, 2007, at 5:47 PM, Steve Lianoglou wrote:
Excellent! This is where I was looking to fix this -- somewhere that is not going to break each time I update.
For what it's worth, editing the """.MacOSX/environment.plist as outlined in the "important" section of the shell commands page""" shouldn't break each time you update, either ...
-steve
For new threads USE THIS: textmate@lists.macromates.com (threading gets destroyed and the universe will collapse if you don't) http://lists.macromates.com/mailman/listinfo/textmate