Here's a minimal dix showing the problem:

f.dix:

<?xml version="1.0" encoding="UTF-8"?>
<dictionary>

  <sdefs>
    <sdef n="adj"/>
  </sdefs>

  <pardefs>
    <pardef n="eps">
      <e><p><l></l><r></r></p></e>
    </pardef>
  </pardefs>

  <section id="main" type="standard">
    <e> <p><l>x<s n="adj"/></l> <r>x<s n="adj"/></r></p><par n="eps"/></e>
  </section>

</dictionary>

and

$ lt-comp lr f.dix lr.bin 
main@standard 2 2
$ echo '^x<adj>$' | lt-proc -b lr.bin
Error: Invalid dictionary (hint: the left side of an entry is empty)

The printout shows why the binary is invalid:

$ lt-print lr.bin
0       1       x       x
1       0       <adj>   <adj>
0

ie. state "0" appears both as initial and final state. If we remove the <par n="eps"/>, we get the expected

$ lt-print lr.bin
0       1       x       x
1       2       <adj>   <adj>
2