[rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Wed Jun 16 05:03:11 2010: Request 57948 was acted upon. Transaction: Correspondence added by RSCHUPP Queue: PAR-Packer Subject: Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 Please direct follow ups w.r.t. the build problem recently reported on this ticket (which is different from the original problem) to #58266
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Sun Jun 06 13:30:10 2010: Request 57948 was acted upon. Transaction: Correspondence added by m...@iki.fi Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 Running the installation again with force: force install PAR::Packer Seems to be able to complete the installation without errors. And the resulting executable works fine! I don't yet understand, what went wrong with the first installation round. Running the install twice seems to do the trick. -Matti
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Mon Jun 07 02:03:46 2010: Request 57948 was acted upon. Transaction: Correspondence added by roderich.sch...@googlemail.com Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: http://rt.cpan.org/Ticket/Display.html?id=57948 I don't yet understand, what went wrong with the first installation round. Running the install twice seems to do the trick I encountered that problem, too. Running dmake twice completes the build. Looks like I broke some subtle ordering constraint in the Makefile. Cheers, Roderich
[rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Mon Jun 07 07:29:57 2010: Request 57948 was acted upon. Transaction: Correspondence added by RSCHUPP Queue: PAR-Packer Subject: Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 Folks, the build problems have nothing to do with the original bug. Fort iem
[rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Mon Jun 07 07:34:19 2010: Request 57948 was acted upon. Transaction: Correspondence added by RSCHUPP Queue: PAR-Packer Subject: Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: resolved Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 Folks, the build problems have nothing to do with the original bug. For the time being, follow the advice in my last entry or file a new bug report, BUT KEEP THIS BUG RESOLVED.
[rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Sat Jun 05 18:42:55 2010: Request 57948 was acted upon. Transaction: Correspondence added by RSCHUPP Queue: PAR-Packer Subject: Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 I just released PAR::Packer 1.005 that should fix the issue with libgcc*.dll on Strawberry Perl 5.12. Cheers, Roderich
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Tue Jun 01 05:01:25 2010: Request 57948 was acted upon. Transaction: Correspondence added by SMUELLER Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 RSCHUPP via RT wrote: Queue: PAR-Packer Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 On Sun May 30 08:20:47 2010, mark.doot...@znix.com wrote: I don't think you can mix and match your linking model on Windows. So if you had a static perl.exe (or par.exe) you could not then load separate xs code dynamically - you would have to compile in all the xs modules you require. That's why, by default, you don't get a static perl built on MSWin. It is not generally useful. Thanks for the explanation, Mark. I'll hold my nose and try the load_me_3 approach then, stay tuned. Hey, I survived modifying the load_me stuff, too! But I probably have lower standards :) More seriously, I'm pretty sure you already know how it works, but it's just a vehicle of embedding an arbitrary file as a variable in C code extracting it when run. I believe I refactored some of it to be slightly less insane a few years back. It's still totally a kludge, but alas, I don't have a good idea of how we could work around it. Except that statically linking a libz for some minor compression and reduction of the executable file size would be really cool. Not saying *you* should do that, mind you. Cheers, Steffen
[rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Tue Jun 01 02:49:24 2010: Request 57948 was acted upon. Transaction: Correspondence added by RSCHUPP Queue: PAR-Packer Subject: Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 On Sun May 30 08:20:47 2010, mark.doot...@znix.com wrote: I don't think you can mix and match your linking model on Windows. So if you had a static perl.exe (or par.exe) you could not then load separate xs code dynamically - you would have to compile in all the xs modules you require. That's why, by default, you don't get a static perl built on MSWin. It is not generally useful. Thanks for the explanation, Mark. I'll hold my nose and try the load_me_3 approach then, stay tuned. Cheers, Roderich
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Sun May 30 08:20:47 2010: Request 57948 was acted upon. Transaction: Correspondence added by mark.doot...@znix.com Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 Hi, On 29/05/2010 17:55, RSCHUPP via RT wrote: So I see two possible options: - stick with a dynamically linked custom Perl and modify (conditionally for Strawberry only) the whole load_me_* shebang in myldr and add a load_me_3 file that would contain libgcc_s_*.dll (which would get extracted alongside par.exe and perl512.dll) - link the custom Perl statically, then the whole second bootstrap phase is omitted and the problem goes away I definitely don't want to touch the load_me stuff with a ten-foot pole, so I experimented with the latter option. However, even after tweaking myldr/Makefile by hand I couldn't produce a par.exe there that was NOT dynamically linked against perl512.dll. @Mark: Do you know why even g++ main.o my_par_pl.o -Wl,-Bstatic -Lc:\strawberry\perl\lib\CORE -lperl512 -o par.exe generates par.exe with a reference to perl512.dll? Cheers, Roderich I'm not absolutely certain of the total effect of passing -static to ld on windows. For '-lperl512' what matters is what is contained in perl512.lib or libperl512.a. I don't think you can mix and match your linking model on Windows. So if you had a static perl.exe (or par.exe) you could not then load separate xs code dynamically - you would have to compile in all the xs modules you require. That's why, by default, you don't get a static perl built on MSWin. It is not generally useful. In a dynamic perl, all the xs dll's are dynamically linked to perl512.dll. You can't mix and match static / dynamic linking. You have to add a load_me_3 file or some windows specific function that does the same thing, I'm afraid. Regards Mark
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Sat May 29 15:15:32 2010: Request 57948 was acted upon. Transaction: Correspondence added by m...@iki.fi Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: http://rt.cpan.org/Ticket/Display.html?id=57948 Known problem, buried deep in #57272. Can you please try the patch attached to https://rt.cpan.org/Ticket/Display.html?id=57272#txn-776549 Note that you must rebuild PAR::Packer with this patch, install it and then repack your script to test the fix. OK, now that I know what to look for and I think I have a little bit better understanding of the anatomy of the pp-generated executables, I re-checked the patch (bug #57272). It does include the DLL in the PAR package, but when I execute the executable, the temporary directory only has the following files: - perl512.dll - pingtest.exe In other words, the DLL is not extracted from the package. Bad news is that according to the cygcheck, both of these files depend on the libgcc_s_sjlj-1.dll. So, if I have understood previous messages correctly, it seems that all fingers are actually pointing to the MinGW. -Matti
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Sat May 29 09:03:30 2010: Request 57948 was acted upon. Transaction: Correspondence added by mark.doot...@znix.com Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 Hi, perl5xx.dll depends on libgcc_s_sjlj-1.dll, so libgcc_s_sjlj-1.dll needs to be packed with, and extracted with perl5xx.dll before any Perl code is run at all. Cheers Mark On 28/05/2010 20:49, mjk via RT wrote: Fri May 28 15:49:57 2010: Request 57948 was acted upon. Transaction: Correspondence added by m...@iki.fi Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open TicketURL: http://rt.cpan.org/Ticket/Display.html?id=57948 Known problem, buried deep in #57272. Can you please try the patch attached to https://rt.cpan.org/Ticket/Display.html?id=57272#txn-776549 Note that you must rebuild PAR::Packer with this patch, install it and then repack your script to test the fix. I tried the patch mentioned above. The problem still exists. The end result of the pp still depends on the libgcc_s_sjlj-1.dll. My guess is that including this library inside the packed script does not help because the executable for some reason requires the DLL at pretty early stage of the execution. So, the DLL inside the packed script has no effect in this case. If I have time, I have to investigate, what the PAR::Packer is doing while compiling the stub. I imagine that it should be possible to compile the stub in such way that this DLL is not needed when the stub part of the package is executing. -Matti
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Hi, On 29/05/2010 17:55, RSCHUPP via RT wrote: So I see two possible options: - stick with a dynamically linked custom Perl and modify (conditionally for Strawberry only) the whole load_me_* shebang in myldr and add a load_me_3 file that would contain libgcc_s_*.dll (which would get extracted alongside par.exe and perl512.dll) - link the custom Perl statically, then the whole second bootstrap phase is omitted and the problem goes away I definitely don't want to touch the load_me stuff with a ten-foot pole, so I experimented with the latter option. However, even after tweaking myldr/Makefile by hand I couldn't produce a par.exe there that was NOT dynamically linked against perl512.dll. @Mark: Do you know why even g++ main.o my_par_pl.o -Wl,-Bstatic -Lc:\strawberry\perl\lib\CORE -lperl512 -o par.exe generates par.exe with a reference to perl512.dll? Cheers, Roderich I'm not absolutely certain of the total effect of passing -static to ld on windows. For '-lperl512' what matters is what is contained in perl512.lib or libperl512.a. I don't think you can mix and match your linking model on Windows. So if you had a static perl.exe (or par.exe) you could not then load separate xs code dynamically - you would have to compile in all the xs modules you require. That's why, by default, you don't get a static perl built on MSWin. It is not generally useful. In a dynamic perl, all the xs dll's are dynamically linked to perl512.dll. You can't mix and match static / dynamic linking. You have to add a load_me_3 file or some windows specific function that does the same thing, I'm afraid. Regards Mark
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Fri May 28 15:49:57 2010: Request 57948 was acted upon. Transaction: Correspondence added by m...@iki.fi Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open Ticket URL: http://rt.cpan.org/Ticket/Display.html?id=57948 Known problem, buried deep in #57272. Can you please try the patch attached to https://rt.cpan.org/Ticket/Display.html?id=57272#txn-776549 Note that you must rebuild PAR::Packer with this patch, install it and then repack your script to test the fix. I tried the patch mentioned above. The problem still exists. The end result of the pp still depends on the libgcc_s_sjlj-1.dll. My guess is that including this library inside the packed script does not help because the executable for some reason requires the DLL at pretty early stage of the execution. So, the DLL inside the packed script has no effect in this case. If I have time, I have to investigate, what the PAR::Packer is doing while compiling the stub. I imagine that it should be possible to compile the stub in such way that this DLL is not needed when the stub part of the package is executing. -Matti
Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Hi, perl5xx.dll depends on libgcc_s_sjlj-1.dll, so libgcc_s_sjlj-1.dll needs to be packed with, and extracted with perl5xx.dll before any Perl code is run at all. Cheers Mark On 28/05/2010 20:49, mjk via RT wrote: Fri May 28 15:49:57 2010: Request 57948 was acted upon. Transaction: Correspondence added by m...@iki.fi Queue: PAR-Packer Subject: Re: [rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: open TicketURL: http://rt.cpan.org/Ticket/Display.html?id=57948 Known problem, buried deep in #57272. Can you please try the patch attached to https://rt.cpan.org/Ticket/Display.html?id=57272#txn-776549 Note that you must rebuild PAR::Packer with this patch, install it and then repack your script to test the fix. I tried the patch mentioned above. The problem still exists. The end result of the pp still depends on the libgcc_s_sjlj-1.dll. My guess is that including this library inside the packed script does not help because the executable for some reason requires the DLL at pretty early stage of the execution. So, the DLL inside the packed script has no effect in this case. If I have time, I have to investigate, what the PAR::Packer is doing while compiling the stub. I imagine that it should be possible to compile the stub in such way that this DLL is not needed when the stub part of the package is executing. -Matti
[rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Fri May 28 07:21:05 2010: Request 57948 was acted upon. Transaction: Ticket created by m...@iki.fi Queue: PAR-Packer Subject: Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: m...@iki.fi Status: new Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 Platform: Windows XP SP3 32-bit, Windows Vista SP2 32-bit Perl version: Strawberry Perl 5.12.0.1 PAR::Packer version: 1.004 Module installed via CPAN client PAR::Packer pp command generates executable files under Windows environment that depend on shared library called libgcc_s_sjlj-1.dll. It seems that parl.exe depends on this library. If the target platform does not have this shared library somewhere in the path, the following error message will be displayed: --- pingtest.exe - Unable To Locate Component --- This application has failed to start because libgcc_s_sjlj-1.dll was not found. Re-installing the application may fix this problem. --- OK --- The project was compiled with the command-line: pp -o pingtest.exe pingtest.pl If the libgcc_s_sjlj-1.dll is copied from the Strawberry Perl system (C:\Strawberry\perl\bin\libgcc_s_sjlj-1.dll) to the same directory with the pp-generated executable, the executable will work correctly. Trying to include the DLL into the packed executable with an -a option does not solve the problem. Side-note: for some reason a dependency checker (for example cygcheck) does not see that the generated executable depends on the libgcc_s_sjlj-1.dll. Best regards, Matti Kärki
[rt.cpan.org #57948] Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll
Fri May 28 08:51:39 2010: Request 57948 was acted upon. Transaction: Correspondence added by RSCHUPP Queue: PAR-Packer Subject: Bug report: pp-generated executable and a missing dependency libgcc_s_sjlj-1.dll Broken in: (no value) Severity: (no value) Owner: RSCHUPP Requestors: m...@iki.fi Status: new Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=57948 On Fri May 28 07:21:05 2010, m...@iki.fi wrote: PAR::Packer pp command generates executable files under Windows environment that depend on shared library called libgcc_s_sjlj-1.dll. It seems that parl.exe depends on this library. Known problem, buried deep in #57272. Can you please try the patch attached to https://rt.cpan.org/Ticket/Display.html?id=57272#txn-776549 Note that you must rebuild PAR::Packer with this patch, install it and then repack your script to test the fix. Cheers, Roderich