I finally ported over one of my Web 1.0 projects to Web 2.0 – I rebuilt it largely from scratch so I didn’t have a bunch of possibly incompatible code. It was the smaller of my web apps. It seems to work fin in the Debugger on my Mac but no so much when deployed to the Linux server. Finally to troubleshoot I built a NEW web2.0 app from scratch that consists of a single webpage with the label “Hello World” in the middle of it. It doesn’t display either – my Web 1.0 apps work fine on this server – it’s just the 2.0 based apps. Added logging for app.unhandled exception. Nothing. The app “seems” to start up….”Application is Ready” — but doesn’t display anything. Looking in the Browser..it seems like it loaded up something. Javascript is enabled. So far….best clue I’ve found is “Content unavailable. Resource was not cached.” It’s got to be a local javascript issue. Could this be an issue having Plugins like MBS Chart Director in the Plugins folder and I’m not actually using any plugins? FYI – I’m building this in Xojo 2025 R1.1 – I suppose I could update that.
Maybe could help if you give more information about your Linux server.
Server requirements are different for Web2 apps and Web1 apps.
I use Lifeboat and don’t have any problems deploying to Ubuntu/Debian servers.
I don’t have a ton of control over the server this is deployed one (One reason why I hung onto Web 1.0 so long) — The server is a RedHat Linux EL 7. When I kill the running app…sometimes I am trapping an error about a “Bad Timezone name /etc/localtime” which is a link to /usr/share/zoneinfo/America/Chicago – This seems like it should be valid according to Xojo which references a Wiki time zone list which includes “America/Chicago”
EL 7 has been end of life for some time
Agreed…though RedHat will under contract continue support into 2029. This did prove to be an issue which some of the MBS plugins I was using had a dependency that came down to a newer version of gcc++ — Christian removed or rolled back the dependancy for me…plus I can use an older version of his Plugins…. it’s a little messy… but…. this “Hello World” app doesn’t utilize any plugins.
My guess is that some library is missing or the version is not compatible.
Very true, but I meant the libraries might be far behind what Xojo Web needs
Can you try starting the Xojo app at the CLI using ldd? might help you find library conflicts
I’ll give that a whirl. Good suggestion. Thanks. I don’t see an obvious (to me) issue.
# ldd ./Testor
linux-vdso.so.1 => (0x00007ffc8a1bc000)
XojoConsoleFramework64.so => /reb/Testor/./Testor Libs/XojoConsoleFramework64.so (0x00007fbab2542000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007fbab2174000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fbab1f23000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fbab1c0d000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fbab19f1000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fbab17ed000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007fbab15e5000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007fbab12e3000)
libunwind.so.8 => /usr/lib64/libunwind.so.8 (0x00007fbab10c9000)
libunwind-x86_64.so.8 => /usr/lib64/libunwind-x86_64.so.8 (0x00007fbab0ea9000)
libc++.so.1 => /reb/Testor/./Testor Libs/libc++.so.1 (0x00007fbab0af8000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007fbab08e2000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbab4fc5000)
libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007fbab0680000)
libffi.so.6 => /usr/lib64/libffi.so.6 (0x00007fbab0478000)
ok, lets get some of the basics out of the way…
- Your Web 1.0 app… Standalone or CGI?
- Did you use a proxy or load balancer in front of the app? If so, what? If not… another discussion for another day…
- Do you have code in App.HandleURL? If so, do you return false if Request.URL is empty?
- Have you cleared your cookies for that site?
Hmmm. well… the Web 1.0 app is Standalone…there is no WebServer (Apache, whatever) running on this box. Currently not using a proxy or load balancer (have used haproxy in the past on a different server) – maybe you questions hit the wrong topic? My Web 1.0 project Works Great! I created a new Web 2.0 project that is just a webpage with a label that says “Hello World” — and even that will not display – works fine under my dev environment (Mac OS) — the Linux build isn’t working. The program starts up and says “Application Ready” — and I’ve tried various ports including the same port I used in Web 1.0 (with that project stopped of course). Since this box serves up zero web content other than the self-serving Xojo apps there should be any cookies etc. I’ve found that running Web 1.0 apps under Linux is usually pretty easy…. but the Web 2.0 framework seems much more difficult to deploy to – perhaps depending on the Linux variant and how current the system libraries are. Wouldn’t think it would be too difficult to display a “Hello World” page. I have access to another server…I’ll probably deploy there and see if I have similar issues. A problem I have with my old Web 1.0 solutions is that nobody but me can support /fix/enhance them as they require an old license copy of Xojo circa 2019
No, your description was that the server was running, that’s what the “Application is ready” message means. Your App.Opening code has completed and the server has spun up and is listening. We need to pinpoint where it may be failing to reach the browser.
You didn’t include any of the information requested, so we either had to ask you or guess. Personally, I don’t guess at people’s problems unless we have a contract.
Deploying Web 1.0 and Web 2.0 Standalone apps has not changed in a significant way. From the description we have so far, I’m leaning heavily toward “outdated system.”
With a properly updated / supported flavor of Linux and Lifeboat anyone can deploy one in 5 minutes or less.
To be fair, you still have that problem now. Someone else would still need a $500 license of Xojo to support web 2. Since licenses are largely backward compatible, they’d be able to support the old one too.
Sorry if I missed over some pieces of information. My issue was only with the Web 2.0 App…which I don’t think (I could be wrong) supports CGI mode any longer. I didn’t have any App.Handle URL — I built a brand new test project that contains no code. It’s a webpage with a label dragged into it that I set to “Hello World” in the Xojo IDE – I did indicate that I built it with 2025 R1.1 I too am leaning toward outdated system as the answer… but I venture to guess that 50% or more of the worlds linux systems are “outdated systems”. Again…I could be wrong… but RedHat Enterprise 7 doesn’t seem like ancient history. I didn’t know how easy it would be for someone new to Xojo to acquire a legacy version to support work on a Web 1.0 project. I see that Xojo offers an “Archive” of old versions. That’s certainly handy. Anyway…I didn’t mean to keep anyone guessing - While I get that the system hardware may be outdated…I was expecting some sort of error message or something. It seems like the App is starting and running without complaint…but something is blocking the UI from being delivered to the browser. I thought surely somebody has seen this exact scenario before. I made many attempts to resolve this myself trying different browsers, ports, using browser development tools, running an ldd on the executable per the excellent suggestion of Brian Franco. I posted the results. It “seems” fine. I know the Framework for Web 2.0 is a complete departure from Web 1.0 – one of the largest issues I’ve had with adoption of the newer framework is that apps ported to the new framework do not necessarily run on the same server that the original app runs on. I get how older hardware becomes obsolete and unsupported…but since I don’t have control over the server OS, I am forced to keep building in Web 1.0 whether I want to or not.
I would also like to include a sincere thank you for anyone and everyone who has taken time out of their day to consider my issue…whether you have responded or not. I appreciate any and all feedback. One of the reasons I do like Xojo is the vibrant and active forum community. I really do appreciate it. I’m sure my questions are not always worded optimally…that they may be missing vital information. I really do try not to waste anyone’s time. You are all appreciated.
I don’t mean that RHEL is ancient history, I just know that Xojo moves forward with system requirements and we don’t always find out until after someone has a problem.
I was expecting some sort of error message or something. It seems like the App is starting and running without complaint…but something is blocking the UI from being delivered to the browser.
I agree. That “Application is running” message means that the Xojo Web server is up and listening, so we’re poking around trying to find out what other things might be wrong.
I thought surely somebody has seen this exact scenario before.
The last time I saw this behavior, the Web 2.0 framework hadn’t adopted a <noscript> message yet and I had a JavaScript blocker plugin do its job correctly. I did file a ticket to get the <noscript> message back and haven’t been tripped up since.
but since I don’t have control over the server OS, I am forced to keep building in Web 1.0 whether I want to or not.
That’s what it seems like, unless we can figure this one out. Are you able to share the URL of the hello world app failing?
The browser debug tools could tell us a lot of information. You could chat with an AI for help learning to use debug tools yourself if you so choose. You’ll want to check the raw HTML source, the rendered DOM source, the console log for errors, and the network log to see what requests, if any are being sent + replied to.
If you have time and budget for one on one consultation, I’m glad to help privately. If either one of those are in short supply, it may be best to stick to Web 1.0 until you can update the server software.
I did try running my Web 2.0 App on an EL9 server. Works perfectly. I was just curious and I tried running my Web 1.0 version on the EL9 server. It won’t start at all (no message…just failed to start.) I’m sure I had built it for 64-bit Linux. So…there is equally an issue running Web 1.0 apps on a newer server. Which makes sense since the libraries are not always backwards compatible. I didn’t really expect it to work and I’m not surprised it fails. I might be able to get it to work but there is no need.
That sounds like what I’d expect. RHEL is particularly picky about things. I know that to make CentOS7 a web server, you had to disable certain security features just run nginx.
When I was paying attention to where the Linux gurus were headed after CentOS, there was a lot of drama over licensing and “private company profiting from open source volunteers “ related issues. It was that uncertainty that lead me to drop RHEL support in Lifeboat once CentOS no longer operated with the features and packages I need for a consistent baseline experience.
I wholly recommend Debian as the best flavor of Linux for Xojo Web apps.