RE: packing Gtk2 scripts

[email protected] (RAPPAZ Francois via par) Tue, 19 Feb 2019 15:42:08 +0000
Newsgroups perl.par
Message-ID <[email protected]>
As a last try, I copied my perl tree, rename xxxx in xxxx_todel  for Gtk2, Glib, Cairo, Pango in site/lib and site/lib/auto
Installed the same modules from http://sisyphusion.tk/ppmindex.html
The scripts run from perl
When I use auto_link.pl the output is

DLL check iter: 1
DLL check iter: 2
DLL check iter: 3
DLL check iter: 4
DLL check iter: 5

Unable to locate these DLLS, packed script might not work: cairo.dll glib.dll pango.dll s1sfontconfig-1.dll s1sgtk-win32-2.0-0.dll

Detected link list: --link C:\strawberry\perl\bin/s1satk-1.0-0.dll --link C:\strawberry\perl\bin/s1sbz2-1.dll --link C:\strawberry\perl\bin/s1scairo-2.dll --link C:\strawberry\perl\bin/s1sexpat-1.dll --link C:\strawberry\perl\bin/s1sffi-6.dll --link C:\strawberry\perl\bin/s1sfreetype-6.dll --link C:\strawberry\perl\bin/s1sgcc_s_dw2-1.dll --link C:\strawberry\perl\bin/s1sgdk-win32-2.0-0.dll --link C:\strawberry\perl\bin/s1sgdk_pixbuf-2.0-0.dll --link C:\strawberry\perl\bin/s1sgio-2.0-0.dll --link C:\strawberry\perl\bin/s1sglib-2.0-0.dll --link C:\strawberry\perl\bin/s1sgmodule-2.0-0.dll --link C:\strawberry\perl\bin/s1sgobject-2.0-0.dll --link C:\strawberry\perl\bin/s1sgraphite2.dll --link C:\strawberry\perl\bin/s1sharfbuzz-0.dll --link C:\strawberry\perl\bin/s1siconv-2.dll --link C:\strawberry\perl\bin/s1sintl-8.dll --link C:\strawberry\perl\bin/s1spango-1.0-0.dll --link C:\strawberry\perl\bin/s1spangocairo-1.0-0.dll --link C:\strawberry\perl\bin/s1spangoft2-1.0-0.dll --link C:\strawberry\perl\bin/s1spangowin32-1.0-0.dll --link C:\strawberry\perl\bin/s1spcre-1.dll --link C:\strawberry\perl\bin/s1spixman-1-0.dll --link C:\strawberry\perl\bin/s1spng16-16.dll --link C:\strawberry\perl\bin/s1sstdc++-6.dll --link C:\strawberry\perl\bin/s1swinpthread-1.dll --link C:\strawberry\perl\bin/zs1s1.dll

My included dlls are now
-l 'C:/strawberry/perl/site/lib/auto/Cairo/Cairo.dll'
-l 'C:/strawberry/perl/site/lib/auto/Glib/Glib.dll'
-l 'C:/strawberry/perl/site/lib/auto/Gtk2/Gtk2.dll'
-l 'C:/strawberry/perl/site/lib/auto/Pango/Pango.dll'
-l 'C:/strawberry/perl/site/lib/auto/Cairo/s1sfontconfig-1.dll'
-l 'C:/strawberry/perl/site/lib/auto/Gtk2/s1sgtk-win32-2.0-0.dll'

Making the archive without renaming in auto *works*
Renaming the folders in auto gives the same error as before…

F.


From: RAPPAZ Francois
Sent: 19 February 2019 11:57
To: 'Shawn Laffan' <[email protected]>
Subject: RE: packing Gtk2 scripts

strawberry/c/bin, where zlib_.dll is, is in the path.
Yes the script works with perl and not once packed

F.

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 19 February 2019 11:51
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Subject: Re: packing Gtk2 scripts

I assume those are loaded in a different way by perl.

Looking at your results, the zlib_.dll file is coming from the strawberry folder.  Is this in the path when your script works?  It's a long thread, and I forget if you have the code working with strawberry perl, but not when packed, or if this is a more recent installation of strawberry perl.


On Tue, 19 Feb 2019 at 21:37, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
How come the xs.dll in lib/auto are not included ? it is because the script uses the path ?
Here is the whole list

U:\docs\perl\dokpe_i02_dd>list_all_dlls.pl<http://list_all_dlls.pl>
7-zip.dll => C:\Program Files\7-Zip/7-zip.dll
7-zip32.dll => C:\Program Files\7-Zip/7-zip32.dll
7z.dll => C:\Program Files\7-Zip/7z.dll
attach.dll => C:\Program Files\Java\jdk-9\bin/attach.dll
awt.dll => C:\Program Files\Java\jdk-9\bin/awt.dll
bci.dll => C:\Program Files\Java\jdk-9\bin/bci.dll
cmm.dll => C:\Program Files\Java\jdk-9\bin/cmm.dll
dcpr.dll => C:\Program Files\Java\jdk-9\bin/dcpr.dll
decora_sse.dll => C:\Program Files\Java\jdk-9\bin/decora_sse.dll
deploy.dll => C:\Program Files\Java\jdk-9\bin/deploy.dll
dt_shmem.dll => C:\Program Files\Java\jdk-9\bin/dt_shmem.dll
dt_socket.dll => C:\Program Files\Java\jdk-9\bin/dt_socket.dll
eula.dll => C:\Program Files\Java\jdk-9\bin/eula.dll
fontmanager.dll => C:\Program Files\Java\jdk-9\bin/fontmanager.dll
freeglut.dll => C:\strawberry\perl\bin/freeglut.dll
freetype6.dll => C:\prog\gtk+\bin/freetype6.dll
fxplugins.dll => C:\Program Files\Java\jdk-9\bin/fxplugins.dll
glass.dll => C:\Program Files\Java\jdk-9\bin/glass.dll
glib-lite.dll => C:\Program Files\Java\jdk-9\bin/glib-lite.dll
gstreamer-lite.dll => C:\Program Files\Java\jdk-9\bin/gstreamer-lite.dll
gvimext.dll => C:\prog\Vim\vim80/gvimext.dll
instrument.dll => C:\Program Files\Java\jdk-9\bin/instrument.dll
intl.dll => C:\prog\gtk+\bin/intl.dll
j2pcsc.dll => C:\Program Files\Java\jdk-9\bin/j2pcsc.dll
j2pkcs11.dll => C:\Program Files\Java\jdk-9\bin/j2pkcs11.dll
jaas_nt.dll => C:\Program Files\Java\jdk-9\bin/jaas_nt.dll
java.dll => C:\Program Files\Java\jdk-9\bin/java.dll
javaaccessbridge.dll => C:\Program Files\Java\jdk-9\bin/javaaccessbridge.dll
javafx_font.dll => C:\Program Files\Java\jdk-9\bin/javafx_font.dll
javafx_font_t2k.dll => C:\Program Files\Java\jdk-9\bin/javafx_font_t2k.dll
javafx_iio.dll => C:\Program Files\Java\jdk-9\bin/javafx_iio.dll
javajpeg.dll => C:\Program Files\Java\jdk-9\bin/javajpeg.dll
jawt.dll => C:\Program Files\Java\jdk-9\bin/jawt.dll
jdwp.dll => C:\Program Files\Java\jdk-9\bin/jdwp.dll
jfxmedia.dll => C:\Program Files\Java\jdk-9\bin/jfxmedia.dll
jfxwebkit.dll => C:\Program Files\Java\jdk-9\bin/jfxwebkit.dll
jimage.dll => C:\Program Files\Java\jdk-9\bin/jimage.dll
jli.dll => C:\Program Files\Java\jdk-9\bin/jli.dll
jp2iexp.dll => C:\Program Files\Java\jdk-9\bin/jp2iexp.dll
jp2native.dll => C:\Program Files\Java\jdk-9\bin/jp2native.dll
jp2ssv.dll => C:\Program Files\Java\jdk-9\bin/jp2ssv.dll
jsound.dll => C:\Program Files\Java\jdk-9\bin/jsound.dll
jsoundds.dll => C:\Program Files\Java\jdk-9\bin/jsoundds.dll
kcms.dll => C:\Program Files\Java\jdk-9\bin/kcms.dll
lcms.dll => C:\Program Files\Java\jdk-9\bin/lcms.dll
le.dll => C:\Program Files\Java\jdk-9\bin/le.dll
libXpm_.dll => C:\strawberry\c\bin/libXpm_.dll
libasprintf-0.dll => C:\prog\gtk+\bin/libasprintf-0.dll
libatk-1.0-0.dll => C:\prog\gtk+\bin/libatk-1.0-0.dll
libatomic-1.dll => C:\strawberry\c\bin/libatomic-1.dll
libbtparse.dll => C:\strawberry\c\bin/libbtparse.dll
libbz2-1_.dll => C:\strawberry\c\bin/libbz2-1_.dll
libcairo-2.dll => C:\prog\gtk+\bin/libcairo-2.dll
libcairo-gobject-2.dll => C:\prog\gtk+\bin/libcairo-gobject-2.dll
libcairo-script-interpreter-2.dll => C:\prog\gtk+\bin/libcairo-script-interpreter-2.dll
libcharset-1_.dll => C:\strawberry\c\bin/libcharset-1_.dll
libdb-6.2_.dll => C:\strawberry\c\bin/libdb-6.2_.dll
libeay32_.dll => C:\strawberry\c\bin/libeay32_.dll
libexpat-1.dll => C:\prog\gtk+\bin/libexpat-1.dll
libexpat-1_.dll => C:\strawberry\c\bin/libexpat-1_.dll
libexslt-0_.dll => C:\strawberry\c\bin/libexslt-0_.dll
libffi-6_.dll => C:\strawberry\c\bin/libffi-6_.dll
libfontconfig-1.dll => C:\prog\gtk+\bin/libfontconfig-1.dll
libfreetype-6_.dll => C:\strawberry\c\bin/libfreetype-6_.dll
libgailutil-18.dll => C:\prog\gtk+\bin/libgailutil-18.dll
libgcc_s_dw2-1.dll => C:\prog\gtk+\bin/libgcc_s_dw2-1.dll
libgcc_s_sjlj-1.dll => C:\strawberry\c\bin/libgcc_s_sjlj-1.dll
libgd-3_.dll => C:\strawberry\c\bin/libgd-3_.dll
libgdbm-4_.dll => C:\strawberry\c\bin/libgdbm-4_.dll
libgdbm_compat-4_.dll => C:\strawberry\c\bin/libgdbm_compat-4_.dll
libgdk-win32-2.0-0.dll => C:\prog\gtk+\bin/libgdk-win32-2.0-0.dll
libgdk_pixbuf-2.0-0.dll => C:\prog\gtk+\bin/libgdk_pixbuf-2.0-0.dll
libgfortran-3.dll => C:\strawberry\c\bin/libgfortran-3.dll
libgif-7_.dll => C:\strawberry\c\bin/libgif-7_.dll
libgio-2.0-0.dll => C:\prog\gtk+\bin/libgio-2.0-0.dll
libgladeui-1-10.dll => C:\prog\gtk+\bin/libgladeui-1-10.dll
libglib-2.0-0.dll => C:\prog\gtk+\bin/libglib-2.0-0.dll
libglut-0_.dll => C:\strawberry\c\bin/libglut-0_.dll
libgmodule-2.0-0.dll => C:\prog\gtk+\bin/libgmodule-2.0-0.dll
libgobject-2.0-0.dll => C:\prog\gtk+\bin/libgobject-2.0-0.dll
libgomp-1.dll => C:\strawberry\c\bin/libgomp-1.dll
libgthread-2.0-0.dll => C:\prog\gtk+\bin/libgthread-2.0-0.dll
libgtk-win32-2.0-0.dll => C:\prog\gtk+\bin/libgtk-win32-2.0-0.dll
libiconv-2.dll => C:\prog\Vim\vim80/libiconv-2.dll
libiconv-2_.dll => C:\strawberry\c\bin/libiconv-2_.dll
libintl-8.dll => C:\prog\Vim\vim80/libintl-8.dll
libjpeg-9_.dll => C:\strawberry\c\bin/libjpeg-9_.dll
liblzma-5_.dll => C:\strawberry\c\bin/liblzma-5_.dll
libmySQL.dll => C:\Program Files (x86)\MySQL\bin/libmySQL.dll
libmysql_.dll => C:\strawberry\c\bin/libmysql_.dll
libpango-1.0-0.dll => C:\prog\gtk+\bin/libpango-1.0-0.dll
libpangocairo-1.0-0.dll => C:\prog\gtk+\bin/libpangocairo-1.0-0.dll
libpangoft2-1.0-0.dll => C:\prog\gtk+\bin/libpangoft2-1.0-0.dll
libpangowin32-1.0-0.dll => C:\prog\gtk+\bin/libpangowin32-1.0-0.dll
libpng14-14.dll => C:\prog\gtk+\bin/libpng14-14.dll
libpng16-16_.dll => C:\strawberry\c\bin/libpng16-16_.dll
libpq_.dll => C:\strawberry\c\bin/libpq_.dll
libquadmath-0.dll => C:\strawberry\c\bin/libquadmath-0.dll
libssh2-1_.dll => C:\strawberry\c\bin/libssh2-1_.dll
libssp-0.dll => C:\strawberry\c\bin/libssp-0.dll
libstdc++-6.dll => C:\strawberry\c\bin/libstdc++-6.dll
libt1-5_.dll => C:\strawberry\c\bin/libt1-5_.dll
libtiff-5_.dll => C:\strawberry\c\bin/libtiff-5_.dll
libtiffxx-5_.dll => C:\strawberry\c\bin/libtiffxx-5_.dll
libwinpthread-1.dll => C:\strawberry\c\bin/libwinpthread-1.dll
libxml2-2.dll => C:\prog\gtk+\bin/libxml2-2.dll
libxml2-2_.dll => C:\strawberry\c\bin/libxml2-2_.dll
libxslt-1_.dll => C:\strawberry\c\bin/libxslt-1_.dll
management.dll => C:\Program Files\Java\jdk-9\bin/management.dll
management_agent.dll => C:\Program Files\Java\jdk-9\bin/management_agent.dll
management_ext.dll => C:\Program Files\Java\jdk-9\bin/management_ext.dll
mlib_image.dll => C:\Program Files\Java\jdk-9\bin/mlib_image.dll
msvcp120.dll => C:\Program Files\Java\jdk-9\bin/msvcp120.dll
msvcr120.dll => C:\Program Files\Java\jdk-9\bin/msvcr120.dll
msys-2.0.dll => C:\msys64\usr\bin/msys-2.0.dll
msys-archive-13.dll => C:\msys64\usr\bin/msys-archive-13.dll
msys-asn1-8.dll => C:\msys64\usr\bin/msys-asn1-8.dll
msys-asprintf-0.dll => C:\msys64\usr\bin/msys-asprintf-0.dll
msys-assuan-0.dll => C:\msys64\usr\bin/msys-assuan-0.dll
msys-atomic-1.dll => C:\msys64\usr\bin/msys-atomic-1.dll
msys-blkid-1.dll => C:\msys64\usr\bin/msys-blkid-1.dll
msys-bz2-1.dll => C:\msys64\usr\bin/msys-bz2-1.dll
msys-catgets1.dll => C:\msys64\usr\bin/msys-catgets1.dll
msys-charset-1.dll => C:\msys64\usr\bin/msys-charset-1.dll
msys-cilkrts-5.dll => C:\msys64\usr\bin/msys-cilkrts-5.dll
msys-com_err-1.dll => C:\msys64\usr\bin/msys-com_err-1.dll
msys-crypt-0.dll => C:\msys64\usr\bin/msys-crypt-0.dll
msys-crypto-1.0.0.dll => C:\msys64\usr\bin/msys-crypto-1.0.0.dll
msys-curl-4.dll => C:\msys64\usr\bin/msys-curl-4.dll
msys-db-5.3.dll => C:\msys64\usr\bin/msys-db-5.3.dll
msys-db_cxx-5.3.dll => C:\msys64\usr\bin/msys-db_cxx-5.3.dll
msys-edit-0.dll => C:\msys64\usr\bin/msys-edit-0.dll
msys-expat-1.dll => C:\msys64\usr\bin/msys-expat-1.dll
msys-fdisk-1.dll => C:\msys64\usr\bin/msys-fdisk-1.dll
msys-ffi-6.dll => C:\msys64\usr\bin/msys-ffi-6.dll
msys-formw6.dll => C:\msys64\usr\bin/msys-formw6.dll
msys-gcc_s-seh-1.dll => C:\msys64\usr\bin/msys-gcc_s-seh-1.dll
msys-gettextlib-0-19-7.dll => C:\msys64\usr\bin/msys-gettextlib-0-19-7.dll
msys-gettextpo-0.dll => C:\msys64\usr\bin/msys-gettextpo-0.dll
msys-gettextsrc-0-19-7.dll => C:\msys64\usr\bin/msys-gettextsrc-0-19-7.dll
msys-gfortran-3.dll => C:\msys64\usr\bin/msys-gfortran-3.dll
msys-gmp-10.dll => C:\msys64\usr\bin/msys-gmp-10.dll
msys-gmpxx-4.dll => C:\msys64\usr\bin/msys-gmpxx-4.dll
msys-gnutls-30.dll => C:\msys64\usr\bin/msys-gnutls-30.dll
msys-gnutlsxx-28.dll => C:\msys64\usr\bin/msys-gnutlsxx-28.dll
msys-gomp-1.dll => C:\msys64\usr\bin/msys-gomp-1.dll
msys-gomp-plugin-host_nonshm-1.dll => C:\msys64\usr\bin/msys-gomp-plugin-host_nonshm-1.dll
msys-gpg-error-0.dll => C:\msys64\usr\bin/msys-gpg-error-0.dll
msys-gpgme-11.dll => C:\msys64\usr\bin/msys-gpgme-11.dll
msys-gpgme-pthread-11.dll => C:\msys64\usr\bin/msys-gpgme-pthread-11.dll
msys-gssapi-3.dll => C:\msys64\usr\bin/msys-gssapi-3.dll
msys-hdb-9.dll => C:\msys64\usr\bin/msys-hdb-9.dll
msys-heimbase-1.dll => C:\msys64\usr\bin/msys-heimbase-1.dll
msys-heimntlm-0.dll => C:\msys64\usr\bin/msys-heimntlm-0.dll
msys-history6.dll => C:\msys64\usr\bin/msys-history6.dll
msys-hogweed-4.dll => C:\msys64\usr\bin/msys-hogweed-4.dll
msys-hx509-5.dll => C:\msys64\usr\bin/msys-hx509-5.dll
msys-iconv-2.dll => C:\msys64\usr\bin/msys-iconv-2.dll
msys-icudata56.dll => C:\msys64\usr\bin/msys-icudata56.dll
msys-icui18n56.dll => C:\msys64\usr\bin/msys-icui18n56.dll
msys-icuio56.dll => C:\msys64\usr\bin/msys-icuio56.dll
msys-icule56.dll => C:\msys64\usr\bin/msys-icule56.dll
msys-iculx56.dll => C:\msys64\usr\bin/msys-iculx56.dll
msys-icutest56.dll => C:\msys64\usr\bin/msys-icutest56.dll
msys-icutu56.dll => C:\msys64\usr\bin/msys-icutu56.dll
msys-icuuc56.dll => C:\msys64\usr\bin/msys-icuuc56.dll
msys-idn-11.dll => C:\msys64\usr\bin/msys-idn-11.dll
msys-intl-8.dll => C:\msys64\usr\bin/msys-intl-8.dll
msys-kadm5clnt-7.dll => C:\msys64\usr\bin/msys-kadm5clnt-7.dll
msys-kadm5srv-8.dll => C:\msys64\usr\bin/msys-kadm5srv-8.dll
msys-kafs-0.dll => C:\msys64\usr\bin/msys-kafs-0.dll
msys-kdc-2.dll => C:\msys64\usr\bin/msys-kdc-2.dll
msys-krb5-26.dll => C:\msys64\usr\bin/msys-krb5-26.dll
msys-lzma-5.dll => C:\msys64\usr\bin/msys-lzma-5.dll
msys-lzo2-2.dll => C:\msys64\usr\bin/msys-lzo2-2.dll
msys-magic-1.dll => C:\msys64\usr\bin/msys-magic-1.dll
msys-menuw6.dll => C:\msys64\usr\bin/msys-menuw6.dll
msys-metalink-3.dll => C:\msys64\usr\bin/msys-metalink-3.dll
msys-mpfr-4.dll => C:\msys64\usr\bin/msys-mpfr-4.dll
msys-ncurses++w6.dll => C:\msys64\usr\bin/msys-ncurses++w6.dll
msys-ncursesw6.dll => C:\msys64\usr\bin/msys-ncursesw6.dll
msys-nettle-6.dll => C:\msys64\usr\bin/msys-nettle-6.dll
msys-otp-0.dll => C:\msys64\usr\bin/msys-otp-0.dll
msys-p11-kit-0.dll => C:\msys64\usr\bin/msys-p11-kit-0.dll
msys-panelw6.dll => C:\msys64\usr\bin/msys-panelw6.dll
msys-pcre-1.dll => C:\msys64\usr\bin/msys-pcre-1.dll
msys-pcre16-0.dll => C:\msys64\usr\bin/msys-pcre16-0.dll
msys-pcre32-0.dll => C:\msys64\usr\bin/msys-pcre32-0.dll
msys-pcrecpp-0.dll => C:\msys64\usr\bin/msys-pcrecpp-0.dll
msys-pcreposix-0.dll => C:\msys64\usr\bin/msys-pcreposix-0.dll
msys-quadmath-0.dll => C:\msys64\usr\bin/msys-quadmath-0.dll
msys-readline6.dll => C:\msys64\usr\bin/msys-readline6.dll
msys-roken-18.dll => C:\msys64\usr\bin/msys-roken-18.dll
msys-sl-0.dll => C:\msys64\usr\bin/msys-sl-0.dll
msys-smartcols-1.dll => C:\msys64\usr\bin/msys-smartcols-1.dll
msys-sqlite3-0.dll => C:\msys64\usr\bin/msys-sqlite3-0.dll
msys-sqlite3amatch-0.dll => C:\msys64\usr\bin/msys-sqlite3amatch-0.dll
msys-sqlite3closure-0.dll => C:\msys64\usr\bin/msys-sqlite3closure-0.dll
msys-sqlite3compress-0.dll => C:\msys64\usr\bin/msys-sqlite3compress-0.dll
msys-sqlite3eval-0.dll => C:\msys64\usr\bin/msys-sqlite3eval-0.dll
msys-sqlite3fileio-0.dll => C:\msys64\usr\bin/msys-sqlite3fileio-0.dll
msys-sqlite3fuzzer-0.dll => C:\msys64\usr\bin/msys-sqlite3fuzzer-0.dll
msys-sqlite3icu-0.dll => C:\msys64\usr\bin/msys-sqlite3icu-0.dll
msys-sqlite3ieee754-0.dll => C:\msys64\usr\bin/msys-sqlite3ieee754-0.dll
msys-sqlite3nextchar-0.dll => C:\msys64\usr\bin/msys-sqlite3nextchar-0.dll
msys-sqlite3percentile-0.dll => C:\msys64\usr\bin/msys-sqlite3percentile-0.dll
msys-sqlite3rbu-0.dll => C:\msys64\usr\bin/msys-sqlite3rbu-0.dll
msys-sqlite3regexp-0.dll => C:\msys64\usr\bin/msys-sqlite3regexp-0.dll
msys-sqlite3rot13-0.dll => C:\msys64\usr\bin/msys-sqlite3rot13-0.dll
msys-sqlite3series-0.dll => C:\msys64\usr\bin/msys-sqlite3series-0.dll
msys-sqlite3showauth-0.dll => C:\msys64\usr\bin/msys-sqlite3showauth-0.dll
msys-sqlite3spellfix-0.dll => C:\msys64\usr\bin/msys-sqlite3spellfix-0.dll
msys-sqlite3totype-0.dll => C:\msys64\usr\bin/msys-sqlite3totype-0.dll
msys-sqlite3vfslog-0.dll => C:\msys64\usr\bin/msys-sqlite3vfslog-0.dll
msys-sqlite3vtshim-0.dll => C:\msys64\usr\bin/msys-sqlite3vtshim-0.dll
msys-sqlite3wholenumber-0.dll => C:\msys64\usr\bin/msys-sqlite3wholenumber-0.dll
msys-ssh2-1.dll => C:\msys64\usr\bin/msys-ssh2-1.dll
msys-ssl-1.0.0.dll => C:\msys64\usr\bin/msys-ssl-1.0.0.dll
msys-ssp-0.dll => C:\msys64\usr\bin/msys-ssp-0.dll
msys-stdc++-6.dll => C:\msys64\usr\bin/msys-stdc++-6.dll
msys-tasn1-6.dll => C:\msys64\usr\bin/msys-tasn1-6.dll
msys-ticw6.dll => C:\msys64\usr\bin/msys-ticw6.dll
msys-uuid-1.dll => C:\msys64\usr\bin/msys-uuid-1.dll
msys-vtv-0.dll => C:\msys64\usr\bin/msys-vtv-0.dll
msys-vtv_stubs-0.dll => C:\msys64\usr\bin/msys-vtv_stubs-0.dll
msys-wind-0.dll => C:\msys64\usr\bin/msys-wind-0.dll
msys-xml2-2.dll => C:\msys64\usr\bin/msys-xml2-2.dll
msys-z.dll => C:\msys64\usr\bin/msys-z.dll
net.dll => C:\Program Files\Java\jdk-9\bin/net.dll
nio.dll => C:\Program Files\Java\jdk-9\bin/nio.dll
perl524.dll => C:\strawberry\perl\bin/perl524.dll
prefs.dll => C:\Program Files\Java\jdk-9\bin/prefs.dll
prism_common.dll => C:\Program Files\Java\jdk-9\bin/prism_common.dll
prism_d3d.dll => C:\Program Files\Java\jdk-9\bin/prism_d3d.dll
prism_sw.dll => C:\Program Files\Java\jdk-9\bin/prism_sw.dll
rm.dll => C:\Program Files\Java\jdk-9\bin/rm.dll
rmi.dll => C:\Program Files\Java\jdk-9\bin/rmi.dll
sawindbg.dll => C:\Program Files\Java\jdk-9\bin/sawindbg.dll
splashscreen.dll => C:\Program Files\Java\jdk-9\bin/splashscreen.dll
sqlite3.dll => C:\prog\sqlite/sqlite3.dll
ssleay32_.dll => C:\strawberry\c\bin/ssleay32_.dll
sunec.dll => C:\Program Files\Java\jdk-9\bin/sunec.dll
sunmscapi.dll => C:\Program Files\Java\jdk-9\bin/sunmscapi.dll
t2k.dll => C:\Program Files\Java\jdk-9\bin/t2k.dll
unpack.dll => C:\Program Files\Java\jdk-9\bin/unpack.dll
verify.dll => C:\Program Files\Java\jdk-9\bin/verify.dll
w2k_lsa_auth.dll => C:\Program Files\Java\jdk-9\bin/w2k_lsa_auth.dll
windowsaccessbridge-64.dll => C:\Program Files\Java\jdk-9\bin/windowsaccessbridge-64.dll
wsdetect.dll => C:\Program Files\Java\jdk-9\bin/wsdetect.dll
zip.dll => C:\Program Files\Java\jdk-9\bin/zip.dll
zlib1.dll => C:\prog\gtk+\bin/zlib1.dll
zlib1_.dll => C:\strawberry\c\bin/zlib1_.dll
zlib_.dll => C:\strawberry\c\bin/zlib_.dll

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 19 February 2019 11:10
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Subject: Re: packing Gtk2 scripts

I just pushed a new script to the github repo to show the location of one or all dlls.

https://github.com/shawnlaffan/perl-pp-autolink/blob/master/bin/list_all_dlls.pl

If you specify no arguments then it will list all DLLs in your path (that are not in windows system folders).  If you specify an argument then it will use it as a file glob.  e.g.:

perl list_all_dlls.pl<http://list_all_dlls.pl> zlib_.dll

Anything dll starting with z (you need the quotes so windows does not expand the z*):

perl list_all_dlls.pl<http://list_all_dlls.pl> "z*.dll"







On Tue, 19 Feb 2019 at 20:27, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
How can I find this ?

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 19 February 2019 10:11
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Subject: Re: packing Gtk2 scripts

Hmmm.  And the zlib_.dll you packed is the first one in your path?

On Tue, 19 Feb 2019 at 20:06, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
Yes

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 19 February 2019 10:00
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Subject: Re: packing Gtk2 scripts

Your script is the same as before?  i.e. it adds $ENV{PAR_TEMP} to the path in a begin block before it uses Gtk2?

On Tue, 19 Feb 2019 at 19:58, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
I did copy zlib1.dll in zlib_.dll and list in the option
-l zlib_.dll

Now in \shlib\MSWin32-x86-multi-thread-64int I have both zlib_ and zlib1 dll
But the exe gives the same errors

F.

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 19 February 2019 09:43
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Subject: Re: packing Gtk2 scripts

Sorry, I meant libz_.dll (one underscore) and not libz__.dll (two underscores).

The one to use is the one in your path when you run your script.  If it is in your normal path then it should be found by pp_autolink, so perhaps there is another issue with the script.

What happens if you manually add --link \path\to\zlib_.dll to the p_autolink call?



On Tue, 19 Feb 2019 at 19:36, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
On my two perl set up it is a zlib1_.dll I have
Do you want me to copy this and rename it with zlib__.dll ?

F

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 19 February 2019 09:32
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Subject: Re: packing Gtk2 scripts

zlib__.dll is one of the DLLs distributed with strawberry perl, it is under the c\bin folder.

My Gtk uses the sisyphusion dlls, for which zs1s1.dll is the substitute.


On Tue, 19 Feb 2019 at 19:26, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
Just by chance, I found a zlib1_.dll in perl portable : c:/spp/c/bin folder

Where does the name zlib_.dll comes from in your script ?
F.



From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 19 February 2019 09:19
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: packing Gtk2 scripts

Is the zlib_.dll file on another drive, one that is in your path?

To run gmake, pp etc you need to ensure that the various bin folders in your portable perl are in your path.  The easiest way to do this is to launch portableshell.bat under the top folder of the portable strawberry perl.


And just for reference, I get the output below for a script that uses Gtk2 (code at end).  All of the DLLs listed as not found are located within subdirs of C:\berrybrew\5.28.0_64_PDL\perl\site\lib\auto\ (Pango, Cairo, Gtk2 and Glib), and are thus packed (unpacked) under $ENV{PAR_TEMP}/inc.


perl bin\pp_autolink.pl<http://pp_autolink.pl> tester.pl<http://tester.pl>
DLL check iter: 1
DLL check iter: 2
DLL check iter: 3
DLL check iter: 4
DLL check iter: 5

Unable to locate these DLLS, packed script might not work: cairo.dll glib.dll pango.dll s1sfontconfig-1.dll s1sgtk-win32-2.0-0.dll

Detected link list: --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1satk-1.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sbz2-1.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1scairo-2.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sexpat-1.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sffi-6.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sfreetype-6.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sgcc_s_seh-1.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sgdk-win32-2.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sgdk_pixbuf-2.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sgio-2.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sglib-2.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sgmodule-2.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sgobject-2.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sgraphite2.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sharfbuzz-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1siconv-2.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sintl-8.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1spango-1.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1spangocairo-1.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1spangoft2-1.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1spangowin32-1.0-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1spcre-1.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1spixman-1-0.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1spng16-16.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1sstdc++-6.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/s1swinpthread-1.dll --link C:\berrybrew\5.28.0_64_PDL\perl\bin/zs1s1.dll


Code:

use strict;
use warnings;

BEGIN {
    if ($ENV{PAR_0}) {
        print "Adding $ENV{PAR_TEMP} to the path\n";
        use Config;
        $ENV{PATH} = "$ENV{PAR_TEMP}$Config{path_sep}$ENV{PATH}";
    }
};

use Gtk2;
Gtk2->init;

print "1";



On Tue, 19 Feb 2019 at 19:13, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
No libz_ file on my C: drive

I have a  PAR::Packer folder in my portable perl site/lib but pp is not recognize on the command line. It’s not a question of testing but of making it, I supose. I can get gmake to work now.


F.

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 19 February 2019 08:55
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: packing Gtk2 scripts

Where is libz_.dll on your system?

I would assume (perhaps incorrectly) the .xs.dll files are picked up as part of the usual loading process, as they are not in the path when pp_autoload is run, but libz_.dll should be there somewhere.  Possibly pp_autolink is not identifying it properly.

In regards to getting PAR::Packer installed on the portable strawberry, I think you can skip the tests when installing.  It is a portable strawberry perl, so if you later identify that PAR::Packer did not build or install properly then you can just delete the whole portable perl and start with a clean one.  Except for the antivirus issue PAR::Packer is unlikely to have other failures: https://www.cpantesters.org/distro/P/PAR-Packer.html?oncpan=1&distmat=1&version=1.047&grade=2

Shawn.






On Tue, 19 Feb 2019 at 18:20, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
Hi there,

I download the new version of Shawn’s script.
The script’s messages  were
DLL check iter: 1
DLL check iter: 2
Unable to locate these DLLS, packed script might not work: cairo.xs.dll glib.xs.dll libz_.dll pango.xs.dll
Detected link list: --link C:\prog\gtk+\bin/freetype6.dll --link C:\prog\gtk+\bin/intl.dll --link C:\prog\gtk+\bin/libatk-1.0-0.dll --link C:\prog\gtk+\bin/libcairo-2.dll --link C:\prog\gtk+\bin/libexpat-1.dll --link C:\prog\gtk+\bin/libfontconfig-1.dll --link C:\prog\gtk+\bin/libgdk-win32-2.0-0.dll --link C:\prog\gtk+\bin/libgdk_pixbuf-2.0-0.dll --link C:\prog\gtk+\bin/libgio-2.0-0.dll --link C:\prog\gtk+\bin/libglib-2.0-0.dll --link C:\prog\gtk+\bin/libgmodule-2.0-0.dll --link C:\prog\gtk+\bin/libgobject-2.0-0.dll --link C:\prog\gtk+\bin/libgthread-2.0-0.dll --link C:\prog\gtk+\bin/libgtk-win32-2.0-0.dll --link C:\prog\gtk+\bin/libpango-1.0-0.dll --link C:\prog\gtk+\bin/libpangocairo-1.0-0.dll --link C:\prog\gtk+\bin/libpangoft2-1.0-0.dll --link C:\prog\gtk+\bin/libpangowin32-1.0-0.dll --link C:\prog\gtk+\bin/libpng14-14.dll --link C:\prog\gtk+\bin/zlib1.dll

perl pp_autolink.pl<http://pp_autolink.pl> -o %file%.exe simple.pl<http://simple.pl>

Unable to locate these DLLS, packed script might not work: cairo.xs.dll glib.xs.dll libz_.dll pango.xs.dll
When I run %file%.exe
Can't load 'C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-70fbf47e9763857f88ec537021fcf7af875b7a06\778ce824.xs.dll' for module Pango: load_file:The specified module could not be found at C:/strawberry/perl/lib/DynaLoader.pm line 193.


With adding the Cairo.xs.dll and co
When I run the exe
GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed at C:/strawberry/perl/lib/DynaLoader.pm line 210.
cannot register alias Gtk2::Pango::Attribute for the unregistered type (null) at C:/strawberry/perl/lib/DynaLoader.pm line 210.

With adding the xs.dll and renaming the folder Cairo etc in lib/auto of the zip file
When I run the exe
Can't locate loadable object for module Glib in @INC (@INC contains: C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-cae678787c742e4667f145613926678f88b6e4c4\inc\lib C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-cae678787c742e4667f145613926678f88b6e4c4\inc CODE(0x318a334) CODE(0x318a52c)) at C:/strawberry/perl/site/lib/PAR/Heavy.pm line 99.
Compilation failed in require at script/simple.pl<http://simple.pl> line 12.
BEGIN failed--compilation aborted at script/simple.pl<http://simple.pl> line 12.
Adding C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-cae678787c742e4667f145613926678f88b6e4c4 to the path

So the error comes before the print in the BEGIN bloc.

I'm stuck with installing the portable strawberry: I have to wait to be able to inactivate Windows defender to setup PAR::Packer, and I have an error when I tried to connect to mysql, about a mysql_old_password plugin.
I don't know if I can solve this on the client side only when connecting, or if I should downgrade the mysql driver (Getting help from my DB admin is not an option ...)

Cheers

François

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 17 February 2019 11:08
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: packing Gtk2 scripts

Francois,

I just identified and fixed an issue with pp_autolink where it was not handling case insensitivity.  It is possible the previous runs were not linking all of the DLLs.

Could you try again with the latest version?

Shawn.



On Thu, 14 Feb 2019 at 20:15, Shawn Laffan <[email protected]<mailto:[email protected]>> wrote:
PAR::Packer often triggers antivirus software.  If you are prepared to do so you can disable it while installing PAR::Packer.  Alternately you can skip the tests.

cpanm --notest PAR::Packer

Shawn.


On Thu, 14 Feb 2019 at 20:11, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
I install a portable version of Strawberry perl and the Gtk2 stuck from sisyphusion
I can run the simple.pl<http://simple.pl> script.

But I can get PAR::Packer install, I download it from cpan and gmake complains

Invalid argument at encode_append.pl<http://encode_append.pl> line 45.
gmake[1]: *** [Makefile:900: Static.pm] Error 22
gmake[1]: Leaving directory 'c:/spp/cpan/build/PAR-Packer-1.047-0/myldr'
gmake: *** [Makefile:543: subdirs] Error 2

And I received msg from the windows defender…

Idea ?

F.

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 14 February 2019 08:36
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Subject: Re: packing Gtk2 scripts

Both short and long scripts work for me.

I wonder if it is worth going for the clean option and using the PPMs from sisyphusion.tk<http://sisyphusion.tk> in a fresh installation of Strawberry perl.  If you use the Strawberry perl portable version then it will not interfere with your current installation.

Shawn.


On Thu, 14 Feb 2019 at 18:20, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
Adding the PAR_TEMP folder in front of the path does not changed anything.

Looking for Gtk2.xs.dll (or Gtk2.dll) on my hard drive gives locations in
c:/users/ … /AppData/Local/Temp…,
c:\docs\... folders where I unzip the par archive and so it’s the same file

Gtk2.xs.dll is in
c:\strawberry\perl\site\lib\auto…

In my windows path I have C:\prog\gtk+\bin. C:\prog\gtk+ is where I unzipped the Gtk2 stuff.


Shawn, was it your trimmed down script (reduced to use Glib; ) that worked for you, or is it the longer script displaying the Gtk2 windows ?
The first works for me…

François

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 13 February 2019 23:30
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Cc: Roderich Schupp <[email protected]<mailto:[email protected]>>; [email protected]<mailto:[email protected]>
Subject: Re: packing Gtk2 scripts

The three DLLs listed as missing are system DLLs.  I would be surprised if they are actually missing.

The CODE() entries in @INC are how PAR adds its paths to @INC, and are expected.

On the bigger picture, I wonder if you have another Gtk2.dll somewhere in your path.

What happens if you list the PAR_TEMP folder at the front of the path?

BEGIN {
    if ($ENV{PAR_0}) {
        print "Adding $ENV{PAR_TEMP} to the path";
        use Config;
        $ENV{PATH} = "$ENV{PAR_TEMP}$Config{path_sep}$ENV{PATH}";
    }
};



On Thu, 14 Feb 2019 at 00:09, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
Comparing the exe made without/with renaming the lib/auto/Glib, lib/auto/Gtk2, lib/auto/Pango

Without renaming
GLib-GObject-CRITICAL **: g_boxed_type_register_static: assertion `g_type_from_name (name) == 0' failed at C:/strawberry/perl/lib/DynaLoader.pm line 210.
cannot register alias Gtk2::Pango::Attribute for the unregistered type (null) at C:/strawberry/perl/lib/DynaLoader.pm line 210.
Compilation failed in require at script/simple.pl<http://simple.pl> line 12.
BEGIN failed--compilation aborted at script/simple.pl<http://simple.pl> line 12.
Adding C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-4bb65b91bb192b62bf21122f83dfb014a10cbd14 to the path

With renaming
Can't locate loadable object for module Glib in @INC (@INC contains: C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-c4da599a70a5b23ad01cab4f5d3b75e95393de36\inc\lib C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-c4da599a70a5b23ad01cab4f5d3b75e95393de36\inc CODE(0x32a485c) CODE(0x32a4a54)) at C:/strawberry/perl/site/lib/PAR/Heavy.pm line 99.
Compilation failed in require at Gtk2.pm line 30.
BEGIN failed--compilation aborted at Gtk2.pm line 30.
Compilation failed in require at script/simple.pl<http://simple.pl> line 12.
BEGIN failed--compilation aborted at script/simple.pl<http://simple.pl> line 12.
Adding C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-c4da599a70a5b23ad01cab4f5d3b75e95393de36 to the path

If I run depends.exe with adding the path above for both exe
UserDir C:\Users\rappazf\AppData\Local\Temp\... \
UserDir C:\Users\rappazf\AppData\Local\Temp\... \inc\shlib\MSWin32-x86-multi-thread-64int\

depends.exe /oc:out_dwi.txt /d:dwp.txt simple_al2.exe

The output shows that 3 system dll  are not found, Seems to be the same dll for both exe

Status,Module,File Time Stamp,Link Time Stamp,File Size,Attr.,Link Checksum,Real Checksum,CPU,Subsystem,Symbols,Preferred Base,Actual Base,Virtual Size,Load Order,File Ver,Product Ver,Image Ver,Linker Ver,OS Ver,Subsystem Ver
?,"ADVAPI32.DLL","Error opening file. The system cannot find the file specified (2).",,,,,,,,,,,,,,,,,,
?,"KERNEL32.DLL","Error opening file. The system cannot find the file specified (2).",,,,,,,,,,,,,,,,,,
?,"MSVCRT.DLL","Error opening file. The system cannot find the file specified (2).",,,,,,,,,,,,,,,,,,
,"u:\docs\perl\dokpe_i02_dd\SIMPLE_AL2.EXE",2019-02-13 13:13:16,2017-07-07 12:03:24,15977245,A,0x0035BC00,0x00F4BB0D,x86,Console,"None",0x00400000,Unknown,0x0035B000,Not Loaded,0.0.0.0,0.0.0.0,1.0,2.25,4.0,4.0

I’m puzzled by the message “C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-c4da599a70a5b23ad01cab4f5d3b75e95393de36\inc CODE(0x32a485c) CODE(0x32a4a54)) at”
Is the code() correct ? shouldn’t be a path in full ?

Thanks for any help.

F.


From: RAPPAZ Francois via par <[email protected]<mailto:[email protected]>>
Sent: 13 February 2019 12:22
To: Shawn Laffan <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: RE: packing Gtk2 scripts

Thanks for the feed back
I have summarized my problems here https://www.perlmonks.org/?node_id=1229858
and from Rob’s answer I conclude that there would be no point in installing the Gtk2 stack from his sisyphusion site.

I’m puzzled that you don’t need to add any of Glib.dll etc in your packing process.

When you say add x to the path, it’s the windows path you mean ? something around set PATH =%PATH%;xxx before running dep walker
And to use dependency walker when my simple.exe is running,  it is this file that I should load in it ?

François

From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 13 February 2019 09:26
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>
Subject: Re: packing Gtk2 scripts

That code packs and runs without issue on my machine.

For comparison, I have Strawberry perl 5.28.0 (PDL version), and have installed Gtk2, Glib etc from the PPMs at http://sisyphusion.tk/ppmindex.html

Maybe try Dependency Walker on C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-273ef9b6a6b7e348eadc78be91c5b75711cfe242\778ce824.xs.dll to see what it is expecting to load, and how far it gets.  Make sure to add C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-273ef9b6a6b7e348eadc78be91c5b75711cfe242\ to the search path so it finds the perl dll (and maybe also the "inc\shlib\MSWin32-x64-multi-thread" folder).  Having both paths in this analysis might confuse the issue if the PAR error is a search path problem, but at the least you will see what is expected.
http://www.dependencywalker.com/

Shawn.


On Wed, 13 Feb 2019 at 17:20, RAPPAZ Francois <[email protected]<mailto:[email protected]>> wrote:
So, now simple.pl<http://simple.pl> is
use strict;
use warnings;
BEGIN {
    if ($ENV{PAR_0}) {
        print "Adding $ENV{PAR_TEMP} to the path";
        use Config;
        $ENV{PATH} .= "$Config{path_sep}$ENV{PAR_TEMP}";
    }
};

use Gtk2 '-init';
use Glib qw/TRUE FALSE/;
my $window = Gtk2::Window->new;
$window->signal_connect (destroy => sub { Gtk2->main_quit; });

$window->show_all();
Gtk2->main;

Running
perl pp_autolink.pl<http://pp_autolink.pl> -o simple.exe simple.pl<http://simple.pl>
and then
simple.exe
gives
Can't load 'C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-273ef9b6a6b7e348eadc78be91c5b75711cfe242\778ce824.xs.dll' for module Pango: load_file:The specified module could not be found at C:/strawberry/perl/lib/DynaLoader.pm line 193.
…
Compilation failed in require at Gtk2.pm line 31.
BEGIN failed--compilation aborted at Gtk2.pm line 31.
Compilation failed in require at script/simple.pl<http://simple.pl> line 11.
BEGIN failed--compilation aborted at script/simple.pl<http://simple.pl> line 11.
Adding C:\Users\rappazf\AppData\Local\Temp\par-72617070617a66\cache-273ef9b6a6b7e348eadc78be91c5b75711cfe242 to the path

François
From: Shawn Laffan <[email protected]<mailto:[email protected]>>
Sent: 13 February 2019 01:20
To: RAPPAZ Francois <[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]>; Roderich Schupp <[email protected]<mailto:[email protected]>>
Subject: Re: packing Gtk2 scripts

I can replicate the errors using a cut-down script Francois provided, and which I stripped further to only use Glib.  I used Dependency Walker to check the hierarchy and pp_autolink is packing all the needed dlls.

I then checked my own (working) code, and it adds the PAR_TEMP folder to the path before loading Glib.

Francois - can you add the begin block from the code below to your script and test if it works?

If it does then maybe PAR_TEMP should be appended to the path by PAR, but that's Roderich's call.

Regards,
Shawn.



use strict;
use warnings;

BEGIN {
    if ($ENV{PAR_0}) {
        print "Adding $ENV{PAR_TEMP} to the path";
        use Config;
        $ENV{PATH} .= "$Config{path_sep}$ENV{PAR_TEMP}";
    }
};

use Glib;
print "1\n";








On Tue, 12 Feb 2019 at 20:46, RAPPAZ Francois via par <[email protected]<mailto:[email protected]>> wrote:
Hi there

Roderich, some years ago was explaining why, once the lib/auto/Glib …/Gtk2 had been hidden with renaming them in the par archive, running the exe made with pp worked for a script using Gtk2:
“Every DLL you add to the packed executable with "pp -l ..." is flatly packed in the zip in directory shlib/ARCH and unconditionally extracted in the cache area. Also the packed executable runs with the cache directory prepended to PATH. So when asked to load the glue DLL for Gtk2.pm etc, DyneLoader loads Gtk2.dll from the cache directory. That way we get rid of the second copy of the DLLs (extracted and loaded with mangled names) and inter-DLL symbol references work as expected. »

On my pc (with a new perl set up), this recipe  does not seems to work anymore. Moreover, my folders in perl/site/lib/auto/Glib, …/Gtk2  …/Pango, …/Cairo did not have  corresponding glue dll Glib.dll, Gtk2.dll and so on, even if these  Gtk2 scripts are running fine from perl  without these. So why are these dll been needed after all ?

I have found these glue dll in my c:/users/rappazf/AppData …. Folders from the unpacking of previous par archives and placed these in a separate folder c:/docs/perl_dll
I have then include these in the par archive with –link, but the exe is still crashing.

should I select others dll files from these …lib/auto/… to be included with link ? how can I select the correct one ?

I tried to pack a 10 lines long script with using pp –x but once open, the gtk window seems to block pp. Closing the window gives the control back to pp but the resulting exe failed the same.

Thanks for any comment

François