Soft Declares

I don’t know if this is a Linux or Cloud issue - It’s my first attempt developing with both those targets.

I am doing soft declares into a library (DLL and DYLIB) that we have developed within my company.
All works great on Mac and Windows.

I just got the Linux build of the library and am attempting to upload/deploy to the Xojo Cloud, and I get an error when compiling:

Declare directly into the runtine via lib “” are no longer allowed

Of course I get about a trillion of these error messages because I make heavy use of this library.

Anything obviouos I need to know about?

Are you not supplying a path to the library?

Yep. I’m doing it in the same target aware constant as I am for Windows and Mac.

Since it’s a soft declare it may choke at runtime, but this is a compiler error.

Sounds like your constant is blank for the web / linux target. Not sure which applies.

Sounds strange, but I’ve thought I entered values in a property only to find out I didn’t hit enter and it didn’t stick.
I will check that out when I get back to my computer.

Thx!

[quote=108404:@Chris Halford]I don’t know if this is a Linux or Cloud issue - It’s my first attempt developing with both those targets.
[/quote]

Did you try a small Linux desktop project calling the library ? If it works, then the issue is with Cloud only.

I considered that. I’m really trying to avoid having to setup a dedicated Linux workstation to test on.
I’m only using Linux because of the Xojo cloud.

But I will try that if it gets too complex to debug.

I updated Xojo, restarted the system, did a compile (successful) for Linux and now it seems to be working.
This is very strange as the constant was indeed set, and I changed nothing else.

Oh well…

[quote=108508:@Chris Halford]I considered that. I’m really trying to avoid having to setup a dedicated Linux workstation to test on.
I’m only using Linux because of the Xojo cloud.[/quote]

Why not simply use a Linux Live CD distro ?

[quote=108537:@Chris Halford]I updated Xojo, restarted the system, did a compile (successful) for Linux and now it seems to be working.
This is very strange as the constant was indeed set, and I changed nothing else.
[/quote]

… And the IBM guy said “Why don’t we wait ? Maybe the bug will go by itself” … :wink:

Well, it allows me to compile and upload, but I’m getting an error back from Xojo when it goes to launch the remote app now. I’l have to dig in.

The way I’ve written this, it should successfully launch even if some of the library calls have issues. I’ll deal with support on this if I can’t figure it out in a day or two.

And… the bug apprarently didn’t go away by iteself, but it is polymorphic… cool eh!?

[quote=108669:@Chris Halford]Well, it allows me to compile and upload, but I’m getting an error back from Xojo when it goes to launch the remote app now. I’l have to dig in.

The way I’ve written this, it should successfully launch even if some of the library calls have issues. I’ll deal with support on this if I can’t figure it out in a day or two.

And… the bug apprarently didn’t go away by iteself, but it is polymorphic… cool eh!?[/quote]

The reason why I think you should try to compile and run a test of the library call under desktop Linux is that you can actually run the code in the IDE and benefit from all the debug tools. Debugging an app on the host is a lot less friendly.

I personally installed Linux Mint as double boot on my Windows 7 machine, so now I can easily switch between the two. It took no time at all and works a charm. Live disks are nice too : boot on the disk, do whatever you need, and when you are finished, back to usual.

Bugs are like flies : when you don’t hear it anymore, it’s hiding somewhere, and when you are ready to sleep, Bzzz !

I hear you. I may do that.

Here’s the issue.

I am using common code that can compile for Win, Linux and Mac.
I have a constant setup for the libray name that is dynnamic based on the platofrm.
Works great for everything, but…

When compiling for Cloud, it doesn’t recognize the platform specific string.
If I put the " …SO" file name in the “default” property of the constant it compiles.

Ideally Xojo should recognize that Xojo Cloud is Linux and associate the right platform string.

Thihs is an OK workaround for now, but it makes me a little nervous about forward compatibility as it is a workaround, and I’m not specifically calling reference to the platform used.

That shouldn’t be an issue. Do me a favor and file a bug report about the Linux vs Xojo Cloud thing with constants though. That shouldn’t be the case.

By the way… you didn’t have that constant set to “dynamic” did you?

Certainly not dynamic.

It works great for Mac and windows today.

I will post a bug report when I’m back in my office (on mobile while traveling now )

I’m also going to setup a VM with Ubuntu on it sonincan work this out better.

Let me know when you’ve filed that report.

Sorry, was on the road and then swamped.
It is filed now.

34512 - Xojo Cloud Soft Declare Constants