title: gnu-prolog - initialization predicate failing
body: <p>In compiling and running the code below (<code>pl_check_input.pl</code>), I get "<code>user directive failed</code>" on the ":- initialization..." line</p>
  
  <pre><code>:- dynamic(doit/0).
  :- initialization(doit).
  :- include(head).
  
  doit :-
      readFB(user_input),
      writeFB,
      halt.
  
  :- include(tail).
  
  $ gplc --no-del-temp --no-top-level pl_check_input.pl
  $ ./pl_check_input &lt;fb1 &gt;fb2
  warning: /home/tarvydas/Dropbox/Projects/vsh/pl-vsh/pl_check_input.pl:2: user directive failed
  </code></pre>
  
  <p>If I remove the offending line</p>
  
  <pre><code>:- dynamic(doit/0).
  :- include(head).
  
  doit :-
      readFB(user_input),
      writeFB,
  halt.
  
  :- include(tail).
  
  $ gplc --no-del-temp --no-top-level pl_check_input.pl
  $ ./pl_check_input &lt;fb1 &gt;fb2
  Warning: no initial goal executed
     use a directive :- initialization(Goal)
     or remove the link option --no-top-level (or --min-bips or --min-size)
  </code></pre>
  
  <p>Any insights would be very welcome.  </p>
  
  <p>Ultimately, I have this code running from the <code>REPL</code>, but I want to put it in a linux pipeline script and remove the various banner lines that come with top-level/0.</p>