1. 3.X CGI program fails after server move

I've had a long-running CGI program at http://wazu.jp/hosting/pricing.exu

If you go there you will see the failure message. I raised it with the hosting provider, who recently moved the shared server that I'm on.

The provider's response:


-jailshell: /home/jwazuajp/public_html/cgi-bin/exu: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

This is the error generated. It's attempting to use 32bit ld-linux but this is a 64bit system.

/lib64/ld-linux-x86-64.so.2 looks like a possible library you could use, but you would need to check with your developer first.


I don't really know how to proceed. Any suggestions?

new topic     » topic index » view message » categorize

2. Re: 3.X CGI program fails after server move

Bellthorpe said...

I've had a long-running CGI program at http://wazu.jp/hosting/pricing.exu

If you go there you will see the failure message. I raised it with the hosting provider, who recently moved the shared server that I'm on.

The provider's response:


-jailshell: /home/jwazuajp/public_html/cgi-bin/exu: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

This is the error generated. It's attempting to use 32bit ld-linux but this is a 64bit system.

/lib64/ld-linux-x86-64.so.2 looks like a possible library you could use, but you would need to check with your developer first.


I don't really know how to proceed. Any suggestions?

Either your provider migrated from a 32bit to a 64bit system, or else they moved from a 64bit system that was multiarch (had 32bit compatibility libraries) to one that was those stripped. Otherwise, I don't see how it could have worked on the old system - I'm the only person who ever had a 64bit exu, and I never released it (because it didn't work).

Since no version of Euphoria prior to 4.1.0 (still in beta) has ever supported 64bit, I see only five options:

1. Upgrade to 4.1.0 - but there might be some work since you are using a pre 4.0.0 version of Euphoria and 4.0.0 and later versions are not entirely backwards compatible. Still, it's mostly backwards compatible, so as long as you don't use namespaces it should not be too much work. This forum is running on 4.1.0 beta right now.

2. Attempt to install a 32bit chroot on the host yourself, and (as you likely will not have root permission necessary to do a conventional chroot) run exu inside of that via proot ( http://proot.me ). This will work if you can get away with it, but it's not super simple and you may have to install a lot of libraries (possibly hitting into a disk quota limit set by your provider).

3. Ask the provider (or the owners of the shared host) if they're willing to set up and install the multiarch 32bit compatibility libraries on the system for you. This is the best option, since it's zero work on your side, but I suspect that if they don't already have it, then its because they don't want to bother with this.

4. Change providers. Really, they shouldn't have dropped 32bit support without at least warning you about it first.

5. Hire Matt Lewis (the dev here who ported 4.1.0 to 64bit systems) to port the version of Euphoria you are currently using to 64bit as well. (No, I don't know what his rates are or what his schedule availability is.) Or possibly you could do it yourself, if you are skilled with C.

I apologize that the response is not more favorable.

new topic     » goto parent     » topic index » view message » categorize

3. Re: 3.X CGI program fails after server move

Thanks for a very comprehensive and useful response. More than favourable in that it gives me something tangible to consider. I had hoped that there might be a version floating around.

One of the issues for me is lack of time. I'm fully extended at the moment, and travelling a lot. That will flavour what I can or am prepared to do.

Running through your options:

  1. This is a good possibility. I wrote the CGI script (almost a decade ago), and the work of figuring out incompatibilities would not, I figure, be all that hard. I've not used namespaces.
  1. 32 bit chroot - as it's shared hosting, I don't have full root access.
  1. 3 I doubt the provider would do any work of that kind - I became disillusioned with that provide some time ago.
  1. 4 Yep, change providers. Looking forward to the day. In fact, I have a small hosting service myself, so ready access to a dedicated server. In fact, the CGI script that's broken is the pricing page. However, I can't move the main site as I'm using DNS servers there. I will consider disconnecting and redirecting just this page.
  1. 5 No disrespect to Matt, whom I remember well from when I was active in the Euphoria community, but I'm not looking to spend money on it. If I had more time I'd look at doing this option myself.

Again, thanks for your help.

new topic     » goto parent     » topic index » view message » categorize

4. Re: 3.X CGI program fails after server move

Bellthorpe said...
  1. 32 bit chroot - as it's shared hosting, I don't have full root access.

Just pointing out here that proot (unlike the real chroot) is especially designed to run under a limited user with no root access or other special permissions.

That said, you may still run into other issues (like disk quotas, or extra cpu cycles that proot may need) so this still isn't the best option.

new topic     » goto parent     » topic index » view message » categorize

5. Re: 3.X CGI program fails after server move

Try asking the hosting provider to run this command to install the needed library:

apt-get install libc6:i386

Edit: perhaps it should be "libc6-i386" instead.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu