Hilaire,<br><br>on Linux the ExternalWebBrowser package, as it is, depends on a helper program (e.g. xdg-open) to open a url in the default browser.<br><br>The helper program is executed using the system() function of the standard C library. This is defined in<br>

<br><span style="font-family:courier new,monospace">ExternalWebBrowser&gt;&gt;<b>system:</b> <span style="background-color:rgb(255,255,255);color:rgb(0,0,102)">string </span></span><br style="font-family:courier new,monospace">

<div style="margin-left:40px"><span style="font-family:courier new,monospace">        <span style="color:rgb(51,153,153)">&quot;system() executes a command specified in string by calling /bin/sh -c </span></span><br style="font-family:courier new,monospace;color:rgb(51,153,153)">

</div><div style="margin-left:40px"><span style="font-family:courier new,monospace;color:rgb(51,153,153)">        string, and returns after the command has been completed.&quot;</span><br style="font-family:courier new,monospace">

</div><div style="margin-left:40px"><span style="font-family:courier new,monospace">        &lt;<b><span style="color:rgb(0,51,0)">apicall:</span></b> short <span style="background-color:rgb(255,255,255);color:rgb(153,51,153)">&#39;system&#39;</span> (char*) <b><span style="color:rgb(0,51,0)">module:</span></b> <span style="color:rgb(153,51,153)">&#39;c&#39;</span>&gt;</span><br style="font-family:courier new,monospace">

</div><div style="margin-left:40px"><span style="font-family:courier new,monospace">        ^<span style="color:rgb(153,0,0)">self</span> <span style="color:rgb(0,0,153)">externalCallFailed</span> </span><br></div><br>The problem is, that the VM is unable to find that &#39;c&#39; module/library as you can see when you evaluate<br>

<br><span style="font-family:courier new,monospace">ExternalWebBrowserUnix isCLibAvailable</span><br><br>The VM is actively looking for a library file before it will use the dynamic linker to actually load it. The VM uses permutations of well known library locations (e.g. /lib) with library pre- (e.g. lib) and postfixes (e.g. .so) to find the file.<br>

So for example it will look for <span style="font-family:courier new,monospace">/lib/libc.so<span style="font-family:arial,helvetica,sans-serif"> (among many others see [1] on a related matter)<br><br>But even back at the time I started the ExternalWebBrowser package, the Linux distributions that I used (Debian, Ubuntu) didn&#39;t provide such a file, but <span style="font-family:courier new,monospace">/lib/libc.so.6<span style="font-family:arial,helvetica,sans-serif">. And the VM would not look for such a file.<br>

So to make it work I used a hack that Andreas Raab used with his OpenGL package to change the module name of the FFI definitions on the fly.<br>In <span style="font-family:courier new,monospace">isCLibAvailable</span>  I try to use the generic module name <span style="font-family:courier new,monospace">&#39;c&#39;</span> and if that fails I try it again with the specific module name <span style="font-family:courier new,monospace">&#39;libc.so.6&#39;</span>.<br>

<br>This (hack) worked as long as there was such a file. Now it seems that on newer Linux distributions even this file disappeared and it all depends on the dynamic linker to find the right shared library file.<br>One could extend the list of module names to try by &#39;/lib/i386-linux-gnu/libc.so.6&#39; as on my system, but that would most probably not work with 64bit systems and so on.<br>

<br>A better solution would be to adapt the way tries to find/load shared libraries.<br>In the special case of handling URLs by external programs, I think Bert Freudenberg suggested that the/a VM/VM-Module should provide such a functionality.<br>

<br>Alex<br></span></span></span></span> <br>[1] <a href="http://forum.world.st/OpenGL-in-4-1-or-later-td3794639.html#a4214041">http://forum.world.st/OpenGL-in-4-1-or-later-td3794639.html#a4214041</a><br><br>2011/12/21 Hilaire Fernandes &lt;<a href="mailto:hilaire.fernandes@edu.ge.ch">hilaire.fernandes@edu.ge.ch</a>&gt;:<br>

&gt; Hello,<br>&gt;<br>&gt; What is the status of external web browser use.<br>&gt; Last time I checked several months ago I can&#39;t use it with Linux.<br>&gt; Anyone using it successfully recently?<br>&gt;<br>&gt; Thanks<br>

&gt;<br>&gt; Hilaire<br>&gt;<br>&gt; --<br>&gt; Dr. Geo -- <a href="http://www.drgeo.eu">http://www.drgeo.eu</a><br>&gt;<br>&gt;<br><br>