OpenXTalkPaul wrote: ↑Thu Oct 24, 2024 1:11 am
Hopefully that doesn't require 10s of gigs of Development Tools installed to build like the Mac/Win platforms engines do.
You just need gcc, make and the c++ compiler... and a few other things
(not 50GB of stuff though). I think it's more like about 5GB if I recall correctly.
There's also the other dependencies listed on the
lcc linux build info page (copied and pasted here).
build-essential
automake
libtool
gawk
git
curl
flex
bison
libx11-dev
libxext-dev
libxrender-dev
libxft-dev
libxinerama-dev
libxv-dev
libxcursor-dev
libfreetype6-dev
libpopt-dev
libesd0-dev
liblcms-dev
pkg-config
libgtk2.0-dev
zip
An easy way is to do:
Code: Select all
sudo apt-get install build-essential automake libtool gawk git curl flex &&
sudo apt-get install bison libx11-dev libxext-dev libxrender-dev libxft-dev &&
sudo apt-get install libxinerama-dev libxv-dev libxcursor-dev libfreetype6-dev &&
sudo apt-get install libpopt-dev libesd0-dev liblcms2-dev pkg-config libgtk2.0-dev zip
You might have to do a merry dance installing some of these by messing around with your sources lists in your software repositories, as some dependencies are getting hard to find now (depending on the distro you use). For compiling it, I found it worked best using full-fat ubuntu and building up the system with the depencencies from there.
I used a dedicated real machine that I assembled for this, rather than one that mattered. A sacrificial piece of hardware, as compiling will take a while.
That's how I got the LCC9.7.0-DP1 source to compile successfully, using that combination.
If I recall, I had to install some dependencies manually, as they might no longer be in mainstream software repos. can't remember exactly which ones were problematic now off the top of my head.
I'd really like to move away from git, but to be blunt, the whole engine source project needs sorting out from the ground up. Not a simple, easy or quick task at all as I'm sure you are aware.
You'll also find a lot of depreciated variables and structures that gyp generates are now considered invalid, so I had to correct these.
My adjusted source is in my mega link off the
download page. ("Revised Source" folder) - be aware, it's 4.2GB though Mega
DO give you the ability to download a folder of course!
'
Helpfully' when at the config stage, the gyp build tool will create the makefiles but with the depreciated variables and syntax because it's now out of date. You can manually correct the output in the build directory as it'll step through telling you what's wrong.
As I say, if you want to grab my amended version, that might save you some work there. I made no other changes. Any adjustments such as removing the registration requirement
are listed separately, with screenshots of what I changed, so people can 'follow along', and pick and choose as they see fit, without having to unpick changes from the main source.
Example:
- what I changed.png (85.8 KiB) Viewed 641 times
Also included in that folder, are Mark Wieder's changes to printing on Linux, using CUPS. I've not tested this yet, so my engine that's been in use uses whatever LC originally put in. You may want to include the CUPS mods when you build your version.
I've also got a proposed fix in that folder for the systemversion function, but not being able to compile on MacOS, this is also untested as it really only affects the Mac version of the build, not Windows or Linux in any way.
My linux compile is simply LCC9.7.0-dp1 (
the engine code from approx 3 years ago as I write this), as close to 'vanilla' / unmodified state as possible, but with the registration file auto-created as above in the screenshot. No other changes as yet, so it's a good place to start... possibly. Up to you.
If you can identify what Mark has changed with his emscripten / web deploy options, then you could in theory add these to your DPE Engine github? Seems to be multiple version of this kicking about now, not that it really matters I guess.
In the file "[home]/livecode/prebuilt/fetch-libraries.sh", change line 27 to point to your prebuilts folder.
(this is so it grabs the prebuilts locally, rather than from LC's server online - which of course won't work now
). You'll need to adjust this path to where you placed your prebuilts folder. Speaking of which, you'll find the
prebuilts here too.
My aim here was to try and gather together everything anyone might need, rather than having to go hunt for it all across the net and relying on things such as the waybackmachine for old code repositories. (and, if anything gets pulled from a github repo that we don't own of course). I just saved all those read-me's from github too, just in case things... 'disappear' as they tend to do.
Plus, being GPLv3, we have a
requirement to keep the source available - however old it now might be, and however much of a headache it might actually cause to compile it.
Also listed on that requirements / "You will need" page should be "
An abundance of patience, and a strong drink of your choice". Personally I found drinks containing caffeine worked better than ones containing alcohol. Your mileage may vary
Thinking about this, it might be an idea to put this in a linux VM of some description - so that when the Linux dependencies no longer exist one day, you can simply spin up the VM to make a recompiled engine. A simpler way to do that of course would be to base it on an old version of Ubuntu, not Ubuntu 22 as I used when I made my recompile. That would probably save you having to mess around with your sources list file in linux too, thinking about it.
Unfortunately that's not going to be an option for MacOS and Windows (due to the OS not being free), so we can't redistribute it. Netherless, It would be good to get a MacOS VM of the build working - with all the versions of xCode pre-installed, but that's going to be a huge VM image. Probably easily over 100GB. Likewise for Windows too.
Off-topic, why was I up at 5:30am posting this? Back ache.
Also, phpBB doesn't understand UK "daylight savings time", so it's an hour incorrect. - that's a common theme. Microsoft can't get their heads around that one either