module not available in release

790 Views Asked by At

I have a small Elixir application that uses feeder_ex to parse XML. In development everything works well but when I build my release with distillery I start getting an unavailable xmerl module error.

I solved it by adding the xmerl application to the application list under my mix.exs. But it doesn't make sense to me because I already have feeder_ex to my application list. And feeder_ex have feeder to his application list which have xmerl to his application list.

So why do I have to declare it one more time in my own application list?

Update - add Erlang version / command result

xmerl =>

iex(3)> i :xmerl 
Term
  :xmerl
Data type
  Atom
Module bytecode
  /home/awea/.asdf/installs/erlang/19.3/lib/erlang/lib/xmerl-1.3.13    /ebin/xmerl.beam

erl =>

erl                                                                                                                                    
Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:8:8] [async-threads:10]       [hipe] [kernel-poll:false]

Update - add Linux version, vm.args

I using ubuntu 16.04 and distillery 1.5.2. Here is my vm.args file:

#### Generated - edit/create /var/apps/vigil/vm.args instead.
## Name of the node
-name [email protected]

## Cookie for distributed erlang
-setcookie -

## Heartbeat management; auto-restarts VM if it dies or becomes unresponsive
## (Disabled by default..use with caution!)
##-heart

## Enable kernel poll and a few async threads
##+K true
##+A 5

## Increase number of concurrent ports/sockets
##-env ERL_MAX_PORTS 4096

## Tweak GC to run more often
##-env ERL_FULLSWEEP_AFTER 10

# Enable SMP automatically based on availability
-smp auto

Update - add application list

def application do
  [mod: {Vigil, []},
    extra_applications: [
      :logger, :xmerl
    ]
  ]
end
0

There are 0 best solutions below