|
Post by metro on Apr 16, 2022 1:07:15 GMT -5
If you think you have, then try reinstalling OpenSSL 1.0 from APT. Run this command in the terminal: sudo apt reinstall libssl1.0.0 And see if that changes what shows up for ls -la in that folder. Great Job Chris, (unfortunately in the process you have highlighted I'm getting stupid in my old age)
ls -la before
-rw-r--r-- 1 root root 5413392 Mar 9 20:13 libcrypto.a lrwxrwxrwx 1 root root 18 Apr 16 13:14 libcrypto.so -> libcrypto.so.1.0.0 -rw-r--r-- 1 root root 2917216 Mar 9 20:13 libcrypto.so.1.1 lrwxrwxrwx 1 root root 19 Jan 29 2018 libcrystalhd.so.3 -> libcrystalhd.so.3.6 THEN after sudo apt reinstall libssl1.0.0
-rw-r--r-- 1 root root 5413392 Mar 9 20:13 libcrypto.a lrwxrwxrwx 1 root root 18 Apr 16 13:14 libcrypto.so -> libcrypto.so.1.0.0 -rw-r--r-- 1 root root 2361984 Mar 9 20:36 libcrypto.so.1.0.0 -rw-r--r-- 1 root root 2917216 Mar 9 20:13 libcrypto.so.1.1
confirming what you suspected... missing libcrypto.so.1.0.0
so.... the end result .........."WORKING" . thanks so much for the help , very much appreciated
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="keywords" content="qbasic,liberty basic,quickbasic,ibasic,learn,programming,learn programming,learn qbasic,qbasic games,homeschooling software,qbasic tutorial,games programming,education,teaching,school,training,continuing education,os/2"> <meta name="description" content="Liberty BASIC, easy programming for Windows">.................and so on
|
|
|
Post by Chris Iverson on Apr 16, 2022 1:30:50 GMT -5
Well, I think that proves that httpget$() has a requirement for OpenSSL 1.0.x, which is unfortunate, but good to know.
And don't worry about that mistake, you have no idea how often I make that one when working with symlinks.
It's even worse switching between Windows and Linux, because Windows has a symlink feature, as well, but the syntax for making a link is the exact opposite.
Linux: ln <target> <link name>
Windows: mklink <link name> <target>
I understand the logic behind both of those choices, but it's still frustrating.
|
|
|
Post by Carl Gundel on Apr 16, 2022 8:27:59 GMT -5
Well, I think that proves that httpget$() has a requirement for OpenSSL 1.0.x, which is unfortunate, but good to know. And don't worry about that mistake, you have no idea how often I make that one when working with symlinks. It's even worse switching between Windows and Linux, because Windows has a symlink feature, as well, but the syntax for making a link is the exact opposite. Linux: ln <target> <link name> Windows: mklink <link name> <target> I understand the logic behind both of those choices, but it's still frustrating. Thanks for all that! Wow, I just need to make sure I understand it myself. Can you possibly distill that down? As for trouble on Windows, is anyone else experiencing it?
|
|
|
Post by metro on Apr 16, 2022 10:21:19 GMT -5
|
|
|
Post by Carl Gundel on Apr 16, 2022 10:45:57 GMT -5
Wow, that's funny that you find that information on a completely different Smalltalk vendor's website. There is no particular relationship between the way that Cincom Smalltalk and VA Smalltalk do this stuff (except of course that they use the same libraries), but that looks like some great information there. I will read it carefully. Thanks.
|
|
|
Post by Chris Iverson on Apr 16, 2022 20:35:29 GMT -5
There was a lot of data dumped on my last few posts, kinda stream of consciousness while I tried to figure it out.
Results boil down to:
- OpenSSL 1.0.x required - If the corresponding OpenSSL 1.0.x library for the architecture is installed and pointed to, either by envvar or symlink, then httpget$() works in LB5, regardless of architecture.
I've successfully tested both 32-bit and 64-bit on Ubuntu 18.04, and as long as I pointed it to either the 32 or 64-bit OpenSSL 1.0.x library, it worked.
As for Windows, I'm running Windows 11 on my main PC now, and I've not had any trouble with httpget$(), either the 32 or 64-bit versions.
EDIT: And as a final confirmation of the OpenSSL requirement, I downloaded the last OpenSSL 1.0.x source code from before it went EOL, and compiled it on my Ubuntu 20.04 system(I compiled both 32-bit and 64-bit libraries). If I point LB5 at those compiled ones, httpget$() works.
I don't recommend actually doing that, since the EOL branch of OpenSSL is EOL for a reason, but in a pinch, it's an option for someone that absolutely needs it.
|
|
|
Post by donnybowers on May 2, 2022 23:59:24 GMT -5
I've used httpget$ on a dedicated Windows 7 machine and it worked fine. I've had no luck using it on Linux in any version of LB. Not in LB5 in the native Linux environment, in LB4.x under Wine or even in a virtual machine.
EDIT: Sorry. httpget$ works fine on Windows 7 using LB 4.5.2. I haven't tried LB5 alpha on the Windows 7 machine yet.
There is a workaround that I tried a while back that worked. It may be useful until such time as the httpget$ command is available in LB5. In Ubuntu it requires a download of a command line program called WGET. It's available in the package manager or through command line download. Not sure about other distros.
Once installed you have to learn how to use it (it can't be too difficult if I can do it) and then you can figure out how to RUN the commands through your programs (I don't remember for sure, but you probably have to use the full path to the command but I think you can use a relative path for the download). I was able to make it work. I think it was about 2 or 3 years ago. But you have to stop your program and make it wait until the download is complete and then you can open it up and parse the file or whatever you need to do with it. Also, you can't see the program, so you just have to guess when the download is finished which of course is usually pretty quick. I wish there was a way within LB to run an external program and have the LB program wait resume after the program you RUN is complete. I'm not sure how or if that would be possible though. There are so many things that would be useful for.
I think? the reason I abandoned the project was because I was using LB4.5.1 and found it cumbersome to try to read and parse a Unix file in the Windows version. I may return to it now that LB5 alpha is becoming more functional. I think the reason I couldn't use LB5 was because the RUN command wasn't working correctly at the time. Now that that's fixed I may play around with it again in LB5.
There are actually a ton of command line programs that can be used in Linux, so there may be workarounds for a lot of issues that may exist in the early versions of LB 5 for linux. It's just a matter of learning what's available. Having some understanding of BASH (or whatever your distro uses) can be helpful in finding potential workarounds. I'm definitely no pro with BASH, but I can get quite a bit done with what little I do know.
Being that these command line utilities are almost always open source they can be distributed with your programs under the terms of whatever open source license is being used. Usually there is not much by way of restrictions. Actually you might even be able to write an install program that would just download the program for you based on the distro, though that may be challenging with so many different distros out there.
|
|
|
Post by Chris Iverson on May 3, 2022 1:24:52 GMT -5
I was able to get httpget$() working natively in Ubuntu 20.04, but I had to manually compile and install an old version of OpenSSL to do it.
Right now, httpget$() has a dependency on a discontinued and unsupported version of OpenSSL. Well, publicly unsupported by the original authors; they do still provide private, paid support contracts for it, and various Linux distros that are still supported that use it, such as Ubuntu 18.04(which has a 5-year public support period) will still have it.
You can get it working on any Linux version based on Ubuntu 18.04, or any Linux that can still get the OpenSSL 1.0.x libraries. (Arch Linux, for example, still has OpenSSL 1.0 available in the pacman repos.)
We'll see what things are like going forward.
|
|
|
Post by Carl Gundel on May 3, 2022 11:28:52 GMT -5
Thanks guys. I'm hopeful that I'll be able to make this work out of the box.
|
|