Fix the Erlang observer on OSX with dark-mode - erlang

For some reason the Erlang Observer does not work well with Mac OS dark mode. The background colour of the pane and the text is quite similar and so its hard to read at times.
How do I get Observer to work with Mac OS dark mode?

The issue appears to have something to do with the version of wxmac which you might be running. Updating your version of wxmac and then reinstalling Erlang appears to solve the problem.
Here's a link to a gist which will show what my wxmac formula looks like: https://gist.github.com/douglasgreyling/92c673316c0a69a7d67fb5547fd81314
All I did was:
Update the url to: https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.5/wxWidgets-3.1.5.tar.bz2
Update the sha256 to: d7b3666de33aa5c10ea41bb9405c40326e1aeb74ee725bb88f90f1d50270a224
Remove --enable-webkit from the install args
Add --enable-compat28 to the install args
After that I ran brew reinstall --build-from-source wxmac
Once that was done I had to reinstall Erlang.
I had asdf installed so all I had to do was:
asdf plugin remove erlang
asdf plugin-add erlang
asdf install erlang latest
If you have Elixir installed then you can run iex, and then run :observer.start() and then you should be greeted with Observer which looks like it should:
If you don't already have asdf installed then you can install it by:
homebrew install asdf
Update your ~/.zshrc to include . $HOME/.asdf/asdf.sh
Then you can install Erlang/Elixir:
asdf plugin-add erlang
asdf plugin-add elixir
asdf install erlang latest
asdf install elixir latest
You can also use a specific version of Erlang/Elixir. I was using Erlang 24.0 and Elixir 1.11.4.
You'll then need to set your version of Erlang/Elixir to use locally/globally.
asdf global erlang latest
asdf global elixir latest
After that you can test things by running iex and then :observer.start()

Doing:
brew reinstall --build-from-source wxmac
is just enough. No need to un/reinstall anything else, nor editing any files.
Working for brew-installed elixir with erlang dependency.

Related

Error running '__rvm_make -j10' while installing ruby 2.6.5 on mac

I am trying to install the ruby 2.6.5 on mac having m1 pro chip but it's giving error of "__rvm_make -j10".
I tried to google but won't find error with "__rvm_make -j10". there is one question with the same error on stackoverflow and i tried the same method but it won't worked too.
i tried "rvm install 2.6.5 --with-out-ext=fiddle"
i tried with open ssl 1.0 too, but not any one worked.
sammalik#Sams-MacBook-Pro rubyporgram % rvm install 2.6.5
ruby-2.6.5 - #removing src/ruby-2.6.5 - please wait
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/13.0/arm64/ruby-2.6.5.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Updating certificates bundle '/opt/homebrew/etc/openssl#1.1/cert.pem'
Requirements installation successful.
Installing Ruby from source to: /Users/sammalik/.rvm/rubies/ruby-2.6.5, this may take a while depending on your cpu(s)...
ruby-2.6.5 - #downloading ruby-2.6.5, this may take a while depending on your connection...
ruby-2.6.5 - #extracting ruby-2.6.5 to /Users/sammalik/.rvm/src/ruby-2.6.5 - please wait
ruby-2.6.5 - #configuring - please wait
ruby-2.6.5 - #post-configuration - please wait
ruby-2.6.5 - #compiling - please wait
Error running '__rvm_make -j10',
please read /Users/sammalik/.rvm/log/1668327329_ruby-2.6.5/make.log
There has been an error while running make. Halting the installation.
UPDATE: Here's an updated blog post I wrote with the possible options if you really must use Ruby 2.6.x: https://www.rubyonmac.dev/how-to-install-ruby-2-6-on-macos-13-ventura
Instead, I highly recommend updating your project to at least 2.7.7. Here's a detailed guide I wrote that shows How and Why to Upgrade the Ruby Version in Your Project
Ruby 2.6.x is no longer supported on any Mac that has version 14 or higher of Apple's command line tools, which would be the case on macOS Ventura (13.0). Assuming you have Homebrew installed, you can check which version you have by running brew config, and then look towards the bottom for the lines that starts with CLT: and Xcode:
Ruby 2.6 reached end of life in March 2022, so it should not be used in production for security reasons. A lot of people get stuck because they think they have to use the version of Ruby that's specified in the project's .ruby-version and/or Gemfile. Instead, it's recommended to update the project to a newer version.
In most cases, it would be as easy as following these steps:
Install Ruby 2.7.7
Replace "2.6.x" with "2.7.7" in .ruby-version and Gemfile, and any other file where the Ruby version is specified (except Gemfile.lock because it should never be edited manually)
Run bundle install
Update any gems if necessary
Run your tests and make sure your app still works
Now that you know the recommended approach, let's go over 2 solutions in case you have a special need to use Ruby 2.6 before you update to 2.7.7:
Install Ruby with Homebrew
Downgrade to version 13.4 of the command line tools
Install Ruby with Homebrew
Install Homebrew if you haven't already
Install Ruby 2.6.10: brew install ruby#2.6
Follow the instructions for setting your PATH. For example, Homebrew will say something like this:
By default, binaries installed by gem will be placed into:
/opt/homebrew/lib/ruby/gems/2.6.0/bin
You may want to add this to your PATH.
If you need to have ruby first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
The reason this works is because this is a pre-built version of Ruby that was compiled with version 13.3 of the command line tools. However, note that it's not officially supported.
Note that you'll need to disable RVM or any other version manager you might have used before. And you'll only be able to use 2.6.10 with this setup. You won't be able to switch to other versions that you might have installed with RVM or another version manager.
This is meant as a temporary solution so that you can run your project with 2.6.10 and then update it to 2.7.7. Also, note that either way, you will need to update your project to at least 2.6.10. There's absolutely no reason to use 2.6.5. You should always make sure your apps are running the latest version in a series. For 2.6, it's 2.6.10, for 2.7, it's 2.7.7, then 3.0.5, and 3.1.3.
Downgrade to version 13.4 of the command line tools
This is not possible on macOS Ventura (13.0), so don't waste your time trying. If you're on macOS Monterey, you can download version 13.4 of the command line tools from Apple's developer site, and then install them. I also wrote step-by-step instructions for installing version 13.4 of the command line tools if you need them.
The following works fine with macOS Ventura 13.1. You have to choose an older openssl version e.g. openssl#1.0.2t
Make sure you have home-brew installed /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
(Optional) Check if you already have openssl versions installed via home-brew. Uninstall not ncessary versions brew uninstall openssl
Install openssl via home-brew: brew install openssl#1.0.2t
Check the path where your local home-brew packages go. In my case it is /usr/local/opt/openssl#1.0/.
Install ruby with rvm rvm install 3.1.3 --with-openssl-dir=/usr/local/opt/openssl#1.0/
I've been through a similar problem in Ubuntu 22.10. Here are some points that may help you:
Your OpenSSL may be too updated and probably has some breaking changes that don't allow some of your ruby C files to be compiled. Download a previous version at OpenSSL website, install it in a different location than your current version and use rvm install --with-openssl-dir=<old-openssl-dir> 2.6.5 as mentioned in Chris' answer.
Instead of using --with-openssl-dir option, you could add your old OpenSSL /bin and /include files directly in environment variables in your rvm command, like this: PATH=<old-openssl-bin-path>:$PATH C_INCLUDE_PATH=<old-openssl-include-path>:/usr/include rvm install 2.6.5. This could be useful in the case that --with-openssl-dir option isn't available for some reason. You also need to create links to the /lib files in your old OpenSSL folder. You'll probably find paired files like libssl.so and libssl.so.1.1. You can just move the version-named files into /usr/lib(or similar for macos), otherwise when you execute openssl command from your old OpenSSL folder, it will probably raise an error saying that openssl can't find libraries. If you choose to use this method, make sure that your rvm user bin files (at ~/.rvm/usr/bin) don't contain any files that may mess the ruby installing (like another openssl executable). You may get rid of this folder using rvm pkg remove.
Another possible solution is changing your gcc version. My OS came with gcc version 12.2.0, which comes with a change in computer gotos that failed my make step. To find errors in your ruby installation, check the make.log file specified at the rvm command error message and look for lines like this:

Homebrew does not upgrade pyenv

I'm trying to upgrade pyenv with homebrew for getting new Python releases.
Here is the problem:
$ brew upgrade pyenv
Error: pyenv 1.2.7 already installed
Is there a kind of update latency in homebrew package versioning? I am aware of the existence of other ways to install pyenv, but I'd like to use homebrew.
pyenv 1.2.8 is not yet officially released.
On the master branch the last tag is 1.2.7.
The commit you mentioned in your question is in preparation for release 1.2.8.
Version 1.2.7 is here https://github.com/pyenv/pyenv/tree/v1.2.7
Version 1.2.8 should be here https://github.com/pyenv/pyenv/tree/v1.2.8 but nothing is there (yet).
Verify which pyenv your system is using.
I thought I had this issue but then realized I had two different installs on my computer and my system was not actually using the brew installed pyenv --version.
Grepping my shell history, I saw that at some point I installed pyenv with curl using pyenv-installer for some reason. The command I found in my history was curl https://pyenv.run | bash. I followed the pyenv-installer directions to uninstall. Make sure to restart your shell once you uninstall!
I then reinstalled pyenv with brew. brew reinstall pyenv though I'm not sure if that's necessary.
I now see the newer versions of python available for install with pyenv install --list

elixir 0.14.1 error on mix (No file named /usr/local/bin/mix)

I have installed Elixir 0.14.1 and Erlang 17.1 on my mac by homebrew
When I tried to run the mix command I get the following error:
$ mix new example
No file named /usr/local/bin/mix
It is a regression on Erlang 17.1. We are releasing Elixir 0.14.2 today that will address this particular bug.
Just want to add: if you are using Homebrew, make sure to run brew update before running brew upgrade elixir so you can get the latest formula.
I'm not very sure if this is the way to fix the error, I'm very new to the language and what I did and now mix is working is:
$ brew unlink elixir
$ brew install elixir --HEAD
Any ideas? Suggestions?
New update, no need to do a brew install elixir --HEAD
just to update to the latest elixir 0.14.2 will work.

Installing Gems under RVM Error

I just purchased my first Mac, a 13" Air with Lion, and am coming from Linux. I'm installed RVM and my first Ruby (1.8.6), but I can't get a gem to install. Here's the input:
Ryan's Air :sudo gem install rails --version 2.0.2
Password:********
and the result:
/usr/local/rvm/rubies/ruby-1.8.6-p420/lib/ruby/1.8/timeout.rb:59: [BUG] Bus Error
ruby 1.8.6 (2010-09-02) [i686-darwin11.2.0]
Ryan's Air :
Thanks in advance for any help on this.
Ryan
The issue is with Lion, and I've encountered this myself on now 2 brand-new 13-inch MBP's.
What you need to do is install the OSX GCC Compilers separately.
They can be found here: https://github.com/kennethreitz/osx-gcc-installer (scroll down to downloading pre-build binaries)
After downloading and running through the package installer (you should not need to install Homebrew), you need to find where the GCC folder is located. For some people, it was in /usr/bin; however, for me I found it in /Developer/usr/bin
Add this directory to your $PATH variable in your ~/.profile or ~/.bash_profile file. For me, I'm using ~/.bash_profile and added it to the end using vim.
Close your Terminal and open it again, and then echo $PATH to make sure the changes saved.
Completely uninstall that version of ruby, and install again normally:
rvm install 1.8.7
rvm use 1.8.7
If it still doesn't work, I recommend installing your version of rails using the following command as Hans specified in Why can't I install Rails on Lion using RVM?:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
the CC directory would change based on where your install was. However, after adding the correct path to gcc to my $PATH variable, I did not need to do the above command.
If you were still having this problem, hope this helps.
Look at this article. It seems that you get deadlocks with your combination of old rails, sqlite and Webrick. Michael is right, try to use modern version of rails.
rvm install 1.8.7-head
This worked for me, everything else failed. I did not install the gcc specifically, just clean Xcode 4.2

Can I do a dry run with homebrew to see the details of what will be installed and how?

Is it possible to run in a verbose mode where it doesn't actually install the package, but just details from where and how it will be install the package?
You can run brew outdated to see a list of outdated packages that will be upgraded when running brew upgrade.
The closest you'll find is to show the dependencies of the package you're trying to install:
$ brew deps ruby
Will list the packages of ruby. You can then use:
$ brew list
to see which packages you have installed. From these two commands, you will be able to tell which packages will be installed by brew install ruby
I've used gentoo linux quite a bit in the past, and their portage system has a nice 'pretend' option for installing packages, the closest I've found for brew is:
brew list (package name)
brew list ruby gives me:
/usr/local/Cellar/ruby/1.9.2-p0/bin/tilt
/usr/local/Cellar/ruby/1.9.2-p0/bin/testrb
/usr/local/Cellar/ruby/1.9.2-p0/bin/ruby
/usr/local/Cellar/ruby/1.9.2-p0/bin/ri
/usr/local/Cellar/ruby/1.9.2-p0/bin/rdoc
/usr/local/Cellar/ruby/1.9.2-p0/bin/rake
/usr/local/Cellar/ruby/1.9.2-p0/bin/rackup
/usr/local/Cellar/ruby/1.9.2-p0/bin/irb
/usr/local/Cellar/ruby/1.9.2-p0/bin/gem
/usr/local/Cellar/ruby/1.9.2-p0/bin/erb
/usr/local/Cellar/ruby/1.9.2-p0/include/ruby-1.9.1/ (21 files)
/usr/local/Cellar/ruby/1.9.2-p0/lib/libruby.1.9.1.dylib
/usr/local/Cellar/ruby/1.9.2-p0/lib/ruby/ (998 files)
/usr/local/Cellar/ruby/1.9.2-p0/lib/ (3 other files)
/usr/local/Cellar/ruby/1.9.2-p0/share/man/ (5 files)
/usr/local/Cellar/ruby/1.9.2-p0/share/ri/ (9522 files)
But I'm guessing you're looking for more info than this?
The brew install --dry-run feature was recently added.
brew install --dry-run vim
==> Would install 1 formula:
vim
==> Would install 5 dependencies for vim:
lua berkeley-db perl libyaml ruby

Resources