As the title says, I span up a new phx project today, new fly launch. CTL verison v0.2.31.
When I deploy I get this builder error:
> [builder 13/17] RUN mix assets.deploy:
0.668
0.668 20:36:37.295 [notice] Application tailwind exited: exited in: Tailwind.start(:normal, [])
0.668 ** (EXIT) an exception was raised:
0.668 ** (RuntimeError) tailwind is not available for architecture: x86_64-pc-linux-gnux32
0.668 (tailwind 0.2.1) lib/tailwind.ex:260: Tailwind.target/0
0.668 (tailwind 0.2.1) lib/tailwind.ex:138: Tailwind.bin_path/0
0.668 (tailwind 0.2.1) lib/tailwind.ex:155: Tailwind.bin_version/0
0.668 (tailwind 0.2.1) lib/tailwind.ex:81: Tailwind.start/2
0.668 (kernel 9.1) application_master.erl:293: :application_master.start_it_old/4
0.668
0.668 20:36:37.302 [notice] Application castore exited: :stopped
0.669 ** (RuntimeError) tailwind is not available for architecture: x86_64-pc-linux-gnux32
0.669 (tailwind 0.2.1) lib/tailwind.ex:260: Tailwind.target/0
0.669 (tailwind 0.2.1) lib/tailwind.ex:138: Tailwind.bin_path/0
0.669 (tailwind 0.2.1) lib/tailwind.ex:204: Tailwind.install_and_run/2
0.669 (tailwind 0.2.1) lib/mix/tasks/tailwind.ex:57: Mix.Tasks.Tailwind.install_and_run/1
0.669 (mix 1.16.2) lib/mix/task.ex:478: anonymous fn/3 in Mix.Task.run_task/5
0.669 (mix 1.16.2) lib/mix/task.ex:544: Mix.Task.run_alias/6
0.669 (mix 1.16.2) lib/mix/cli.ex:96: Mix.CLI.run_task/2
0.669 /usr/local/bin/mix:2: (file)
------
Error: failed to fetch an image or build from source: error building: failed to solve: process "/bin/sh -c mix assets.deploy" did not complete successfully: exit code: 1
I’d like to dig through this and understand, but the bit I’m missing is why the fly build architecture is reporting as x86_64-pc-linux-gnux32 ?
Tips appreciated, thanks.
Update: To make this weirder, docker build .
works locally, but fly deploy . --local-only
fails with the same error as the remote builder.
Update 2: If I run docker build
I’m using arch64 linux, 64 bit
. But when I run fly build . --local-only
or --remote-only
the arch is 32 bit? Any ideas why this is?
# ["x86_64", "pc", "linux", "gnux32"]
> :erlang.system_info(:wordsize) * 8
=> 32