I don't know the solution to the CDB_File error Well, I now know part of the solution. I asked about 'Perl_report_uninit' on the xs mailing list and Jan Dubois replied as follows:
"Perl_report_uninit() is not a public Perl API, so extensions are not allowed to call it. On Linux this cannot be enforced as all internal
symbols are being exported anyways, but on Windows (and AIX) you can only call APIs that are marked as 'public' in the embed.fnc file in the core Perl distribution."
However it seems that calling Perl_report_init() does the same as 'warn("Use of uninitialized value in subroutine entry");' - so I replaced the 4 instances of Perl_report_init() in CDB_File.xs with precisely that. On linux, with those changes in place, the module still builds and tests fine. However, on Win32, although it now builds fine, there are still some failures in the test suite - probably because my handling of 'fsync'. For that, all I did was insert '#define fsync _commit' near the beginning of CDB_File.xs, but apparently that is not good enough.
Cheers,
Rob
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.