Hi,

(I've marked the question "OT" in the anticipation that the loading of 'glib-networking' is handled entirely within the Gtk+ package, and Gtk2-WebKit simply takes whatever Gtk+ delivers.)

For a demo of the Gtk2-WebKit browser, I have:
use strict; use warnings; use Gtk2 -init; use Gtk2::WebKit; my $url = 'https://en.wikipedia.org/wiki/Mary_Poppins_(film)'; my $window = Gtk2::Window->new; $window->set_default_size(320,160); $window->signal_connect(destroy => sub { Gtk2->main_quit }); my $sw = Gtk2::ScrolledWindow->new; my $view = Gtk2::WebKit::WebView->new; $sw->add($view); $window->add($sw); $view->open($url); $window->show_all; Gtk2->main;
UPDATE: URL in the script was changed - to keep Karl happy ;-)

So long as the 'glib-networking' module has been loaded, that script works fine, and the webpage displays normally in the Gtk2 browser window (once the window has been maximised, of course). However, if 'glib-networking' is not loaded, the browser window simply displays:
TLS/SSL support not available; install glib-networking
which is a message that emanates from the Gtk+ libsoup-2.4.1.dll.

The 'glib-networking' module itself is lib/gio/modules/libgiognutls.dll, with some additional resources in the 'share' directory.
If I hide libgiognutls.dll then I get the libsoup error message. But I'm damned if I can work out what detects and pulls in libgiognutls.dll.

My Gtk+ installation is provided by MSYS2 - and it was built using a mingw-w64 port of gcc-5.4.0.
I've built perl-5.24.0 using the same compiler - and this means that the perl-gtk2 modules (including Gtk2-WebKit) build fairly trivially for that particular build of perl.
For that particular perl, everything works quite well (including the loading of 'glib-networking' and the above demo).

However, for perls built with a different version of gcc, it's not so trivial and I do some hacking.
Of course, in that hacking the 'glib-networking' package fails to load and I'm left with a browser that can't handle TLS/SSL.
I'd like to fix that but I don't give myself much of a chance of doing that if I don't understand the conditions that need to be met ... and hence my question.

I've searched my entire Gtk+ installation looking for a match for the string "giognutls" and there's only one match - in libgiognutls.dll itself.
If the dll is getting loaded, I would have expected at least one match elsewhere.
Searching the Glib, Gtk2 and Gtk2-WebKit sources for the same string results in zero hits.



Cheers,
Rob

In reply to [OT] Win32: How does Gtk2-WebKit load glib-networking ? by syphilis

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.