I am having issues running mix doc
all of a sudden though I did not make a lot of changes to my library codepagex
for a long time. I am getting:
codepagex (master *) % mix docs
23:09:22.795 [notice] Application makeup exited: exited in: Makeup.Application.start(:normal, [])
** (EXIT) an exception was raised:
** (UndefinedFunctionError) function Makeup.Application.start/2 is undefined (module Makeup.Application is not available)
(makeup 1.1.2) Makeup.Application.start(:normal, [])
(kernel 10.0) application_master.erl:295: :application_master.start_it_old/4
23:09:22.802 [notice] Application nimble_parsec exited: :stopped
23:09:22.802 [notice] Application earmark_parser exited: :stopped
23:09:22.802 [notice] Application eex exited: :stopped
** (MatchError) no match of right hand side value: {:error, {:makeup, {:bad_return, {{Makeup.Application, :start, [:normal, []]}, {:EXIT, {:undef, [{Makeup.Application, :start, [:normal, []], []}, {:application_master, :start_it_old, 4, [file: ~c"application_master.erl", line: 295]}]}}}}}}
(ex_doc 0.33.0) lib/mix/tasks/docs.ex:337: Mix.Tasks.Docs.run/3
(mix 1.16.3) lib/mix/task.ex:478: anonymous fn/3 in Mix.Task.run_task/5
(mix 1.16.3) lib/mix/cli.ex:96: Mix.CLI.run_task/2
/opt/homebrew/bin/mix:2: (file)
My project is here: codepagex/mix.exs at master · tallakt/codepagex · GitHub
Appreciate any help, I’m totally lost here…
I presume you have upgraded the locally used Erlang and Elixir?
1 Like
Yes I am on Elixir 1.16.3 and MacOS, Elixir and Erlang was installed with asdf latest
Actually the first time I’m running I am getting a different compilation error. The second time I am getting the one described above. The initial error is:
==> codepagex
Generated codepagex app
Generating docs...
** (UndefinedFunctionError) function :earmark_parser_string_lexer.string/1 is undefined (module :earmark_parser_string_lexer is not available)
(earmark_parser 1.4.39) :earmark_parser_string_lexer.string(~c"An error returned by Codepagex")
(earmark_parser 1.4.39) lib/earmark_parser/helpers/leex_helpers.ex:20: EarmarkParser.Helpers.LeexHelpers.tokenize/2
(earmark_parser 1.4.39) lib/earmark_parser/helpers/lookahead_helpers.ex:16: EarmarkParser.Helpers.LookaheadHelpers.opens_inline_code/1
(earmark_parser 1.4.39) lib/earmark_parser/parser.ex:658: EarmarkParser.Parser._inline_or_text?/2
(earmark_parser 1.4.39) lib/earmark_parser/parser.ex:486: EarmarkParser.Parser._consolidate_para/4
(earmark_parser 1.4.39) lib/earmark_parser/parser.ex:215: EarmarkParser.Parser._parse/4
(earmark_parser 1.4.39) lib/earmark_parser/parser.ex:68: EarmarkParser.Parser.lines_to_blocks/3
(earmark_parser 1.4.39) lib/earmark_parser/parser.ex:60: EarmarkParser.Parser.parse_lines/3
So if you’re now running latest Erlang / Elixir I would also update all dependencies to their latest version.
1 Like
OK so I just cloned your repo and ran mix do deps.get, compile
successfully.
Erlang version is 26.2.5
.
Elixir version is 1.16.3-otp-26
.
Let’s see about mix docs
now…
1 Like
Well curiously I couldn’t get it to work quickly either.
So let’s backtrack. What were the last Erlang/Elixir versions you used successfully when working on the library?
1 Like
I’m not sure. Last update was in 2020, I would think the version 1.5.x specified in mix.exs is accurate. I don’t remember what happened back then.
I’m thinking recreating the code from a new project mix new
then add stuff until I see when it breaks. That would take a bit longer though. Maybe thats what I have to do
Usually I remember this spec was several versions behind. I’d start with the release that was semi-recent at 2020 and take it from there.
Might be necessary I am afraid. Curious what updates you’ll give us because I like your library.
1 Like
So duplicating the code into a new mix project worked. Not many changes though, Im not sure which one did the trick:
-defmodule Codepagex.Mixfile do
+defmodule Codepagex.MixProject do
- [applications: [:logger]]
+ extra_applications: [:logger]
- build_embedded: Mix.env() == :prod,
1 Like
Cool, glad you solved it!
1 Like
Im glad I was able to restart this project, I’ll try to be more prompt with updates. Thanks for the support
1 Like