Comments

Flat
mkdfa.pl error
User: MikeP
Date: 9/17/2011 8:42 am
Views: 5061
Rating: 17

When I run mkdfa.pl on the supplied sample files, I get the following.  I'm on Windows XP and logged in as an administrator.  The "test path" worked as instructed (except "julian" isn't there; it is "julius" in version 4).  I tried dos2unix and unix2dos with no change in the behavior.  I installed Julius 4.1.5 instead of 3.5.2.

# mkdfa.pl sample
sample.grammar has 3 rules
sample.voca    has 6 categories and 18 words
---
Error:       Can't open grammar file "/tmp/g1916.grammar"
Error: cannot open "sample.dfa.tmp"
---
no .dfa or .dict file generated

The cygwin/tmp folder exists, but is empty.  It creates a "sample.term" file, but nothing else.

Any suggestions on what I should try next?

Re: mkdfa.pl error
User: MikeP
Date: 9/19/2011 9:11 am
Views: 153
Rating: 16

Using Julius 3.5.2 instead of the 4.1.5 took care of this problem.  Will someone be updating the tutorial to work with the latest Julius?

Re: mkdfa.pl error
User: kmaclean
Date: 9/26/2011 7:21 pm
Views: 164
Rating: 15

>Using Julius 3.5.2 instead of the 4.1.5 took care of this problem.  

the mkdfa code should be then same in both  Julius 3.5.2  and 4.1.5 - did you try Julius 4.2? 

Re: mkdfa.pl error
User: Ren
Date: 1/28/2015 11:26 am
Views: 52
Rating: 2

Got the same problem, but I'm using Julius 3.5.2.

Re: mkdfa.pl error
User: kmaclean
Date: 6/12/2015 10:27 am
Views: 61
Rating: 2

>Error:  Can't open grammar file "/tmp/g1916.grammar"

This is a bug in mkdfa.pl script that occurs when you run the Windows build of Julius in Cygwin.

You not longer have to run Julius or its grammar scripts in Cygwin.  You can run Julius directly from the Windows terminal (i.e. Command Prompt).

With your favourite editor edit the mkdfa.pl script (in c:\cygwin\home\homedirectory\voxforge\bin\julius-4.*.*-win32bin\julius-4.*.*-win32bin\bin) by searching for each occurrence of 'cygdrive;' and replacing it with 'cygdrive|cygwin':

line 144 and 151:

if ($tmpprefix =~ /cygdrive/) {

becomes:

if ($tmpprefix =~ /cygdrive|cygwin/) {

PreviousNext