-
-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build fails on newly generated project #123
Comments
Hmm, this is very odd. Did the deps and project not compile when you ran I just tried myself with the commands you ran, and it works. And the error you're seeing implies that a dependency was never compiled. can you try |
I don't see any console output indicating it. I just see the noted error when I run
The dependencies and application both compile. I can see output about ➜ test2 mix tableau.new tester --template heex --assets tailwind
* creating tester
* creating tester/README.md
* creating tester/.gitignore
* creating tester/.formatter.exs
* creating tester/_pages/.keep
* creating tester/_posts/.keep
* creating tester/extra/.keep
* creating tester/config/config.exs
* creating tester/config/dev.exs
* creating tester/config/prod.exs
* creating tester/config/test.exs
* creating tester/formatter.exs
* creating tester/lib/mix/tasks/post.ex
* creating tester/mix.exs
* creating tester/lib/layouts/post_layout.ex
* creating tester/lib/layouts/root_layout.ex
* creating tester/lib/pages/home_page.ex
* creating tester/assets/css/site.css
* creating tester/assets/tailwind.config.js
Congratulations on your new site!
Run the following to get started.
cd tester
mix deps.get
# generate your first post
mix tester.gen.post "My first post"
# start the dev server
mix tableau.server
➜ test2 cd tester
➜ tester mix deps.get
Resolving Hex dependencies...
Resolution completed in 0.365s
New:
bandit 1.6.8
castore 1.0.12
date_time_parser 1.2.0
file_system 1.1.0
floki 0.37.0
hpax 1.0.2
html_entities 0.5.2
kday 1.1.0
libgraph 0.16.0
mdex 0.2.0
mime 2.0.6
phoenix 1.7.20
phoenix_html 4.2.1
phoenix_live_view 1.0.5
phoenix_pubsub 2.1.3
phoenix_template 1.0.4
plug 1.17.0
plug_crypto 2.1.0
plug_static_index_html 1.0.0
rustler_precompiled 0.8.2
schematic 0.4.0
tableau 0.20.1
tailwind 0.3.1
telemetry 1.3.0
thousand_island 1.3.11
tz 0.28.1
web_dev_utils 0.3.0
websock 0.5.3
websock_adapter 0.5.8
xml_builder 2.3.0
yamerl 0.10.0
yaml_elixir 2.11.0
* Getting tableau (Hex package)
* Getting tailwind (Hex package)
* Getting phoenix_live_view (Hex package)
* Getting phoenix (Hex package)
* Getting phoenix_html (Hex package)
* Getting phoenix_template (Hex package)
* Getting plug (Hex package)
* Getting telemetry (Hex package)
* Getting mime (Hex package)
* Getting plug_crypto (Hex package)
* Getting castore (Hex package)
* Getting phoenix_pubsub (Hex package)
* Getting websock_adapter (Hex package)
* Getting websock (Hex package)
* Getting bandit (Hex package)
* Getting date_time_parser (Hex package)
* Getting floki (Hex package)
* Getting html_entities (Hex package)
* Getting libgraph (Hex package)
* Getting mdex (Hex package)
* Getting plug_static_index_html (Hex package)
* Getting schematic (Hex package)
* Getting tz (Hex package)
* Getting web_dev_utils (Hex package)
* Getting xml_builder (Hex package)
* Getting yaml_elixir (Hex package)
* Getting yamerl (Hex package)
* Getting file_system (Hex package)
* Getting rustler_precompiled (Hex package)
* Getting kday (Hex package)
* Getting hpax (Hex package)
* Getting thousand_island (Hex package)
You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more
➜ tester MIX_ENV=prod mix deps.compile
==> file_system
Compiling 7 files (.ex)
Generated file_system app
==> floki
Compiling 1 file (.xrl)
Compiling 2 files (.erl)
Compiling 30 files (.ex)
Generated floki app
==> html_entities
Compiling 2 files (.ex)
Generated html_entities app
==> mime
Compiling 1 file (.ex)
Generated mime app
==> libgraph
Compiling 15 files (.ex)
Generated libgraph app
==> tester
===> Analyzing applications...
===> Compiling telemetry
==> thousand_island
Compiling 16 files (.ex)
Generated thousand_island app
==> schematic
Compiling 2 files (.ex)
Generated schematic app
==> phoenix_html
Compiling 6 files (.ex)
Generated phoenix_html app
==> phoenix_template
Compiling 4 files (.ex)
Generated phoenix_template app
==> phoenix_pubsub
Compiling 11 files (.ex)
Generated phoenix_pubsub app
==> plug_crypto
Compiling 5 files (.ex)
Generated plug_crypto app
==> web_dev_utils
Compiling 6 files (.ex)
Generated web_dev_utils app
==> hpax
Compiling 4 files (.ex)
Generated hpax app
==> kday
Compiling 1 file (.ex)
Generated kday app
==> tester
===> Analyzing applications...
===> Compiling yamerl
==> yaml_elixir
Compiling 6 files (.ex)
Generated yaml_elixir app
==> xml_builder
Compiling 3 files (.ex)
Generated xml_builder app
==> plug
Compiling 1 file (.erl)
Compiling 40 files (.ex)
Generated plug app
==> plug_static_index_html
Compiling 1 file (.ex)
Generated plug_static_index_html app
==> date_time_parser
Compiling 15 files (.ex)
warning: pattern matching on 0.0 is equivalent to matching only on +0.0 from Erlang/OTP 27+. Instead you must match on +0.0 or -0.0
└─ lib/parser/serial.ex: DateTimeParser.Parser.Serial.time_from_serial/1
Compiling lib/combinators.ex (it's taking more than 10s)
Generated date_time_parser app
==> tailwind
Compiling 3 files (.ex)
Generated tailwind app
==> castore
Compiling 1 file (.ex)
Generated castore app
==> tz
Compiling 16 files (.ex)
Generated tz app
==> rustler_precompiled
Compiling 4 files (.ex)
Generated rustler_precompiled app
==> mdex
Compiling 7 files (.ex)
09:46:21.745 [debug] Copying NIF from cache and extracting to /home/gabe/Code/tableau_testing/test2/tester/_build/prod/lib/mdex/priv/native/libcomrak_nif-v0.2.0-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
Generated mdex app
==> websock
Compiling 1 file (.ex)
Generated websock app
==> bandit
Compiling 54 files (.ex)
Generated bandit app
==> websock_adapter
Compiling 4 files (.ex)
Generated websock_adapter app
==> phoenix
Compiling 71 files (.ex)
Generated phoenix app
==> phoenix_live_view
Compiling 39 files (.ex)
Generated phoenix_live_view app
==> tableau
Compiling 27 files (.ex)
Generated tableau app
➜ tester MIX_ENV=prod mix compile
Compiling 4 files (.ex)
Generated tester app
➜ tester MIX_ENV=prod mix build
** (UndefinedFunctionError) function Schematic.optional/1 is undefined (module Schematic is not available). Make sure the module name is correct and has been specified in full (or that an alias has been defined)
Schematic.optional(:include_dir)
lib/tableau/config.ex:32: Tableau.Config.schematic/0
lib/tableau/config.ex:17: Tableau.Config.new/1
lib/mix/tasks/tableau.build.ex:14: Mix.Tasks.Tableau.Build.run/1
(mix 1.18.3) lib/mix/task.ex:495: anonymous fn/3 in Mix.Task.run_task/5
(mix 1.18.3) lib/mix/task.ex:561: Mix.Task.run_alias/6
(mix 1.18.3) lib/mix/cli.ex:107: Mix.CLI.run_task/2
/usr/bin/mix:2: (file) Since the other day I updated my system erlang and elixir versions. I am now on 27.2.4 & 1.18.3 respectively. I'm still running into the same issue though. |
Can you try |
The former seems to work, the latter has the same error. ➜ tester mix tableau.server
12:33:10.599 [debug] server started on http://localhost:4999/
==> file_system
Compiling 7 files (.ex)
Generated file_system app
==> floki
Compiling 2 files (.erl)
Compiling 30 files (.ex)
Generated floki app
==> html_entities
Compiling 2 files (.ex)
Generated html_entities app
==> mime
Compiling 1 file (.ex)
Generated mime app
==> libgraph
Compiling 15 files (.ex)
Generated libgraph app
===> Analyzing applications...
===> Compiling telemetry
==> thousand_island
Compiling 16 files (.ex)
Generated thousand_island app
==> schematic
Compiling 2 files (.ex)
Generated schematic app
==> phoenix_html
Compiling 6 files (.ex)
Generated phoenix_html app
==> phoenix_template
Compiling 4 files (.ex)
Generated phoenix_template app
==> phoenix_pubsub
Compiling 11 files (.ex)
Generated phoenix_pubsub app
==> plug_crypto
Compiling 5 files (.ex)
Generated plug_crypto app
==> web_dev_utils
Compiling 6 files (.ex)
Generated web_dev_utils app
==> hpax
Compiling 4 files (.ex)
Generated hpax app
==> kday
Compiling 1 file (.ex)
Generated kday app
===> Analyzing applications...
===> Compiling yamerl
==> yaml_elixir
Compiling 6 files (.ex)
Generated yaml_elixir app
==> xml_builder
Compiling 3 files (.ex)
Generated xml_builder app
==> plug
Compiling 1 file (.erl)
Compiling 40 files (.ex)
Generated plug app
==> plug_static_index_html
Compiling 1 file (.ex)
Generated plug_static_index_html app
==> date_time_parser
Compiling 15 files (.ex)
warning: pattern matching on 0.0 is equivalent to matching only on +0.0 from Erlang/OTP 27+. Instead you must match on +0.0 or -0.0
└─ lib/parser/serial.ex: DateTimeParser.Parser.Serial.time_from_serial/1
Generated date_time_parser app
==> tailwind
Compiling 3 files (.ex)
Generated tailwind app
==> castore
Compiling 1 file (.ex)
Generated castore app
==> tz
Compiling 16 files (.ex)
Generated tz app
==> rustler_precompiled
Compiling 4 files (.ex)
Generated rustler_precompiled app
==> mdex
Compiling 7 files (.ex)
12:33:26.874 [debug] Copying NIF from cache and extracting to /home/gabe/Code/tableau_testing/test6/tester/_build/dev/lib/mdex/priv/native/libcomrak_nif-v0.2.0-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
Generated mdex app
==> websock
Compiling 1 file (.ex)
Generated websock app
==> bandit
Compiling 54 files (.ex)
Generated bandit app
==> websock_adapter
Compiling 4 files (.ex)
Generated websock_adapter app
==> phoenix
Compiling 71 files (.ex)
Generated phoenix app
==> phoenix_live_view
Compiling 39 files (.ex)
Generated phoenix_live_view app
==> tableau
Compiling 27 files (.ex)
Generated tableau app
==> tester
Compiling 4 files (.ex)
Generated tester app
12:33:29.331 [info] Running TableauDevServer.Router with Bandit 1.6.8 at 0.0.0.0:4999 (http)
12:33:29.331 [debug] Downloading tailwind from https://github.com/tailwindlabs/tailwindcss/releases/download/v4.0.9/tailwindcss-linux-x64
^C
BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
(l)oaded (v)ersion (k)ill (D)b-tables (d)istribution
^C%
➜ tester mix tableau.build
** (UndefinedFunctionError) function Schematic.optional/1 is undefined (module Schematic is not available)
Schematic.optional(:include_dir)
lib/tableau/config.ex:32: Tableau.Config.schematic/0
lib/tableau/config.ex:17: Tableau.Config.new/1
lib/mix/tasks/tableau.build.ex:14: Mix.Tasks.Tableau.Build.run/1
(mix 1.17.3) lib/mix/task.ex:495: anonymous fn/3 in Mix.Task.run_task/5
(mix 1.17.3) lib/mix/cli.ex:96: Mix.CLI.run_task/2
/home/gabe/.local/share/mise/installs/elixir/1.17.3-otp-27/bin/mix:2: (file) I tried removing erlang and elixir from my system, relying only on erlang and elixir versions specified by mise, to rule out version issues. Same issue in that case. Curiously I cannot reproduce the issue in docker; it seems to work as expected there. I'm not sure what about my system would be throwing things. ➜ tester docker container create -i -t --name tableau_testing hexpm/elixir:1.18.3-erlang-27.2.4-debian-bullseye-20250317
33551ff6e3a0ce3fc5265b04e81087900ee64951dfdfc968dc73df28fe7de116
➜ tester docker container start --attach -i tableau_testing
root@33551ff6e3a0:/# mix archive.install hex tableau_new
* creating /root/.mix/archives/hex-2.1.1
Resolving Hex dependencies...
Resolution completed in 0.006s
New:
tableau_new 1.4.1
* Getting tableau_new (Hex package)
You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more
All dependencies are up to date
Compiling 2 files (.ex)
Generated tableau_new app
Generated archive "tableau_new-1.4.1.ez" with MIX_ENV=prod
Are you sure you want to install "tableau_new-1.4.1.ez"? [Yn]
* creating /root/.mix/archives/tableau_new-1.4.1
root@33551ff6e3a0:/# mix tableau.new tester --template heex --assets tailwind
* creating tester
* creating tester/README.md
* creating tester/.gitignore
* creating tester/.formatter.exs
* creating tester/_pages/.keep
* creating tester/_posts/.keep
* creating tester/extra/.keep
* creating tester/config/config.exs
* creating tester/config/dev.exs
* creating tester/config/prod.exs
* creating tester/config/test.exs
* creating tester/formatter.exs
* creating tester/lib/mix/tasks/post.ex
* creating tester/mix.exs
* creating tester/lib/layouts/post_layout.ex
* creating tester/lib/layouts/root_layout.ex
* creating tester/lib/pages/home_page.ex
* creating tester/assets/css/site.css
Congratulations on your new site!
Run the following to get started.
cd tester
mix deps.get
# generate your first post
mix tester.gen.post "My first post"
# start the dev server
mix tableau.server
root@33551ff6e3a0:/# cd tester
root@33551ff6e3a0:/tester# mix deps.get
Resolving Hex dependencies...
Resolution completed in 0.346s
New:
bandit 1.6.8
castore 1.0.12
date_time_parser 1.2.0
file_system 1.1.0
floki 0.37.0
hpax 1.0.2
html_entities 0.5.2
kday 1.1.0
libgraph 0.16.0
mdex 0.2.0
mime 2.0.6
phoenix 1.7.20
phoenix_html 4.2.1
phoenix_live_view 1.0.5
phoenix_pubsub 2.1.3
phoenix_template 1.0.4
plug 1.17.0
plug_crypto 2.1.0
plug_static_index_html 1.0.0
rustler_precompiled 0.8.2
schematic 0.4.0
tableau 0.20.1
tailwind 0.3.1
telemetry 1.3.0
thousand_island 1.3.11
tz 0.28.1
web_dev_utils 0.3.0
websock 0.5.3
websock_adapter 0.5.8
xml_builder 2.3.0
yamerl 0.10.0
yaml_elixir 2.11.0
* Getting tableau (Hex package)
* Getting tailwind (Hex package)
* Getting phoenix_live_view (Hex package)
* Getting phoenix (Hex package)
* Getting phoenix_html (Hex package)
* Getting phoenix_template (Hex package)
* Getting plug (Hex package)
* Getting telemetry (Hex package)
* creating /root/.mix/elixir/1-18/rebar3
* Getting mime (Hex package)
* Getting plug_crypto (Hex package)
* Getting castore (Hex package)
* Getting phoenix_pubsub (Hex package)
* Getting websock_adapter (Hex package)
* Getting websock (Hex package)
* Getting bandit (Hex package)
* Getting date_time_parser (Hex package)
* Getting floki (Hex package)
* Getting html_entities (Hex package)
* Getting libgraph (Hex package)
* Getting mdex (Hex package)
* Getting plug_static_index_html (Hex package)
* Getting schematic (Hex package)
* Getting tz (Hex package)
* Getting web_dev_utils (Hex package)
* Getting xml_builder (Hex package)
* Getting yaml_elixir (Hex package)
* Getting yamerl (Hex package)
* Getting file_system (Hex package)
* Getting rustler_precompiled (Hex package)
* Getting kday (Hex package)
* Getting hpax (Hex package)
* Getting thousand_island (Hex package)
You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more
root@33551ff6e3a0:/tester# MIX_ENV=prod mix build
==> file_system
Compiling 7 files (.ex)
Generated file_system app
==> floki
Compiling 1 file (.xrl)
Compiling 2 files (.erl)
Compiling 30 files (.ex)
Generated floki app
==> html_entities
Compiling 2 files (.ex)
Generated html_entities app
==> mime
Compiling 1 file (.ex)
Generated mime app
==> libgraph
Compiling 15 files (.ex)
Generated libgraph app
==> tester
===> Analyzing applications...
===> Compiling telemetry
==> thousand_island
Compiling 16 files (.ex)
Generated thousand_island app
==> schematic
Compiling 2 files (.ex)
Generated schematic app
==> phoenix_html
Compiling 6 files (.ex)
Generated phoenix_html app
==> phoenix_template
Compiling 4 files (.ex)
Generated phoenix_template app
==> phoenix_pubsub
Compiling 11 files (.ex)
Generated phoenix_pubsub app
==> plug_crypto
Compiling 5 files (.ex)
Generated plug_crypto app
==> web_dev_utils
Compiling 6 files (.ex)
Generated web_dev_utils app
==> hpax
Compiling 4 files (.ex)
Generated hpax app
==> kday
Compiling 1 file (.ex)
Generated kday app
==> tester
===> Analyzing applications...
===> Compiling yamerl
==> yaml_elixir
Compiling 6 files (.ex)
Generated yaml_elixir app
==> xml_builder
Compiling 3 files (.ex)
Generated xml_builder app
==> plug
Compiling 1 file (.erl)
Compiling 40 files (.ex)
Generated plug app
==> plug_static_index_html
Compiling 1 file (.ex)
Generated plug_static_index_html app
==> date_time_parser
Compiling 15 files (.ex)
warning: pattern matching on 0.0 is equivalent to matching only on +0.0 from Erlang/OTP 27+. Instead you must match on +0.0 or -0.0
└─ lib/parser/serial.ex: DateTimeParser.Parser.Serial.time_from_serial/1
Compiling lib/combinators.ex (it's taking more than 10s)
Generated date_time_parser app
==> tailwind
Compiling 3 files (.ex)
Generated tailwind app
==> castore
Compiling 1 file (.ex)
Generated castore app
==> tz
Compiling 16 files (.ex)
Generated tz app
==> rustler_precompiled
Compiling 4 files (.ex)
Generated rustler_precompiled app
==> mdex
Compiling 7 files (.ex)
16:38:07.341 [debug] Downloading NIF from https://github.com/leandrocp/mdex/releases/download/v0.2.0/libcomrak_nif-v0.2.0-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
16:38:08.598 [debug] NIF cached at /root/.cache/rustler_precompiled/precompiled_nifs/libcomrak_nif-v0.2.0-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz and extracted to /tester/_build/prod/lib/mdex/priv/native/libcomrak_nif-v0.2.0-nif-2.15-x86_64-unknown-linux-gnu.so.tar.gz
Generated mdex app
==> websock
Compiling 1 file (.ex)
Generated websock app
==> bandit
Compiling 54 files (.ex)
Generated bandit app
==> websock_adapter
Compiling 4 files (.ex)
Generated websock_adapter app
==> phoenix
Compiling 71 files (.ex)
Generated phoenix app
==> phoenix_live_view
Compiling 39 files (.ex)
Generated phoenix_live_view app
==> tableau
Compiling 27 files (.ex)
Generated tableau app
==> tester
Compiling 4 files (.ex)
Generated tester app
16:38:11.357 [debug] Downloading tailwind from https://github.com/tailwindlabs/tailwindcss/releases/download/v4.0.9/tailwindcss-linux-x64
≈ tailwindcss v4.0.9
Done in 29ms |
What is your OS? |
I'm using x64 archlinux and I'm currently on kernel 6.12.7. |
I'll try and get an arch linux vm running to see if I can reproduce, but outside of that, not really sure what is going on here. |
I am exploring using Tableau for a project and I am running into what looks to me like a dependency issue when trying to build. Here's console output of what I'm seeing:
On my host os I have otp 27.1.3 and elixir 1.18.1, but I also am seeing this on other versions.
The text was updated successfully, but these errors were encountered: