LinuxDebug - 64bit with 32/64bit SDK

Hello,

Glad to see that Xojo added full 64-bit support under Linux 14 years after x64-introduction :slight_smile:
But now I’m running into problems with SDKs:

Until now, I’m compiling SDKs with the -m32 flag to get them working - due to the missing 64bit capabilities in debugger - in 32bit.

With Xojo17 I simply tried to remove the -m32 flag and get the old annoying error:
-A.so: wrong ELF class: ELFCLASS64[RB] Unable to load plugin A.so (Xojo does not allow 64bit Header)
-Neither does the 32bit-compiled plugin work for 64bit Xojo : “Plugin ‘A.so:0’ is not supported for Linux”

Do I oversee something or is the 64 bit support still not complete?

Best wishes,
G.Deppendorf

Is that a plugin?
Because our plugins work fine with 64-bit Linux.

Yes it is a plugin

PS: An example of the Make (32bit)

[quote]

BASEDIR = xojo
PLUGINSDKDIR = $(BASEDIR)/PluginsSDK
SDKGLUECODEDIR = $(PLUGINSDKDIR)/GlueCode
SDKINCLUDEDIR = $(PLUGINSDKDIR)/Includes

INCLUDE = -I$(SDKINCLUDEDIR)

PREFIXHEADER = $(SDKINCLUDEDIR)/LinuxHeader.h

[…]

CFLAGS = -std=gnu11 -ggdb -pedantic -Wall -lstdc++ -m32 -fPIC -g -DIGNOREQT -D__INTEL__ -DLINUX=1 -D__GCC__ $(INCLUDE) -include $(PREFIXHEADER)
DEBUGFLAGS = -std=gnu11 -pedantic -Wall -g

[…]

WIND:

WIND_OBJS = $(BUILDOBJDIR)/wind.o \
$(BUILDOBJDIR)/xojo_wind.o \
$(BUILDOBJDIR)/PluginMain.o

wind: CreateBuildObjDir $(WIND_OBJS)
$(CC) $(CFLAGS) -shared -Wall -o build/xojo_wind.so $(WIND_OBJS) -Bstatic xml2-config --libs

$(BUILDOBJDIR)/wind.o: src/wind.c
$(CC) $(CFLAGS) -Bstatic -I/usr/include/ -L/usr/lib/64 src/wind.c xml2-config --libs -c -o $@

$(BUILDOBJDIR)/xojo_wind.o: src/xojo_wind.c
$(CC) $(CFLAGS) src/xojo_wind.c -I/usr/include/ -L/usr/lib64 xml2-config --libs -c -o $@

wind_test:
$(CC) $(DEBUGFLAGS) xml2-config --cflags src/wind.c src/wind_test.c -o build/wind xml2-config --libs[/quote]

Did you package the xojo_plugin archive correctly?
put each library in the right folder?

Linux ARM
Linux X86
Linux x86-64
Mac Carbon Mach-O Universal
Mac Cocoa
Mac x86-64
Windows
Windows x86-64

-m32 gibt’s bei mir nicht.

From my makefile:

g++ -Wall -Wshadow -Wpointer-arith -Wuninitialized -fPIC -fno-omit-frame-pointer -U_FORTIFY_SOURCE -I/Users/cs/Development/RealbasicPlugin/Source/SDK/Includes -I./ -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/atk-1.0 -I/usr/include/atk-1.0/atk -I/usr/include/gtk-2.0/gdk -I/usr/lib/gtk-2.0/include -I/usr/lib/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -fPIC -D_FILE_OFFSET_BITS=64 -Wno-deprecated -Wno-multichar -DLINUX=1 -D__INTEL__ -D__GCC__ -D__LITTLE_ENDIAN__ -DWIDGET_GTK=1 -DX_WINDOW=1 -O3  -s -o /PluginTemp/Plugins/Main/Linux64/mousecursor.cpp.Linux64.1084CC93F077F7E1395EF9304F8C6924.compiled -include /PluginTemp/Precompiled/Linux64/RBPrefix.Linux64.6AB13B5522ECBD65A07B2E62BAFFC111-cpp.h -I/Users/cs/Development/RealbasicPlugin/Source/Utility mousecursor.cpp -c

But I am not sure if all options are needed.

[quote=323408:@Christian Schmitz]Did you package the xojo_plugin archive correctly?
put each library in the right folder?

Linux ARM
Linux X86
Linux x86-64
Mac Carbon Mach-O Universal
Mac Cocoa
Mac x86-64
Windows
Windows x86-64[/quote]

Thank you very much!

Didn’t know that this directory structure exists. Creating it and putting related builds into them solved the problem. :slight_smile:

Btw: Why is such an information not provided by the Documentation or at least by examples? I mean, Xojo isn’t a really cheap software and especially the PluginSDK’s Documentaion seems to be the last version, when Xojo was RealBasic and has many many holes.

As I got it from the documentation, so it must be there.

Oh, then please help me, I can’t find anything useful

I only know the official ressources from
-Extras/PluginSDK/Documentation
-http://documentation.xojo.com/index.php/Xojo_Plugin_SDK.
-http://developer.xojo.com/plugins-sdk$plugins-nbsp-sdk
-Xojo Documentation.pdf (p.838, p870)
, where the last three all relate to this ancient first one…

The file PluginPackaging.rtf is right in the PluginSDK folder in the Xojo download.

Thank you again, I did not recognize the rtf-file as a humand readable format!
GD