Error when trying to create private package help database!
H.J. van Heerden wrote on Nov 01, 2006
Hi All
This error has been bugging me for the last week. :x :?
I've been working through "An introductory user's guide to iraf scripts" by R. Seaman. Im basically completed the guide. I have written scripts (that work), and I have gone through the whole private package creation procedure.
I've defined the package, tasks, scritpts, and enc. in the correct files, and the loginuser.cl file as according to the guide.
When I load the ecl, and then the package, it loads without any errors. And the packages work. The problem comes in when I want to view the help files.
I've set up the directory for my private package as follows:
/iraf/extern/scripts/ -- The scripts and support files reside here.
/iraf/extern/scripts/doc/ -- The .hlp files reside here.
I used the softools packages, mkmanfile and mkhelpdb to create the help database.
The ERROR that I recieve when I want to call the help for the package is:
Cannot open help database file scripts$private.db
ERROR: invalid help database file list
(with scripts set as "/iraf/extern/scripts/" the path to the files)
I've worked through the whole procedure for creating your own private package a number of times. I have even looked at how the files and procedures work for other packages (tables, stdas), but I can't figure where the ERROR is.
I need HELP please!!!!
Regards
Pat
This error has been bugging me for the last week. :x :?
I've been working through "An introductory user's guide to iraf scripts" by R. Seaman. Im basically completed the guide. I have written scripts (that work), and I have gone through the whole private package creation procedure.
I've defined the package, tasks, scritpts, and enc. in the correct files, and the loginuser.cl file as according to the guide.
When I load the ecl, and then the package, it loads without any errors. And the packages work. The problem comes in when I want to view the help files.
I've set up the directory for my private package as follows:
/iraf/extern/scripts/ -- The scripts and support files reside here.
/iraf/extern/scripts/doc/ -- The .hlp files reside here.
I used the softools packages, mkmanfile and mkhelpdb to create the help database.
The ERROR that I recieve when I want to call the help for the package is:
Cannot open help database file scripts$private.db
ERROR: invalid help database file list
(with scripts set as "/iraf/extern/scripts/" the path to the files)
I've worked through the whole procedure for creating your own private package a number of times. I have even looked at how the files and procedures work for other packages (tables, stdas), but I can't figure where the ERROR is.
I need HELP please!!!!
Regards
Pat
Mike Fitzpatrick wrote on Nov 01, 2006
Pat,
I'd have to see your 'scripts.hd' file and the contents of the scripts$lib directory (assuming you have one) to give a detailed reply. In most packages we build the help database is configured to be something like scripts$lib/helpdb.mip, is the output of your MKHELPDB the 'private.db' file in the scripts$ directory (i.e. is this simply a pathname error?)? The relevant files for creating a helpdb are normally
scripts$script.hd
scripts$lib/root.hd
scripts$lib/rootscripts.hd
(e.g. see the NOAO package). The 'invalid help database file list' is printed when the 'helpdb' string contains no files, so check also how that is declared. You can try doing a
to first validate your package helpdb works. The helpdb variable is normally defined in the hlib$extern.pkg file, a common mistake is to forget a comma or newline escape but its also possible to rewrite this value other ways, do a "show helpdb" to verify this is a comma-delimited list of files. Post more information if you're still stuck.
Cheers,
-Mike
I'd have to see your 'scripts.hd' file and the contents of the scripts$lib directory (assuming you have one) to give a detailed reply. In most packages we build the help database is configured to be something like scripts$lib/helpdb.mip, is the output of your MKHELPDB the 'private.db' file in the scripts$ directory (i.e. is this simply a pathname error?)? The relevant files for creating a helpdb are normally
scripts$script.hd
scripts$lib/root.hd
scripts$lib/rootscripts.hd
(e.g. see the NOAO package). The 'invalid help database file list' is printed when the 'helpdb' string contains no files, so check also how that is declared. You can try doing a
cl> reset helpdb = "scripts$private.db" to first validate your package helpdb works. The helpdb variable is normally defined in the hlib$extern.pkg file, a common mistake is to forget a comma or newline escape but its also possible to rewrite this value other ways, do a "show helpdb" to verify this is a comma-delimited list of files. Post more information if you're still stuck.
Cheers,
-Mike
H.J. van Heerden wrote on Nov 01, 2006
Hi Mike
Hope you can help me once more.
I've looked at how you set up the NOAO package, and I've reconfigured my private package along the same lines.
I've included it in extern.pkg, and Iraf now picks' up the package, and it works.
I am able to run the scripts defined in the package, I can view the source file using "help option".
The only problem is. Iraf tells me that "NO" help files are available. Somehow it doesn't pick up the .hlp files.
One of the scripts is the printit.cl defined in the GUIDE. Using this as a example:
Dir structure and content:
/iraf/extern/private/printit.cl
private.cl
private.hd
private.men
private.par
/iraf/extern/private/lib/printit.hlp
private.hlp
root.hd
rootprivate.hd
helpdb.mip
The private.hd has the following code
The root.hd has the following code
I hope this gives you enough info to work with.
I really appreciate the help
Regards
Pat
Hope you can help me once more.
I've looked at how you set up the NOAO package, and I've reconfigured my private package along the same lines.
I've included it in extern.pkg, and Iraf now picks' up the package, and it works.
I am able to run the scripts defined in the package, I can view the source file using "help option".
The only problem is. Iraf tells me that "NO" help files are available. Somehow it doesn't pick up the .hlp files.
One of the scripts is the printit.cl defined in the GUIDE. Using this as a example:
Dir structure and content:
/iraf/extern/private/printit.cl
private.cl
private.hd
private.men
private.par
/iraf/extern/private/lib/printit.hlp
private.hlp
root.hd
rootprivate.hd
helpdb.mip
The private.hd has the following code
# Help directory for the PRIVATE package
$private = "/iraf/extern/private/"
# Define help files for the tasks
center hlp = private$lib/center.hlp, src = center.cl
printit hlp = private$lib/printit.hlp, src = printit.clThe root.hd has the following code
# Root help directory for PRIVATE
_private pkg = private$lib/rootprivate.hd
I hope this gives you enough info to work with.
I really appreciate the help
Regards
Pat
Mike Fitzpatrick wrote on Nov 01, 2006
Pat,
Your first message indicated the .hlp files were in /iraf/extern/scripts/doc, however your .hd file says e.g. "private$lib/center.hlp". Unless you've moved the files, I think you just need to change this to read "private$doc/center.hlp". The help database doesn't actually contain the help files, just a pointer to the file on disk (i.e. once the helpdb.mip has been created you can edit the .hlp file and not have to rebuild the database).
Cheers,
-Mike
Your first message indicated the .hlp files were in /iraf/extern/scripts/doc, however your .hd file says e.g. "private$lib/center.hlp". Unless you've moved the files, I think you just need to change this to read "private$doc/center.hlp". The help database doesn't actually contain the help files, just a pointer to the file on disk (i.e. once the helpdb.mip has been created you can edit the .hlp file and not have to rebuild the database).
Cheers,
-Mike
H.J. van Heerden wrote on Nov 01, 2006
Hi Mike.
I sat down and calmly worked through everything. AND I picked up my errors.
One was a incomplete pathway statement.
The other was that I did not complete the .hlp files correctly, thus Iraf give me an help file block error. Sorted that one out.
Now everything WORKS correctly. I have my own private package!
THANX for the Guidance!
Regards
Pat
I sat down and calmly worked through everything. AND I picked up my errors.
One was a incomplete pathway statement.
The other was that I did not complete the .hlp files correctly, thus Iraf give me an help file block error. Sorted that one out.
Now everything WORKS correctly. I have my own private package!
THANX for the Guidance!
Regards
Pat
Last post on Nov 01, 2006