Where are the required libraries

Hi everyone,

I tried to debug my macOS App on Linux Mint 18.2 and got these error message after executing the app. Where can I find and load the required libraries to run my app correctly? I use Xojo 2017.2.

Common/Loaders/Loader.cpp: 173 Failure Condition: 0 Failed to load library libgdk-x11-2.0.so libgdk-x11-2.0.so.0.2400.30: cannot open shared object file: No such file or directory

Make sure you install the GTK+ 3 libs noted here:

http://developer.xojo.com/system-requirements$64-bit-configuration

Please install GTK 2.0 libraries

These libraries are loaded as you described on the requirements page in the Xojo Developer Center.

I downloaded it via terminal

sudo apt-get install gtk+2.0

but I’ll get the same error messages.

Can you Check if the exact file is there in right bit number?

Could you explain please? These are my first Linux steps.

Well, you may have built a 32-bit or 64-bit app.
Libraries must not just be installed, but installed with the right bit number.

So you can install 32-bit version if needed.

And how will the terminal command will look like for the 64-bit version?

something like this the command line you had above.

maybe first check if you built 32 or 64 bit in Xojo?

I built 64-bit

I build a test app for Linux 64-bit console and GUI and looked on them with ldd in terminal.
There is no reference to gtk 2.0 there. All gtk 3.0 for the GUI and nothing for console.

What did you build?

Do you have declares referencing wrong library?

or old plugins?

Thats the only Linux Target I use:

[code]const kLibName = “uuid”

if not System.IsFunctionAvailable( “uuid_generate”, kLibName ) then
useDeclares = false
elseif not System.IsFunctionAvailable( “uuid_unparse_upper”, kLibName ) then
useDeclares = false
else
soft declare sub UUIDGenerate lib kLibName alias “uuid_generate” ( ByRef uuid as LinuxUUID )
soft declare sub UUIDUnparse lib kLibName alias “uuid_unparse_upper” ( ByRef uuid As LinuxUUID, ByRef out As LinuxUUIDString )

dim uuid as LinuxUUID
UUIDGenerate( uuid )

dim out as LinuxUUIDString
UUIDUnparse( uuid, out )

result = out.Data
result = result.DefineEncoding( Encodings.UTF8 )
end if[/code]

LinuxUUID and LinuxUUIDString are Structures.

kLibName is?

maybe you check yourself with ldd plus path to executable or library which of the library files there in your app or libs folder has a reference to gtk-2 which you do not have installed.

It’s the code of @Kem Tekinay he postet here. I also commented the source out and tried to debug, but I’ll get the same messages. The App has some custom drawn controls (Canvas subclasses). The rest of the App uses the new Xojo Framework. Looks like, I’ll have to re-engineer.

Did you check which library has the reference?
e.g. do you use older plugins?