Sun Sep 25 13:37:42 2016: Request 118053 was acted upon. Transaction: Correspondence added by kbr...@cornell.edu Queue: PAR-Packer Subject: Re: [rt.cpan.org #118053] Problem with packed perl archive for biber on 64-bit Cygwin Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: kbr...@cornell.edu Status: open Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=118053 >
On 9/25/2016 11:24 AM, Ken Brown wrote: > On 9/25/2016 3:06 AM, Roderich Schupp via RT wrote: >> <URL: https://rt.cpan.org/Ticket/Display.html?id=118053 > >> >> On 2016-09-24 21:06:22, kbr...@cornell.edu wrote: >>> On 9/23/2016 3:51 PM, Bugs in PAR-Packer via RT wrote: >>> I understand a little better how the packed executable is supposed to >>> work. First the embedded files are extracted, which are a perl >>> interpreter (named biber) and cygperl5_24.dll in; it's then supposed >>> to >>> be possible to run the extracted biber, which will extract the rest of >>> the files. Roderich, is this right? >> >> Your analysis is correct. >> >>> So it seems that the solution should be to add cygcrypt-0.dll as an >>> embedded file. >> >> Yes. Try changing line 43 of myldr/embed_files.pl in the PAR::Packer >> source to >> >> *is_system_lib = sub { shift =~ >> m{^/usr/bin/(?!cygcrypt\b)|^\Q$system_root\E/}i }; >> >> i.e. /usr/bin/cygcrypt-0.dll is _not_ regarded as a "system library" >> anymore. >> Then re-build and install PAR:Packer and re-pack biber. >> >> Cheers, Roderich > > Thanks, that fixes it. Actually, there's still one glitch. If I run biber with no arguments, it unpacks itself and gives me a usage message. It also works fine if I run 'biber --help'. But if I give it a file as an argument (e.g., 'biber test.bcf') before the cache is created, it unpacks itself and then hangs. After I kill it, I can rerun it with no problem. David Carlisle, who is also testing, finds that it still hangs even after the cache is created, but that may be a separate issue. Do you have any idea what might cause this? For me it's just a glitch. For David, it means that biber is unusable. Thanks. Ken