Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
Are you compiling mplayer from source or installing it via Macports ? Maybe I can guide you through the install/compile process.

It's ok - I'm done with it now. I spent nearly 3 hours installing via Macports in verbose mode, manually force activating all the dependencies and it still doesn't work - even if it did, I don't fancy going through that on every install (along with installing Xcode/Macports/Qt4).
It was good while it lasted but I'll fall back on the other methods now.
 
Day 9 , at last the keyboard for the 12" iBook G4 arrived and it fits, no more bulging cable underneath the spacebar.

View attachment 746072
View attachment 746074


So tomorrow the iBook G4 12" goes back with me on the train commute for a real test-ride .

The Newertech battery for the 14" iBook G4 went on a plane from Chicago US on the 20th of December only now to
have arrived at my Capital's airport, US -> Europe takes 20 days to fly the distance apparantly :)
[doublepost=1515530322][/doublepost]

Day 8

I decided to install Debian 9 netinstall minimal (textmode)+ssh via qemu-system-x86_64 on my MBpr to speed things
up, well after 2 hours :) and installing fuse and sudo and wget to retrieve the All-in-one PowerShell image , it's working

View attachment 746095
I tried on the G5 also with the same parameters -m 512M -net nic -net user but it keeps crashing once it gets to the login
start process , also on the G4's.

View attachment 746096
I have uploaded the qemu image if anyone with qemu on PPC Linux or OS X Leopard wants to give it a try, I wonder
if qemu 2.9.0 on PPC Linux would be able to start it ?

Here is Debian 9 minimal text console install ,SSH server with root (toor) and 1 account user (user) , fuse and sudo installed, PowerShell is in the home directory :

2 GB Qemu diskimage !!!

https://www.dropbox.com/s/xb11zfnvyozh28s/debian9_x86-64.tar.gz?dl=0

Thanks for preparing the Debian image. I got the same result in qemu 2.2.0 on Leopard. I didn't try Tiger though I imagine the same issue will be present.

I had qemu 2.10.1 installed in Ubuntu 16.04 on my G5 (11,2), but I hadn't built it with x86_64 support, so I downloaded the 2.11.0 source, unpacked and recompiled:
Code:
tar Jxpvf qemu-2.11.0.tar.xz
cd qemu-2.11.0/
mkdir build
../configure --target-list=ppc64-softmmu,ppc-softmmu,i386-softmmu,x86_64-softmmu --enable-vnc-jpeg --audio-drv-list=alsa --disable-spice
make -j4
sudo make install
(I disabled SPICE because the build kept failing at hw/display/qxl.o - plus I haven't been able to get spice/qxl to work on ppc64)

I then ran your debian 9 powershell image with:
Code:
qemu-system-x86_64 -smp cpus=2 -boot c -hda debian9_x64.img -m 2047M -net nic -net user

I've configured to use SMP with 2x CPUs. This doesn't make a world of difference, but it is faster than single CPU mode once booted. The boot process appears to use just one CPU regardless of the SMP support.

I updated the cMP 3,1 running El Cap with the latest qemu 2.11.0 (via Homebrew) and pitted it against the G5.

Booting with the same config from command line 'Enter' to the Debian GNU/Linux 9 login prompt:
- Mac Pro 2x 3.2Ghz Quad Core: 1 minute 6 sec
- Power Mac G5 2.3Ghz Dual Core: 3 minutes 58 sec

One little bonus is that qemu 2.11.0 on the G5 (Linux) now boots Mac OS 9.2.2 universal. This is something that I couldn't get to work previously. It refuses to boot OS9 with KVM enabled however and SMP is still not an option, so it's not exactly fast, but it does work. (Classic in Tiger is still the best option for OS9 on a G5).

To sum up the PowerPC challenge: I think I could have been more strict on my usage and I will for the next challenge. I still ran the Mac Pro during work hours, but only as a means to run Synergy and play my iTunes library. I also did use my iPhone 6 for posting to the forum, but only out of convenience.

My PowerBook G4 12" is still my favourite portable PowerPC Mac. Despite having a beautiful PBG4 17" to work with, I like the 12" 4:3 display and this particular PBG4 is now much better at staying cool(er) during operation, so it doesn't fry my lap like it used to.

The Pismo was a nice go-to Mac for me when I was at home. During the challenge, I put all of my PowerPC Macs to use, except for the Mac Mini G4, which I rarely switch on. The two Sawtooth units are going strong. I plan to reinstall Mac OS X Server 1.2v3 on the 350Mhz unit with the Rage 128 and hope to drop another 2x 512MB DIMMs in the 600Mhz unit with the 9700 Pro, which is going strong with Leopard.

In all, I've been using PowerPC Macs regularly throughout 2017, so it wasn't really a shell shock, but more of a way to put preference on the pre-Intel Macs before anything newer.

These PowerPC Macs will continue to receive regular use and TLC throughout 2018 and beyond!

. o O (I wonder what little vintage Mac gems this year will deliver me :) )
 
Last edited:
It's ok - I'm done with it now. I spent nearly 3 hours installing via Macports in verbose mode, manually force activating all the dependencies and it still doesn't work - even if it did, I don't fancy going through that on every install (along with installing Xcode/Macports/Qt4).
It was good while it lasted but I'll fall back on the other methods now.

I'll do a clean install on the iBook 12" this evening and will document the progress
 
Looks like FreeRDP is the only open-source RDP client that supports RD Gateways

https://ifconfig.dk/freerdp/

but I just tried compiling it from source on the PB G4 and it fails , sigh, Oh Debian Why Have Thy Forgotten Us ,
Macports has it but not in the older version that I run on OS X 10.5

Correction it exists in Macports 2.3.4 , now installing it sudo port install freerdp, will create an mpkg also for those without Xcode and Macports.

Oh, too bad - I'm member of the Dummi-Party, when it comes to Linux or coding... :(
So my VPC7/WinXPF&MS-RDP6 was the best I could get.
 
I never really updated this with my experiences. The week was fairly uneventful thanks to my 17" Powerbook doing such a good job. Apple mail in Leopard is still very capable for sending and receiving emails from my Microsoft hotmail email account. Leopard Webkit did the job for general web browsing, most of that was just forums though. In terms of gaming I didn't do a whole lot, I played a bit of Sim City but the resolution annoys me a bit as it wont run in widescreen. Played some of the Halo Campaign too. I will admit I used my intel Mac a little during the week too as friends were playing modern games and I didn't want to miss out :p.

I still need to find a text editor that works with Java markup, interestingly the recommendation of KomPozer, whilst not being any good for my use, did work great for my Grandad who had been looking for a replacement for AOL Press and wanted something as simple to use.

Towards the end of the week I decided to try and get my 1GHz Powerbook G4 Ti running, I replaced the screen as the hinges were broken and then installed OS9. I'm still working on getting the video card running, I think I'm going to have to find the original OS9 install image as none of the drivers I'm using are giving me any hardware acceleration. It also seems to be much louder than my 17" Powerbook, I replaced the thermal paste on the CPU, but I didn't do the thermal pads, I may look in to replacing them in the near future.
 
  • Like
Reactions: AphoticD
Correct, I use mplayer 1.3.0 from Macports , I could have sworn that I tried VLC this morning but you are right VLC no longer works.

mplayer 1.3.0 still does , PB G4 12" Better Performance on battery, 360p playback

View attachment 746243
I remember that I once created a mpkg for mplayer 1.3.0 on the G5 but it didn't work on your DLSD.
So I'm now creating the Macports mpkg installer for mplayer 1.3.0 again on my PB G4.
Normally you should be able to install it without Macports,Xcode on OS X 10.5 on a G4.

[doublepost=1515614158][/doublepost]

Looks like FreeRDP is the only open-source RDP client that supports RD Gateways

https://ifconfig.dk/freerdp/

but I just tried compiling it from source on the PB G4 and it fails , sigh, Oh Debian Why Have Thy Forgotten Us ,
Macports has it but not in the older version that I run on OS X 10.5

Correction it exists in Macports 2.3.4 , now installing it sudo port install freerdp, will create an mpkg also for those without Xcode and Macports.

[doublepost=1515614583][/doublepost]@Dronecatcher Here is mplayer 1.3.0 mpkg (no Xcode/Macports needed) created on my PB G4 OS X 10.5

https://www.dropbox.com/s/pyowzy1fehk4l1i/MPlayer-1.3.0_2.mpkg.zip?dl=0

Anybodycan try this MPlayer mpkg on a PB G4 12" on OSX 10.5 , maybe the architecture difference of the DLSD causes the Illegal Instruction ?
 
Day 11 - 12 - 13 - 14

So from Thursday to Friday I installed Xcode 3.11 and Macports 2.3.4 on a PB G4 12" in order to reproduce the install of MPlayer 1.3.0.

Xcode 3.11 seems to have a different understanding of time , maybe because it came from 2008

Xcode 960 hours.png


960 hours in 2008 = 18 minutes in 2018

Xcode finished.png


I then upgraded Macports 2.3.4 using sudo port selfupdate
and then installed MPlayer 1.3.0 using sudo port install MPlayer

After a while it failed with this error , so I followed the instruction

---> Activating python27 @2.7.14_0

Error: Failed to activate python27: Image error: /Applications/MacPorts/Python 2.7/Build Applet.app/Contents/Info.plist already exists and does not belong to a registered port. Unable to activate port python27. Use 'port -f activate python27' to force the activation.
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_python27/python27/main.log for details.

Error: Follow https://guide.macports.org/#project.tickets to report a bug.

Error: Processing of port MPlayer failed

sudo port -f activate python27

And then again sudo port install MPlayer , and went to bed and let it compile,build .

In the morning I was greeted with the following error

---> Installing libtheora @1.1.1_2

Error: Failed to install libtheora: Could not open file: /opt/local/var/macports/registry/portgroups/edfa67861b296b279a69a5a07b63eb66f612bc84af60d7e9057a354d86fc7f53-3307/xcodeversion-1.0.tcl

Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_multimedia_libtheora/libtheora/main.log for details.

Error: Follow https://guide.macports.org/#project.tickets to report a bug.

Error: Processing of port MPlayer failed

So I did a

sudo port clean libtheora
sudo port install libtheora


and continued with sudo port install MPlayer

Saturday I didn't have much time so just checked and saw that the install had completed.

MPlayer X265 Better Performance.png


Sunday morning installed qt4-mac and SMTube 18.1 but MPlayer wouldn't work bizarre enough, so I opened Utilities/Console and found the culprit, for some reason there was a broken dependency altough MPlayer worked when playing video files.

MPlayer broken.png


So tried to reinstall libpng sudo port install libpng which indicated that MPlayer was broken and started the build again.

Rebuilding MPlayer.png


Et voila, SMTube 18.1 with MPlayer

SMTube MPlayer back on track.png


In the meanwhile I've rebuild MPlayer again with the OSD option so there is a visual clue to what you are doing

sudo port install MPlayer +osd

However I don't have a clue why I can't produce an MPKG installer for MPlayer 1.3.0 that works for anybody else.
Might wipe this PB G4 12" again and try it myself since it was created on this machine.

In the meanwhile I've been checking the SMTube/SMPlayer forums if the HTTPS feed that Youtube pushes can be disabled so that we could continue to use Coreplayer but looks like it's not possible, and as far as I know currently only MPlayer 1.3.0 supports this SSL feed pushed from Youtube/SMTube.
 
When I attempted to port install Mplayer I wasn't counting but had to force activate around 15 dependencies...still failed though. Will try next time I do a new install of Leopard.

Just tried the MPKG installer on a Clean installed Leopard but it also fails, added /opt/local to my PATH even installed Xcode 3.11 because I thought that maybe it needed the Developer Frameworks but no luck, also "Illegal Instruction"
 
Day 15 - 34

Since I've been absent for a bit , just following what is happening on the forum , and busy with a lot of non-PPC stuff after work, I thought to summarize the few things I've done on my PPC's in the past days .

Finally after buying a Newertech battery for the iBook G4 14" on eBAY US , it arrived one month after shipping with added
custome fees of 44 EUR to a total of 129 EUR.

Since they are no longer made or available I took the risk but the battery no longer holds it's charge, only 1400mAH which means it will charge to 100% but when I take the charger off the iBook immediately dies since the battery empties instantly.

Newertech 14.jpg


Apart from that I've ordered an KingSpec mSATA SSD for my 2nd PB G4 12" 1.5 Ghz so I can compare it to it's sibling with a PATA SSD.

Just picked it up from the post office, waiting on the mSATA IDE adapter and Thermal Pads + CPU paste to arrive to teardown and rebuild my 2nd PB G4 12" 1.5 Ghz .

Kingspec mSATA SSD.jpg


In between I've been trying to get a newer QEMU version 2.11 working using Macports 2.4.2 so that I might be able to run the Debian 9 qemu image that I created during the challenge.

sudo port selfupdate
sudo port install qemu


Fails to fetch from http since now HTTPS
Manually downloaded QEMU from https://ftp.osuosl.org/pub/blfs/conglomeration/qemu/qemu-2.11.0.tar.bz2
and copied it to /opt/local/var/macports/distfiles/qemu

Fails with TLS error , configure uses apple-gcc 4.2

I have gcc-4.9 already installed via MacPorts so I had to make it the default GCC.

sudo port select --list gcc
sudo port select --set gcc gcc-mp-4.9


Configure still ignores default gcc so add to configure options
(see here https://trac.macports.org/wiki/UsingTheRightCompiler )

sudo port install qemu configure.compiler=macports-gcc-4.9

The build would fail with the following error :

Code:
ui/cocoa.m: In function '-[QemuCocoaAppController openDocumentation:]':

ui/cocoa.m:1077:15: internal compiler error: in decode_addr_const, at varasm.c:2770

    NSString *path_array[] = {@"../share/doc/qemu/", @"../doc/qemu/", @"../"};

              ^
libbacktrace could not find executable to open

Please submit a full bug report,

with preprocessed source if appropriate.

See <https://trac.macports.org/newticket> for instructions.

make: *** [ui/cocoa.o] Error 1

I tried to work around this but commenting it out since this is just a Help/Documentation dialog.

So I changed following files

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/ui/cocoa.m

Deleted declaration and fuction openDocumentation

Code:
- (void)openDocumentation:(NSString *)filename;

Then make gives an error about strlen in libfdt/fdt_ro.c

Code:
Undefined symbols for architecture ppc:

  "_strnlen", referenced from:

      _fdt_stringlist_count in libfdt.a(fdt_ro.o)

      _fdt_stringlist_search in libfdt.a(fdt_ro.o)

      _fdt_stringlist_get in libfdt.a(fdt_ro.o)

    (maybe you meant: _qemu_strnlen)

ld: symbol(s) not found for architecture ppc

collect2: error: ld returned 1 exit status

make[1]: *** [qemu-system-x86_64] Error 1

make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/x86_64-softmmu'

make: *** [subdir-x86_64-softmmu] Error 2

I found the solution found here :

https://stackoverflow.com/questions...gcc-4-2-1-on-mac-os-x-10-6-8-how-to-define-it

cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/dtc/libfdt

sudo nano fdt_ro.c

Added this

Code:
// Use this if strnlen is missing.

size_t strnlen(const char *str, size_t max)

{

    const char *end = memchr (str, 0, max);

    return end ? (size_t)(end - str) : max;

}

Continued the build with :

sudo port install qemu configure.compiler=macports-gcc-4.9

and the build will complete and Macports 2.4.2 has installed QEMU 2.11 but ...

Whenever I start qemu it will beachball until eternity so I'm guessing that erasing the OpenDocumentation Cocoa procedure did mess up the install, if anybody has an idea how to fix this Cocoa procedure ?

I tried earlier versions of QEMU from 2.3 up to 2.11 ( yup every version ) but they all follow the same error as above.

And today on this rainy day , I'll be playing around with Munki at home for an issue at work and installing Tiger so I can try to build SMTube using the usefull hint from @XaPHER
 
Truly the last man standing. I think everyone else went home already @Lastic ! :)

The Cocoa error from the Qemu wrapper makes sense to me. There was a point in Obj-C history where Apple completely dropped GCC for LLVM (around Xcode v4 iirc) and introduced shorthand for instantiating arrays and number objects. So, compiling that Obj-C code on anything earlier will bomb out with syntax errors. Try editing the Cocoa code where there are assignments like;
Code:
   NSString *path_array[] = {@"../share/doc/qemu/", @"../doc/qemu/", @"../"};
GCC on Leopard won't understand this.. change the line to;
Code:
  NSArray *path_array = [NSArray arrayWithObjects:@"../share/doc/qemu/", @"../doc/qemu/", @"../", nil];
Repeat for any other instances in .m Obj-C code where a pointer (*) is followed by an array declaration.

An (NS)Array in Obj-C is actually an object, which is a composite, holding strong references to one or more objects, not a plain old memory address like in C. So you can't plug an int, char or float directly into an NSArray without wrapping it with an NSNumber object. It seems clunky coming from C, but this is quickly forgotten once you realize how hugely convenient the NSArray methods are for working with arrays.
[doublepost=1517681874][/doublepost]Also, even though it beachballed in the OS X GUI, do the qemu-system-x binaries execute from the command line? What about with the -nographic option? It would be interesting to pin down where the problem lies as my understanding was that there were fundamental changes in memory management post 2.2.0 which Leopard just couldn't handle, (but maybe it's all just in the Cocoa GUI?)
 
Last edited:
  • Like
Reactions: nglevin
Truly the last man standing. I think everyone else went home already @Lastic ! :)

The Cocoa error from the Qemu wrapper makes sense to me. There was a point in Obj-C history where Apple completely dropped GCC for LLVM (around Xcode v4 iirc) and introduced shorthand for instantiating arrays and number objects. So, compiling that Obj-C code on anything earlier will bomb out with syntax errors. Try editing the Cocoa code where there are assignments like;
Code:
   NSString *path_array[] = {@"../share/doc/qemu/", @"../doc/qemu/", @"../"};
GCC on Leopard won't understand this.. change the line to;
Code:
  NSArray *path_array = [NSArray arrayWithObjects:@"../share/doc/qemu/", @"../doc/qemu/", @"../", nil];
Repeat for any other instances in .m Obj-C code where a pointer (*) is followed by an array declaration.

An (NS)Array in Obj-C is actually an object, which is a composite, holding strong references to one or more objects, not a plain old memory address like in C. So you can't plug an int, char or float directly into an NSArray without wrapping it with an NSNumber object. It seems clunky coming from C, but this is quickly forgotten once you realize how hugely convenient the NSArray methods are for working with arrays.
[doublepost=1517681874][/doublepost]Also, even though it beachballed in the OS X GUI, do the qemu-system-x binaries execute from the command line? What about with the -nographic option? It would be interesting to pin down where the problem lies as my understanding was that there were fundamental changes in memory management post 2.2.0 which Leopard just couldn't handle, (but maybe it's all just in the Cocoa GUI?)

I tried to adapt the cocoa.m file but then it will fail with some other errors :

Code:
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/osdep.h:36:0,
                 from ui/cocoa.m:25:
ui/cocoa.m: In function '-[QemuCocoaAppController openDocumentation:]':
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/compiler.h:81:12: error: negative width in bit-field '<anonymous>'
     struct { \
            ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/compiler.h:94:43: note: in expansion of macro 'QEMU_BUILD_BUG_ON_STRUCT'
 #define QEMU_BUILD_BUG_ON_ZERO(x) (sizeof(QEMU_BUILD_BUG_ON_STRUCT(x)) - \
                                           ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/osdep.h:252:24: note: in expansion of macro 'QEMU_BUILD_BUG_ON_ZERO'
                        QEMU_BUILD_BUG_ON_ZERO(!QEMU_IS_ARRAY(x)))
                        ^
ui/cocoa.m:1082:29: note: in expansion of macro 'ARRAY_SIZE'
     for (index = 0; index < ARRAY_SIZE(path_array); index++) {
                             ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/compiler.h:81:12: error: negative width in bit-field '<anonymous>'
     struct { \
            ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/compiler.h:95:43: note: in expansion of macro 'QEMU_BUILD_BUG_ON_STRUCT'
                                    sizeof(QEMU_BUILD_BUG_ON_STRUCT(x)))
                                           ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/osdep.h:252:24: note: in expansion of macro 'QEMU_BUILD_BUG_ON_ZERO'
                        QEMU_BUILD_BUG_ON_ZERO(!QEMU_IS_ARRAY(x)))
                        ^
ui/cocoa.m:1082:29: note: in expansion of macro 'ARRAY_SIZE'
     for (index = 0; index < ARRAY_SIZE(path_array); index++) {
                             ^
make: *** [ui/cocoa.o] Error 1

I did continue with erasing openDocumentation from cocoa.m to have a succesfull build of qemu like I did before.

I then tried your suggestion of -nographic and it won't beachball but just doesn't do anything ( I had it running for 30 minutes ).

Any suggestions to what I still need to adapt in the original cocoa.m ? I've attached it , if you ever have time to have look at it, my thanks upfront.

Regarding qt4-mac on Tiger for SMTube , still purring for the past 2 days , had to reinstall apple-gcc42 again, then lcms again , now it's building qt4-mac , fingers crossed.
 

Attachments

  • cocoa.zip
    14.7 KB · Views: 462
By the way, @Lastic , do you install apple-gcc42 normally before re-installing with -bootstrap to upgrade the whole toolchain? This is an implicit step that applies mainly to tiger to work around toolchain bugs. I'm asking since it generally isn't well documented on macports. It should install ld64-97, upgraded cctools and a couple more dependencies at the same time. Without doing this many ports won't compile without intervention(and some, like kerberos, just can't be worked around).
 
  • Like
Reactions: Lastic
I tried to adapt the cocoa.m file but then it will fail with some other errors :

Code:
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/osdep.h:36:0,
                 from ui/cocoa.m:25:
ui/cocoa.m: In function '-[QemuCocoaAppController openDocumentation:]':
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/compiler.h:81:12: error: negative width in bit-field '<anonymous>'
     struct { \
            ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/compiler.h:94:43: note: in expansion of macro 'QEMU_BUILD_BUG_ON_STRUCT'
 #define QEMU_BUILD_BUG_ON_ZERO(x) (sizeof(QEMU_BUILD_BUG_ON_STRUCT(x)) - \
                                           ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/osdep.h:252:24: note: in expansion of macro 'QEMU_BUILD_BUG_ON_ZERO'
                        QEMU_BUILD_BUG_ON_ZERO(!QEMU_IS_ARRAY(x)))
                        ^
ui/cocoa.m:1082:29: note: in expansion of macro 'ARRAY_SIZE'
     for (index = 0; index < ARRAY_SIZE(path_array); index++) {
                             ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/compiler.h:81:12: error: negative width in bit-field '<anonymous>'
     struct { \
            ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/compiler.h:95:43: note: in expansion of macro 'QEMU_BUILD_BUG_ON_STRUCT'
                                    sizeof(QEMU_BUILD_BUG_ON_STRUCT(x)))
                                           ^
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-2.11.0/include/qemu/osdep.h:252:24: note: in expansion of macro 'QEMU_BUILD_BUG_ON_ZERO'
                        QEMU_BUILD_BUG_ON_ZERO(!QEMU_IS_ARRAY(x)))
                        ^
ui/cocoa.m:1082:29: note: in expansion of macro 'ARRAY_SIZE'
     for (index = 0; index < ARRAY_SIZE(path_array); index++) {
                             ^
make: *** [ui/cocoa.o] Error 1

I did continue with erasing openDocumentation from cocoa.m to have a succesfull build of qemu like I did before.

I then tried your suggestion of -nographic and it won't beachball but just doesn't do anything ( I had it running for 30 minutes ).

Any suggestions to what I still need to adapt in the original cocoa.m ? I've attached it , if you ever have time to have look at it, my thanks upfront.

Regarding qt4-mac on Tiger for SMTube , still purring for the past 2 days , had to reinstall apple-gcc42 again, then lcms again , now it's building qt4-mac , fingers crossed.
in dtc/util.h ARRAY_SIZE() is defined as
Code:
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))

sizeof() won't return the number of elements in the NSArray on Leopard. Instead change the for statement to;
Code:
for (index = 0; index < [path_array count]; index++) {
 
Last edited:
  • Like
Reactions: Lastic
@Lastic I followed your build steps and made those two changes to the cocoa.m file and was able to get a working qemu 2.11.0 console in the Cocoa UI, but any time I try to load a VM it just bombs out with a Bus error.

The only difference with my build was that macports had installed gcc-6 on the last upgrade, so I had set;

sudo port select --set gcc gcc-mp-6

and then;
sudo port install qemu configure.compiler=macports-gcc-6


I'll try digging around some more tonight. A debug / verbose mode would really help here.

Qemu-2.11.0PPC.jpg

[doublepost=1517799464][/doublepost]To add ppc and ppc64 emulators to the build I edited the port file with;

sudo port edit qemu

Then edited the line
Code:
default_variants-append +target_i386 +target_x86_64
Changed to:
Code:
default_variants-append +target_i386 +target_x86_64 +target_ppc +target_ppc64

(I'm not sure if this was the correct way to do this, but it worked)

I then ran through the process of installing again (with both the path_array edits to ui/cocoa.m and the added strnlen() function in dtc/libfdt/fdt_ro.c )

I can now fire off a ppc or ppc64 vm, but it fails to load OpenBIOS and just bombs out with Bus error when loading a vm img.

EDIT: I have been able to get two different "BIOS" screens to load so far;

qemu-system-ppc64 -M g3beige
Picture 2.png

and
qemu-system-ppc64 -M prep
Picture 3.png


Both of them refuse to go any further than this and won't even get this far when run through the ppc emulator (non-64). At least seeing this, we know that the ppc64 emulator can load it's BIOS in certain cases, but the x86_64, i386 and ppc emulators aren't doing so well.
 
Last edited:
  • Like
Reactions: LightBulbFun
By the way, @Lastic , do you install apple-gcc42 normally before re-installing with -bootstrap to upgrade the whole toolchain? This is an implicit step that applies mainly to tiger to work around toolchain bugs. I'm asking since it generally isn't well documented on macports. It should install ld64-97, upgraded cctools and a couple more dependencies at the same time. Without doing this many ports won't compile without intervention(and some, like kerberos, just can't be worked around).

Thanks for the hint, that is why I had to rebuild apple-gcc42 after my first sudo port install of qt4-mac.

MacPorts showed your hint as a remark at the end and indeed it installed ld64.

Qt4-mac had finished this morning so next up SMTube once I get back from work.
[doublepost=1517808846][/doublepost]
in dtc/util.h ARRAY_SIZE() is defined as
Code:
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))

sizeof() won't return the number of elements in the NSArray on Leopard. Instead change the for statement to;
Code:
for (index = 0; index < [path_array count]; index++) {

Thanks, do you mind posting what changes you made to cocoa.m ?
 
  • Like
Reactions: AphoticD
@Lastic see attached.

I don't think this is where the problem exists though. I just tried building a vanilla source from https://download.qemu.org/qemu-2.11.0.tar.xz

first: sudo port deactivate qemu

Then;
Code:
unxz qemu-2.11.0.tar.xz
tar xpf qemu-2.11.0.tar
cd qemu-2.11.0
vi ui/cocoa.m  <--- made path_array changes at 2 lines
vi dtc/libfdt/fdt_ro.c <--- inserted strnlen() function below #includes (+ prototype declaration)
mkdir build
cd build
../configure --prefix=/usr/local --cpu=ppc --cc=/opt/local/bin/gcc --objcc=/opt/local/bin/gcc --host-cc=/opt/local/bin/gcc --python=/opt/local/bin/python2.7 --iasl=/usr/bin/false --enable-cocoa --target-list=ppc-softmmu,ppc64-softmmu,x86_64-softmmu,i386-softmmu
make -j4
sudo make install

I was then able to get SeaBIOS to load on qemu-system-x86_64 but still no luck with loading an img file (Bus error).
Picture 4.png

Maybe it's the block driver causing issues? Seems that as soon as an image file is loaded it stalls and then falls over.

(Note: this build seems to have broken the ppc64 BIOS loading which was "working" before).
 

Attachments

  • cocoa.m-Leopard.zip
    15.2 KB · Views: 406
Last edited:
Good news, qt4-mac 4.8.7 using @XaPHER hint compiled and works.
I was able to compile SMTube 18.1 on Tiger.

I'm now installing MPLayer 1.3.0 on Tiger which will probably take another day looking at all the dependencies it's pulling in.

In the meanwhile my Renkforce mSATA -> IDE adapter arrived, waiting on the thermal pads to rebuild my 2nd PB G4 12" 1.5Ghz.

Back to QEMU 2.11 via Macports , thanks to all the work by @AphoticD , I tried again but I have a similar experience , it hangs.

Too tired to keep digging for today, will let Tiger purr further on MPlayer , hopefully I can create a succesfull mpkg of qt4-mac and MPlayer 1.3.0 on Tiger afterwards.
 
A quick update

MPlayer 1.3.0 via Tiger Macports 2.4.2 completed so I quickly checked SMTube playback before heading off to work.

480p playback seems only feasible on Charger , Better Performance (Tried 720p on both Better Performance Battery / Charger )

qt4-mac mpkg completed just before I left, so now MPlayer is building it's package whilst I'm gone.

SMTube 18 on OS X Tiger.png
 
Day 35 - 38

As you may have read SMTube on Tiger has landed and a working MPlayer installer for
both Leopard and Tiger also .

But today's endavour , Netboot.

Since I was tired of restoring CCC images during 2 hours each time on my PB's to start
with a clean install (no Xcode/Macports) and I have an Xserve G4 with no current use, time to turn OSX 10.5 Server into a NetBoot Server .

It was fairly easy to setup and boots to a clean install Leopard (10 Gb image) in 3 minutes but it only seems to succeed if I switch my firewall off on OSX 10.5 Server.

Picture 1.png

I tried adapting the Firewall Setings for allowed Services by adding :

NFS
DHCP and NetBoot Server

Xserve G4 FW.png


but no avail , it does the same Bootp steps and then time-outs and starts from the local SSD.

Netboot Xserve G4.png


I could sniff the traffic on the source (Powerbook) and receiving port (G4) but maybe anybody has an idea ?

To my current understanding anything I save on a NetBooted machine , isn't saved after a reboot ?

Diskless NetBooting uses RAM for it's shadow file instead of the local disk or is there another difference between regular NetBoot and Diskless Netboot ?
 
Day 41

In the meantime I figured out that setting a Netboot Image as Diskless will keep the changes done to it since the shadowfile remains on the server.

However still have to disable the OS X 10.5 Server Firewall in order for BSDP to succeed.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.