Under which user are you trying to execute 'DBMS_LOGMNR_D.BUILD? If it is anything other than user SYS as an owner of that package, you probably have problems with the way you references this packaged procedure.

By default no public synonym is created for that package. So unless you are using it logged as user SYS, you have to use full name notation, including the owner. So you should call it as:

SQL> EXECUTE SYS.dbms_logmnr_d.build(.....)

Or you can simply create a synonym for it and use that synonym.

P.S. Of course the dictionary file was not created, how could it? The procedure tha supposed to create it failed!