garrison

garrison

Brew link did not complete successfully (wxwidgets) when updating Elixir

Just ran into some trouble updating elixir with brew so I thought I’d provide a quick writeup since I didn’t see anything else while searching.

I was upgrading elixir with brew upgrade and received an error claiming that wxwidgets@3.2 could not be linked, which interrupted the upgrade. A brew doctor check indeed showed it was unlinked.

Some brief spelunking showed that the erlang package was switched from wxwidgets to wxwidgets@3.2 for whatever reason.

Unfortunately it appears that these packages conflict during linking, and brew is not smart enough to uninstall wxwidgets (which was at the time actually at 3.2) before installing wxwidgets@3.2.

I first tried upgrading wxwidgets, which inadvertently upgraded erlang and elixir (brew moment), and surprisingly that upgrade completed successfully, but wxwidgets@3.2 still wasn’t linked. This seemed like a bad state to be in (presumably they pinned the version for a reason).

I tried brew link wxwidgets@3.2 thinking maybe it wouldn’t conflict now that wxwidgets was at 3.3, but apparently the paths still conflicted. I then tried uninstalling wxwidgets, but brew claimed that it was still required by elixir (but not erlang?!), which was a lie (elixir only depends on erlang). I then tried forcibly uninstalling wxwidgets, which succeeded.

I was going to then attempt brew link again, but at this point I realized I was wasting my time and just uninstalled elixir (which cleared out the deps) and reinstalled it from scratch, and the dependency resolution proceeded correctly that time (wxwidgets was not installed).

TL;DR brew uninstall elixir && brew install elixir

Most Liked

adamu

adamu

For me using brew and kerl I was getting this error when attempting to start observer:

[error] WX ERROR: Could not load library: :load_failed
Failed to load NIF library: …/lib/wx-2.5.1/priv/wxe_driver.so

The erlang docs currently state that 3.3 is experimental, so to install 3.2 with brew I had to:

brew uninstall wxwidgets
brew install wxwidgets@3.2
whereis wx-config-3.2 and add this to KERL_CONFIGURE_OPTIONS: --with-wx-config=/opt/homebrew/bin/wx-config-3.2

Then rebuild erlang.

Where Next?

Popular in Guides/Tuts Top

eclark
I’ve been working on a phoenix project lately and I wanted to use the latest versions of everything. Webpack 5 had some breaking changes ...
New
Logan
Here is an example of a Mix application that utilizes Cowboy to handle websocket connections. If anyone has an idea about making this wor...
New
dgamidov
Hi folks, Just a short instruction. Maybe it will help somebody. https://v4-alpha.getbootstrap.com/getting-started Install boostrap...
New
njwest
In the process of developing a Phx-based multiplayer experience, I found myself with so many browser tabs open with Elixir gaming resourc...
New
tomciopp
TLS 1.3 has been out for a little over a year now, but it has been unavailable in Phoenix due to erlang’s handling of ssl. With the most ...
New
thetechnologyvault
One of our team members just published this getting started guide for Elixir/Phoenix devs to use the Nanobox platform: https://content.n...
New
emilsoman
Hello, While answering a StackOverflow question on how to debug an elixir node running remotely, I thought it may be helpful to write a...
New
TwistingTwists
This is a thread to note down things/best practices encountered in LiveBeats App as I explore the source code. Found this usage of r...
New
bluegene
Hi guys, I’ve been on a personal journey to learn Elixir for the past two years. During this journey I’ve been using the spaced repetiti...
New
tonydang
I recently got inertia-phoenix (an Inertia.js adapter for Phoenix) working with Svelte. Setting up the server-side rendering (SSR) with S...
New

Other popular topics Top

belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
sacepums
Hey guys. I'm new to elixir and im really stocked about it. But I ran into a bit of problem - I need to convert a date sting, for examp...
New
chensan
I have a User schema with a :from_id field set to type :string: defmodule TweetBot.Repo.Migrations.CreateUsers do use Ecto.Migration ...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New

We're in Beta

About us Mission Statement