Re: [MacPerl-Porters] Shuck 1.50
[email protected] (Thomas Wegner)
| Newsgroups | perl.macperl.porters |
|---|---|
| Message-ID | <p04320400b7d8832c34db@[149.225.71.72]> |
At 22:50 Uhr -0400 26.09.2001, Chris Nandor wrote:
>At 18:02 +0200 2001.09.21, Thomas Wegner wrote:
>>I've attached Shuck 1.50 to this email (private copy only) for playing ;-). If
>>you like what you see and there are no objections, I will commit the
>>changes to >the Shuck CVS repository.
>
>Yes, please do. Then maybe I can look into getting MWC builds.
>
>>Btw, I was not able to build the new Help index file, simply because I don't
>>know how. I've looked at the "BuildHelpIndex" and "BuildLibraryIndex" scripts,
>>but cannot get them to work. Any hints?
>
>Those files did not build for you, or they didn't build to be usable? They
>build for me every time with `BuildProgram all` in the :macperl directory.
>
>The only problem is that they will be built with your installed perl, which
>is usually going to be perl 5.2.0r4, which uses db 1.8.5. So I re-run the
>commands with perl 5.6.1 and they work fine with MacPerl. This is the
>original command:
>
> Perl -Sx "BuildHelpIndex" "MacPerl Help" "MacPerl.podhelp"
>
>I re-executed as:
>
> ::perl:macos:Perl -I::perl:lib: -Sx "BuildHelpIndex" "MacPerl Help"
> "MacPerl.podhelp"
>
>etc.
>
>However, while this MacPerl Help file works for me in my latest MacPerl
>builds, it does not work with your ShuckPPC 1.50 build. Not sure why
>offhand. You used db_186b, right?
>
Yes, and in the meantime, I figured out what went wrong. First, the index was built with the old tool. Ok, I've rebuilt it with the 5.6.1 tool, and the MacPerl app was able to read it, but Shuck wasn't. I looked at Shuck with the debugger, and something was going wrong with a fstat() call in db's mpool.c. When the mode this fstat()returns for "MacPerl Help" is checked with a S_ISREG(), this call doesn't return true (i.e. it's not a regular file -- huh?). It turned out that linking against both
"{GUSI}lib:GUSI_MPW.MrC.Lib" and
"{GUSI}lib:GUSI_Core.MrC.Lib"
causes this error (I'm not sure why). However, when I link against "{GUSI}lib:GUSI_Core.MrC.Lib" only, Shuck is able to read the index, i.e. fstat() reports the right file mode. So when you try to build with CW, be aware of this.
I will commit the changes soonish.
Best regards,
--Thomas
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com