title: Confusion about run time and libraries in Elixir
body: <p>I'm trying to use an MQTT library in elixir known as Tortoise. Whenever I use <code>iex -S mix</code> I can get the sending of messages to work. However when I use <code>mix start</code> to begin my start task the program will not work. I'm get an <code>unknown registry: Tortoise.Registry</code> error.</p>
  
  <p>I can start the supervisor for Tortoise without error, it is when I try starting a child process for that process with <code>Tortoise.Supervisor.start_child</code> that I get the error.</p>
  
  <pre><code>defmodule Mqtt.Begin do
  require Tortoise
  def start do
  
  opts = [strategy: :one_for_one, name: Mqtt.Begin]
    {:ok, pid} = Tortoise.Supervisor.start_link(opts)
  
        {:ok, _} =
      Tortoise.Supervisor.start_child(Mqtt.Begin, [
        client_id: :a,
        handler: {Mqtt.Handler, [name: :a]},
        server: {Tortoise.Transport.Tcp, host: 'localhost', port: 1883},
        subscriptions: [{"share/share-group/bar", 0}] ])
  </code></pre>
  
  <p>When using extern libraries in elixir is the entire library created with deps.compile? Or do I need to do something further?</p>