[Gambas-user] Cannot find proprietary shared libraries.

PICCORO McKAY Lenz mckaygerhard at gmail.com
Tue Jun 5 21:55:13 CEST 2018


can be done with no using package manager..  its a bit complex dont
remenber how but can be possible,

 do normal instalation and when perform install step must use tarjet
directory with 32/64 libs, like multiarch does!

Lenz McKAY Gerardo (PICCORO)
http://qgqlochekone.blogspot.com

2018-06-05 15:41 GMT-04:00 <d4t4full at gmail.com>:

> Sebastián,
>
> Thanks for the info. Will most probably do that.
>
> It seems to me that I will end up with either 32 or 64 but not both.
>
> Just in case to be real sure, though, and referring to my last question:
> Is there any way I can get both, Gambas3 32 AND 64 on the same 64bit OS?
>
> Thanks in advance,
> On Jun 5, 2018, at 16:28, "Sebastián Kulesz" <sebikul at gmail.com> wrote:
>>
>> If you are using any of the PPAs, this should work:
>>
>> $ sudo dpkg --add-architecture i386
>> $ sudo apt remove gambas3
>> $ sudo apt update
>> $ sudo apt install gambas3:i386
>>
>> More info here: https://wiki.debian.org/Multiarch/HOWTO
>>
>> Hope it helps!
>>
>> On Tue, Jun 5, 2018, 14:39 ML <d4t4full at gmail.com> wrote:
>>
>>> On 05/06/18 09:10, Benoît Minisini wrote:
>>> > Le 05/06/2018 à 14:02, ML a écrit :
>>> >> Guys, need help accessing proprietary shared libs from Gambas
>>> >> (v3.11.2) from PPA in Ubuntu 16.04 x64.
>>> >> I've been given -after signing an NDA with a company- a couple of
>>> >> development .so files.
>>> >> I placed these .so files in a subfolder inside my home folder.
>>> >> I've put this path inside a .conf file, put this .conf file inside
>>> >> /etc/ld.so.conf.d and ran ldconfig as superuser.
>>> >> I verified the libs and their location are in the cache by grepping
>>> >> the output from ldconfig -p: They are both there.
>>> >> But alas! Gambas cannot find them. I have this sample code (sorry,
>>> >> cannot give real code details 'cos of the NDA):
>>> >> Lib call declaration in a module (say it is called modLib):
>>> >>
>>> >>    'The call name used is the actual call name, respecting
>>> >> upper/lowercase, ie: no need for EXEC.
>>> >>    Public Extern SomeLib_GetVersion(versionStrPtr As Pointer) In
>>> >> "libName"
>>> >>
>>> >> I also have a form with -appx- the following code:
>>> >>
>>> >>    Public Sub Form_Open()
>>> >>      Dim libVersion As String = String(128, " ")
>>> >>      Dim strPtr As Pointer = VarPtr(libVersion)
>>> >>      Try modLibrary.SomeLib_GetVersion(strPtr)
>>> >>      If (Error.Code) Then
>>> >>        Message.Error(Error.Text)
>>> >>      End If
>>> >>    End
>>> >>
>>> >> When I call this from a form, I get the following error:
>>> >> Cannot find dynamic library 'libName.so': libName.so: cannot open
>>> >> shared object file: No such file or directory
>>> >> Now, I've seen lib names with a trailing colon and (version?) number.
>>> >> I don't know how or where can I get this info from, or if I need them.
>>> >> How can I get Gambas able to find and use these .so files?
>>> >> Regarding these trailing ":<number>" in EXTERN declarations: How do I
>>> >> find these out, and how do I know whether I need them or not?
>>> >
>>> > The name of the library is directly passed to the dlopen() function,
>>> > and the error you get is the error returned by dlopen().
>>> > The "<number>" after the colon is just the version number of the
>>> > shared library. You find it in the name of the shared library symbolic
>>> > link. You have to specify it only if you have multiple versions of the
>>> > same library, or if you requested a specific feature of a specific
>>> > version of the library.
>>> > Regards,
>>>
>>> Benoît,
>>>
>>> Thanks a ton for the tips.
>>> Further investigation led me to find the root of all evil (this means I
>>> wrote and compiled a quick&dirty C 'hello world' targeting the libraries
>>> and compiled 32 and 64 bit versions; 32bit worked and 64bit did not
>>> giving the same error as Gambas).
>>> Libs are 32bit, my OS is 64bit. Using a virtual Ubuntu (32bit) inside my
>>> Ubuntu (64bit), the 32bit virtual Gambas version works as expected.
>>> Beware, probably stupid question: Is there a way I can install a 32bit
>>> Gambas alongside a 64bit Gambas in my 64bit OS?
>>>
>>
>
> ----[ Gambas mailing-list is hosted by https://www.hostsharing.net ]----
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20180605/e6725775/attachment-0001.html>


More information about the User mailing list