Web App dies with error: pure virtual method called

Hi there,

I still do not want to give up hope since I am trying to deploy my web app for a week now with now success. I am using xojo 2013 3.3 on a Mac OS X 10.6.8. To keep things simple, I try to deploy the “Push Example Application”. This is what I get so far:

When I build a standalone app, upload it to my VPS and log in via SSH, I can run the built application and it serves up on the configured port, in this case 9000.
When I build the CGI-Version, I cannot get the app and running:
In the web browser I get the message: Unable to launch application ‘PushExample’ on port 58710. This message comes from the Perl script, so I take a look in the error-log of the apache server and there it says:

[Sun Nov 24 15:31:40 2013] [error] [client xx.xx.xx.xx] pure virtual method called
[Sun Nov 24 15:31:40 2013] [error] [client xx.xx.xx.xx] terminate called without an active exception

So what it happening here? I checked back with my provider and they say binaries in the cgi-bin directory are allowed. I have installed Image Magick in the cgi-bin, it runs fine. The host system is 32 bit and the permissions are set to 755. I also checked that the Application Identifier is set to a unique value and that the standalone version is not running when I try to fire up the CGI version.

What confuses me most is the fact that the standalone version is running fine, while the CGI version does not. The error message ocurs to me as if something went wrong when compiling the binaries?!

Any help would be highly appreciated.

Thank You!

PS: Just in case that someone is having the same issue: I am currently trying to deploy to a “Virtual Server Managed” from HostEurope.

Did you compile to a Linux CGI app or a Mac one?

Linux, of course.

uname -a

on the VPS gives me:

Linux vwp7961 2.6.18-prep-xenU-static-i686-he+10 #58 SMP Fri Apr 15 09:14:47 UTC 2011 i686 GNU/Linux

That wasn’t what i asked, did you in Xojo select to build a Linux executable? The error you get looks typically an error when uploading a Mac-executable to a Linux box.

See in the Navigator under build settings and select the Linux build and upload that one.

Hallo Andre,

thanks for replying, but I have tripple-checked all this. I know that I need to select Linux under the build settings and I did so. And I made very very sure, that I used binary transfer mode when uploading to the server. And I copied the contents of the Lunix buld folder to my server. The output of uname -a was just to show that the machin is a 32 bit Linux.

I used to have this problem quite a bit… it’s deplorable I know…but for whatever reason it seemed that I could “solve the problem” with the linux permissions out of the way. I set it to “777” (yes I know thats a bad plan) and a couple of browser refreshes…and it works. The problem may* have been the owner or group Your web server (apache/tomcat) needs full access to the thing. Also of course stopping and restarting apache was generally a requirement. If you fiddle with it long enough…it will work…and work well. I finally just changed mine over to stand-alone apps on a custom port. Added them to /etc/rc5.d so they start automatically on boot etc. I had cgi working….but stand alone seems a bit easier to manage. Especially when hosting multiple web apps. Just my 2 cents.