General Category > LisaList2

LisaEm 1.2.7-RC4 support bug reports

<< < (2/34) > >>

D.Finni:
I would like to maintain Mac OS X 10.5.8 support for LisaEm, but wxWidgets seems to be the weak link and is causing most of the trouble.

My solution is to keep the old wxWidgets 2.8.x interface from old LisaEm, and combine with emulator bug-fixes and other improvements from your latest GitHub source. The result is here: LisaEm 1.2.7-Alpha for Mac PowerPC 10.4

rayarachelian:
Well done!
There is some infection point between the wx3.11 and wx3.12 where it stops working on G4/G5. I have a build on my G5 iMac that works. I'll post it up when I get a chance. Newer versions than that commit hash won't build, but it's compatible enough.  I suppose wx3.0.4 should build fine too.
I'll probably do a dual release for the release version of 1.2.7 where it's a fat binary for classic macs that supports 10.4 PPC-32, 10.5 PPC-64, 10.5 i386 and then a more modern 10.11+ for just x86_32|64.

I've got a 10.11 El Capitan Vbox VM that mostly works well enough to build on.

My old 2009 core2 intel 15" mbp w/10.9.5 doesn't seem to be able to build proper binaries and the lldb debugger is terrible there as backtrace and list don't work too well to track down bugs, not sure why. Binaries built on that box all crash.

But binaries built on 10.11VM do work on 10.12, and 10.14 and 10.15 VMs, and on 10.11, clang + lldb work pretty well and I can debug most things, it's just that the display isn't GPU accelerated so I can't tell how well it would do on real hardware, though I do have a 10.14 on a fairly recent Mac that works well.
I wish I could get a working build for as low as 10.7 as supposedly wxWidgets 3.x does go that low. But... it is what it is.
I'll likely test it on FreeBSD, and OpenIndiana (and maybe OpenBSD) as well before the final 1.2.7 release (or maybe I'll leave that for 1.2.8 ), but I don't expect too many issues with those OSs. I tried to get the latest Oracle Solaris 11.4 in a VM, but it's quite crashy, so not going to bother with that. Might be nice to get it working on AIX 4 or 5 as well, but that would be more of a curiosity than anything anyone would likely care about (assuming I can even get wx to compile on those beasts)

Anyway, I've just rewritten the build system using the scripts from 1.3.0 which use a file system layout where the directories are organized like the Lisa's hardware - that was the original intent from the very first versions in 1998, but once I got to ~2007 I gave that up. So bringing it back now. So what's gonna happen next is that the 1.2.x repo on github will go into deprecated mode and I'll have a new repo called just "lisaem" without the lame ass version number. I was saving that for when 1.3.0 was working, but, I can do that in a few days once this stuff is stable.

But more urgently, I gotta write the Cygwin scripts for building on windows. I'm using this VM for that: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines so I have to finish that bit before the end of the month or it will expire.  :P They're usually pretty good about releasing new versions a couple of weeks after they expire, but who knows when they'll end that program. Unfortunately on the pre-built windows versions, the wx-config command doesn't exist, so I'll have to deduce the wx-config --libs and --cflags and --cxxflags outputs from Linux and macos and deal with a bunch of cygpath translations to make shit work right. Originally I relied on wxdsgn off sourceforge, but that's been abandoned ~2011 or so. Too bad, as it was a nice IDE and had pre-built wxWidgets for Windows.

I did manage to script a couple of batch files that do an unattended Cygwin install with the mingw32/64 compilers, so there's that at least.

D.Finni:

--- Quote from: rayarachelian on December 01, 2019, 07:34:05 pm ---Well done!
There is some infection point between the wx3.11 and wx3.12 where it stops working on G4/G5. I have a build on my G5 iMac that works. I'll post it up when I get a chance. Newer versions than that commit hash won't build, but it's compatible enough.  I suppose wx3.0.4 should build fine too.
--- End quote ---
I can tell you more about it from my experience this weekend:
2.8.12 is fine for 10.4 and 10.5
2.9.5 killed 10.4 support, but supports 10.5
3.12 killed support for both 10.4 and 10.5.

I spent probably 3 hours trying to get 2.9.5 to compile on 10.4, ripping out and modifying the code rather ham-fistedly when compile errors came up. These were generally for libraries not in 10.4, like CoreGraphics and CoreText. Managed to get a successful build, but then linking LisaEm with it failed. And probably I've broken one or the other from my attempts.

I noted that removal of support for older OS X operating systems seemed arbitrary and probably could have been maintained in wxWidgets.


--- Quote ---I'll probably do a dual release for the release version of 1.2.7 where it's a fat binary for classic macs that supports 10.4 PPC-32, 10.5 PPC-64, 10.5 i386 and then a more modern 10.11+ for just x86_32|64.

--- End quote ---
My proposed solution is to maintain two wxui directories. One links to 2.8.12 and is for PPC/Intel 10.4 and 10.5 builds. The other wxui directory links to 3.x and is for everyone else.

So long as nothing you do in cpu68k/, generator/, or lisa/ breaks older wxWidgets support, this seems like a reasonable compromise to me.

I volunteer to maintain 10.4 and 10.5 PPC/Intel builds.



--- Quote from: rayarachelian on December 01, 2019, 07:34:05 pm ---My old 2009 core2 intel 15" mbp w/10.9.5 doesn't seem to be able to build proper binaries and the lldb debugger is terrible there as backtrace and list don't work too well to track down bugs, not sure why. Binaries built on that box all crash.


--- End quote ---
And early gotcha that I ran into is that OS X back till at least 10.4 comes with a wxWidgets installation, but it's usually out of date. You need to check /usr/bin/wx-config because that's what LisaEm will link with if you don't update it. I used a symlink to point to my newer build of 2.8.12.

But maybe you already know about this....




--- Quote from: rayarachelian on December 01, 2019, 07:34:05 pm ---I wish I could get a working build for as low as 10.7 as supposedly wxWidgets 3.x does go that low. But... it is what it is.

--- End quote ---
I have a Mac running 10.8 that I could build on. I don't have any 10.7 machines, however. I also have a Mac Pro running 10.11 and another Mac running 10.12 Sierra.

I have a fairly good spread of OS X versions across PPC and Intel.  8)

rayarachelian:

--- Quote from: D.Finni on December 02, 2019, 10:26:42 am ---I can tell you more about it from my experience this weekend:
2.8.12 is fine for 10.4 and 10.5
2.9.5 killed 10.4 support, but supports 10.5
3.12 killed support for both 10.4 and 10.5.

I spent probably 3 hours trying to get 2.9.5 to compile on 10.4, ripping out and modifying the code rather ham-fistedly when compile errors came up. These were generally for libraries not in 10.4, like CoreGraphics and CoreText. Managed to get a successful build, but then linking LisaEm with it failed. And probably I've broken one or the other from my attempts.

I noted that removal of support for older OS X operating systems seemed arbitrary and probably could have been maintained in wxWidgets.

--- Quote ---
Agreed. I really hate this idea that we have to throw out backwards compatibility. I haven't spent too much time in 10.4 on the G5 so maybe I should revisit 10.4 and seeing if I can get things going there.


--- Quote from: D.Finni on December 02, 2019, 10:26:42 am ---My proposed solution is to maintain two wxui directories. One links to 2.8.12 and is for PPC/Intel 10.4 and 10.5 builds. The other wxui directory links to 3.x and is for everyone else.

So long as nothing you do in cpu68k/, generator/, or lisa/ breaks older wxWidgets support, this seems like a reasonable compromise to me.

I volunteer to maintain 10.4 and 10.5 PPC/Intel builds.

--- End quote ---

Um, ok, so... "Tag you're it" :-D I mean, "I dub thee maintainer of PPC" backports.



--- Quote from: D.Finni on December 02, 2019, 10:26:42 am ---And early gotcha that I ran into is that OS X back till at least 10.4 comes with a wxWidgets installation, but it's usually out of date. You need to check /usr/bin/wx-config because that's what LisaEm will link with if you don't update it. I used a symlink to point to my newer build of 2.8.12.

But maybe you already know about this....

--- End quote ---

Oh yes, I always set PATH=/usr/local/wx-3.x.x/bin:$PATH to avoid issues. But even 3.1.2 is a pain. On linux they've decided to do some sort of automated rescaling so a 4K display reports back as 1080p and it undoes all the scaling stuff I've added. 3.1.1 works great. I'm probably not calling the proper new interface to get the actual size of the display or something, but it moved far away from the way 3.0 and 2.8 did things. So I'm mostly sticking to wx3.1.1

I haven't bothered with symlinks there because I keep a bunch of different ones on hand there. Currently there's 5 of them on my linux box.


--- Quote from: D.Finni on December 02, 2019, 10:26:42 am ---

--- Quote from: rayarachelian on December 01, 2019, 07:34:05 pm ---I wish I could get a working build for as low as 10.7 as supposedly wxWidgets 3.x does go that low. But... it is what it is.

--- End quote ---
I have a Mac running 10.8 that I could build on. I don't have any 10.7 machines, however. I also have a Mac Pro running 10.11 and another Mac running 10.12 Sierra.
I have a fairly good spread of OS X versions across PPC and Intel.  8)

--- End quote ---

Sort of the same here, though as a new macos comes out every year I've given up trying to keep a machine for each, it's a losing battle, so I now just have a VM for every few versions.
--- End quote ---

--- End quote ---

rayarachelian:
I renamed this thread to Beta to match the current release state.

Just cut a beta release 2020.03.14 and pushed source to github last night, and uploaded to the downloads page:
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-20200314.tar.xz <- source
* https://lisaem.sunder.net/downloads/LisaEm-1.2.7-Beta-20200314-macosx-10.7-x64.dmg <- macos X 10.7 and higher
* https://lisaem.sunder.net/downloads/lisaem-1.2.7-20200314-msw.zip <- Windows 10Most of the non-display bugs are fixed, but lots of display bugs are still there. Once those are fixed, there's one or two more features to add, and then will move to release. I can't say when that will be as the display bugs are many and fugly.

On macos x the display refreshing is really badly broken, so I need to do a lot more work there. The good news is that I was able to create a Mountain Lion ( 10.8 ) VirtualBox VM with XCode 4.6.3 - I had to use macports as brew.sh (aka homebrew) does not support it.
In theory I used the 10.7 SDK, so it might work on macos x 10.7, but as I don't have a Lion machine to test it on, I can't yet tell. This uses wxWidgets 3.0.4 as 3.1.x will not build there.
I think for the final version I'm going to do some shell scripting tricks on MacOS X to glue several binaries together - without using lipo. Instead of launching a Mach-O binary for LisaEm, I'll run a shell script which will detect the OS and what binaries are available and run the latest one that the current OS will support. So if you're on PowerPC it will launch the G4/G5 version. If you're on an older intel it will try to run one that works. If you're on catalina it will launch one with wxWidgets 3.12 or 3.13, etc.
That is assuming the next macos x doesn't remove the shell altogether.  :P
I probably need to write some automation, scripts as well, to cut releases like these, (creating the DMG and populating it, pushing source to gitlab and binaries to the download page) as doing them by hand is getting annoying.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version