I’m seeing the same thing. Just tried to compile TextMate under Xcode 13.1, on macOS 12.0.1, and got the exact same error.
Allan have you bumped into this yourself yet?
Thanks,
Kevin
I just upgraded to 2.0.17 and now any bundle that uses pre-compiled binaries in Bundle Support bundle fails to load due to the incompatible architectures:
> /Users/christos/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': dlopen(/Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle, 9): no suitable image found. Did find: (LoadError)
> /Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle: no matching architecture in universal wrapper
> /Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle: no matching architecture in universal wrapper - /Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle
> from /Users/christos/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
> from /Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/textmate.rb:4:in `<top (required)>'
> from /Users/christos/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
> from /Users/christos/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
> from /Users/christos/Library/Application Support/TextMate/Bundles/Linter.tmbundle/Support/lib/linter.rb:1:in `<top (required)>'
> from /Users/christos/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
> from /Users/christos/.rbenv/versions/2.7.2/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
> from Lint/Strip/Ensure on Save:2:in `<main>'
I checked and the builds don't contain arm_64 architectures:
> [~]> file "/Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle"
> /Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle: Mach-O universal binary with 3 architectures: [ppc_7400:Mach-O bundle ppc_7400] [i386:Mach-O bundle i386] [x86_64:Mach-O 64-bit bundle x86_64]
> /Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle (for architecture ppc7400): Mach-O bundle ppc_7400
> /Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle (for architecture i386): Mach-O bundle i386
> /Users/christos/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/lib/osx/plist.bundle (for architecture x86_64): Mach-O 64-bit bundle x86_64
I can't even find the source for those binaries to try and build them. Any ideas?
Hi,
After many grateful years with Textmate on my Macs, I also installed it on my new MBP with M1 CPU, running Monterey. Everything seems to run smooth until I hit cmd+/ to toggle/comment a region ;-)
What I think I’ve learned is that:
1. Monterey doesn’t ship a 1.8 ruby version anymore (at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby where the bundle-support bundle’s ruby18 shim looks for it).
2. The “downloaded” 1.8.7 version (from https://archive.textmate.org/ruby/ruby_1.8.7.tbz at ~/Library/Application\ Support/TextMate/Ruby/1.8.7/bin/ruby isn’t compatible with the M1 arch).
So the error is pretty “correct” :
/Users/.../Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/bin/ruby18: line 43: /Users/.../Library/Application Support/TextMate/Ruby/1.8.7/bin/ruby: Bad CPU type in executable
/Users/.../Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/bin/ruby18: line 43: /Users/.../Library/Application Support/TextMate/Ruby/1.8.7/bin/ruby: Undefined error: 0
To get around it (for now) I first tried to install a 1.8 version of ruby using rbenv, which didn’t succeed - quick guess it isn’t supported in any way anymore ?! ;-)
So I resorted to adding a prefix to the $PATH variable pointing to ~/bin and adding a small shell script there pointing to a 2.x version
% cat ~/bin/ruby18
#!/bin/bash
RBENV_VERSION=2.7.4 ruby "$@“
So that “resolved” my urgent need ;-) Once I get into areas/bundles with ruby18 code that doesn’t play nice with ruby 2.x (IANARubyKnowledgeablePersonSorry) I’ll probably bump into a new set of issues - fingers crossed for my limited Bundle needs ;-)
Is there anything I can look into to help out here? Or have I simply missed the obviously better approach to solve this?
Thanks and regards,
Christophe
How do I get GitHub flavored Markdown working? I installed the bundle but when I try to preview I see:
Please install the Redcarpet and Pygments.rb RubyGems by running the following:
/usr/bin/gem install --user redcarpet pygments.rb
I did that, but it's not helping. Note that my ruby is installed with rbenv, and TextMate is pointed to it. My gems are installed using rbenv-gemset. For example, if I install redcarpet without saying `--user`, it goes into
/Users/mattmobile/.rbenv/versions/2.6.3/gemsets/rubyfrontier/gems/redcarpet-3.5.1/lib/redcarpet.rb
Thanks - m.
--
matt neuburg, phd = http://www.apeth.net/matt/
pantes anthropoi tou eidenai oregontai phusei
Programming iOS 14! https://www.oreilly.com/library/view/programming-ios-14/9781492092162/
iOS 14 Fundamentals! https://www.oreilly.com/library/view/ios-14-programming/9781492092087/
RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html
If I modify the configuration script to enable debug mode [1] and run the script with a relative build directory:
mkdir build
builddir=build ./configure
ninja TextMate
The build fails with an assertion:
2021-11-06 09:34:58.256923+0100 bl[34313:190611] ------------------------------------------------------------
ASSERTION FAILURE: b[0] == '/'
‘build/debug/_CreateBundlesArchive/Applications/TextMate/resources/Managed/Bundles/Apache.tmbundle’ - ‘build/debug/_CreateBundlesArchive/Applications/TextMate/resources/Managed’
------------------------------------------------------------
path::relative_to(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in bl) (path.cc:0)
bundles_db::save_index(std::__1::vector<std::__1::shared_ptr<bundles_db::bundle_t>, std::__1::allocator<std::__1::shared_ptr<bundles_db::bundle_t> > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) (in bl) (updater.cc:420)
__main_block_invoke.30 (in bl) (bl.cc:269)
__wrap_dispatch_async_block_invoke (in libclang_rt.asan_osx_dynamic.dylib) + 203
_dispatch_call_block_and_release (in libdispatch.dylib) + 12
_dispatch_client_callout (in libdispatch.dylib) + 8
_dispatch_lane_serial_drain (in libdispatch.dylib) + 606
_dispatch_lane_invoke (in libdispatch.dylib) + 417
_dispatch_queue_override_invoke (in libdispatch.dylib) + 425
_dispatch_root_queue_drain (in libdispatch.dylib) + 326
_dispatch_worker_thread2 (in libdispatch.dylib) + 92
_pthread_wqthread (in libsystem_pthread.dylib) + 244
start_wqthread (in libsystem_pthread.dylib) + 15
Process 34313 exited with status = 1 (0x00000001)
(lldb) q
I release mode the build completes, I assume because assertions are disabled. If I run the configuration script in debug mode with a full build path the build completes as well:
builddir=$(pwd)/build ./configure
[1] https://github.com/textmate/textmate/blob/346b52b108b387462d4b3def481fb7498…
--
/Jacob Carlborg
I’ve been right clicking text on OS 12 and choose the language I want it translated into, instead of going to Google translate. But this is only available on Apple apps like Pages, it seems, and not on other applications like TextMate, MacVim, or Atom. Will it be possible to have it work on TextMate?
—Gildas