Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upDoesn't work in PPC Leopard server!? #121
Comments
This comment has been minimized.
This comment has been minimized.
|
The official osxfuse package should work just fine on Leopard. I just ran some tests for the newly released version 2.6.3. Did you build osxfuse yourself or install an unofficial build? Please try uninstalling osxfuse. Then remove the preference pane (control-click onto preference pane icon). After the uninstall is complete try reinstalling the official version. |
This comment has been minimized.
This comment has been minimized.
|
I've run into the same problem with 10.5.8 PPC on a G5 quad. Installation ran fine, rebooted. osxfuse won't install in the Control Panel. Removed osxfuse and reran the installer. This time, the installer wanted to perform a upgrade. Did so, rebooted. CP still won't install. The 2.6.4 installer was downloaded from this site. |
This comment has been minimized.
This comment has been minimized.
|
Thanks for the update. This makes it a ppc64 issue rather than a ppc issue. Correct me if I'm wrong but a G5 quad is a 64-bit processor. Could you check if mounting volumes using ppc64 binaries works after you run the osxfuse installer manually? You can use the sshfs package from http://osxfuse.github.io to test this. Since I don't own a Mac equipped with a G5 I'm not sure if I can fix this on my own. I'll look into it and let you know if I find something. |
This comment has been minimized.
This comment has been minimized.
|
Could you run the following command in Terminal and post the output here?
|
This comment has been minimized.
This comment has been minimized.
|
Affirmative, the G5 quad is 64-bit, a ppc970. Here's the output, it's the same if run as a user or root.
I'll check the mounts tonight. |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
I cloned the repository. Added support to the build.sh script for XCode 3.1 and limited the architectures to ppc64, ppc7400, & ppc970. The osxfusefs build failed, stating the valid architectures were only ppc and i386. Next, opened up osxfusefs.xcconfig. ppc64 is not present in as a valid architecture for 10.5. Was this intentional? Added ppc64 to the list, and the build ran until a slew of failed dependencies arose; possibly due to xcrun not present. |
This comment has been minimized.
This comment has been minimized.
|
osxfusefs.xcconfig is only relevant for the kernel extension. As far as i know Mac OS X only comes with i386 and ppc kernels. There is not ppc64 kernel. ppc64 not being in osxfusefs.xcconfig is intentional. The |
This comment has been minimized.
This comment has been minimized.
|
You're correct that ppc 32-bit binaries run fine on a ppc64. In fact, since Apple didn't start adding 64-bit support until after abandoning PowerPC, all PowerPC code for Macs (including the kernel and its extensions) needs to be 32-bit. The biggest issue with the build procedure is the omission of Xcode 3.1 / GCC 4.0 as a valid Xcode version, since that's the last version that runs under Leopard (regardless of architecture). It's also possible that including ppc64 in the definition of M_SDK_105_ARCHS is problematic; it's at best useless. When I ran afoul of this issue, I was actually attempting to install osxfuse 2.7.0 via MacPorts, which makes some modifications to build.sh, including replacing all architecture lists with just the target architecture. This rendered the possible "ppc64" issue moot, but for some reason just one of the architecture references became "Power Macintosh" instead of "ppc". After adding entries for Xcode 3.1 and fixing the latter issue, it built and ran successfully on both my Quad G5 and my PowerBook G4. Here is a diff for the MacPorts-modified version of the 2.7.0 build.sh, which should be applicable to the standard version with the exception of the xcodebuild "Power Macintosh" fix: *** build.sh.orig 2014-10-23 13:31:58.000000000 -0700 *** 63,68 **** Other implementation details
! xcodebuild -configuration "$m_configuration" -target All GCC_VERSION="$m_compiler" ARCHS="Power Macintosh" SDKROOT="$m_usdk_dir" MACOSX_DEPLOYMENT_TARGET="$m_platform" >$m_stdout 2>$m_stderr
--- 1909,1915 ----
! xcodebuild -configuration "$m_configuration" -target All GCC_VERSION="$m_compiler" ARCHS="ppc" SDKROOT="$m_usdk_dir" MACOSX_DEPLOYMENT_TARGET="$m_platform" >$m_stdout 2>$m_stderr
*** 2307,2312 ****
I didn't include any additional OS versions in the Xcode 3.1 section, since I' not sure which (if any) would be valid. I'm not sure the diff can be unmangled from what the forum does to it, and the forum refuses to accept attachments other than pictures. Fred Wright |
This comment has been minimized.
This comment has been minimized.
|
It's not clear that anyone is still paying attention to this thread, but just in case, here's an update:
There's a pull request with my current fixes here: Fred Wright |
This comment has been minimized.
This comment has been minimized.
|
I've temporarily closed the pull request until I get the kextutil existence check to work right. |
This comment has been minimized.
This comment has been minimized.
|
Although I've fixed the aforementioned problem affecting the "reload" target, I've now discovered another problem preventing the release binaries from working on the G5. It seems that the ppc64 "fork" in the kext support utilities is broken when built by Xcode 3.2, such that they crash with a segfault on startup. What I've found so far is that:
I suspect that this was actually the OP's problem, though the thread morphed into issues relating to building on PPC rather than running on PPC. The segfault is completely hidden by the library (becoming the "the OSXFUSE file system is not available" message), though one can find the crash report in the logs once one knows that that's what's happening. Although it would be nice to figure out what the real problem is and fix it, an acceptable workaround would be to tweak the build procedure to exclude the ppc64 architecture when building the kext support programs. Fred Wright |
This comment has been minimized.
This comment has been minimized.
|
Additional notes:
Fred Wright |
This comment has been minimized.
This comment has been minimized.
|
I've opened three pull requests with fixes for Leopard and PPC (both building and running). It's three because two submodules are involved. These fix all known issues related to Leopard and/or PPC except the inability to build the dist/smalldist targets on Leopard. osxfuse: #186 Fred Wright |
This comment has been minimized.
This comment has been minimized.
|
Thanks @fhgwright for all the work. Could you check if
|
This comment has been minimized.
This comment has been minimized.
|
On Mon, 8 Dec 2014, Benjamin Fleischer wrote:
No, it doesn't: MacG5:~ fw$ When I run my own build with my fixes (where I hadn't changed the version MacG5:~ fw$ This was built on my MacPro running OSX 10.9.5 and Xcode 6.1/3.1. The same package also works on the Mac Pro, though I don't have enough Fred Wright |
This comment has been minimized.
This comment has been minimized.
|
Do you have any idea what might be causing this? autoinstall-osxfuse-core does not include ppc64 code. I know that the release version works fine on a G4 Mac Mini. |
This comment has been minimized.
This comment has been minimized.
|
As I mentioned in an earlier response, the problem is that the ppc64 content in load_osxfusefs and mount_osxfusefs started being invalid (segfaults at startup, for at least two reasons) in 2.6.2. It just took a while for anyone to notice. :-) I think I'll file a new issue to figure out what broke (and include what I've figured out about the breakage so far), but it's a low priority issue given that excluding ppc64 (and ppc970, of course) from those two builds is straightforward and has a negligible downside. My change to the autoinstaller was for a different reason - avoiding trying to run the Extensions Tests in non-native architectures (which caused the 10.5 build with Xcode 3.1 running on the Mac Pro to fail). |
This comment has been minimized.
This comment has been minimized.
|
To summarize my three pull requests: kext: Removes ppc64 (and ppc970) from the *_osxfusefs builds. |
This comment has been minimized.
This comment has been minimized.
I fully agree with you, dropping ppc64 from all builds but libfuse is the way to go. All I am saying is that it would be great to get autoinstaller fixed, too. autoinstaller, albeit it has never included ppc64 code, does not work on G5 powered Macs. It does not crash but fails to determine the version number. This has been broken for a long time. In my opinion the interesting part is that even though autoinstaller works fine on G4s the same ppc7400 code does not work on G5s. |
This comment has been minimized.
This comment has been minimized.
|
It works now. :-) I reported earlier that my build reports the version correctly on my G5. It has nothing to do with autoinstaller itself, but rather that it runs mount_osxfusefs to determine the version. When the latter crashes (due to the broken ppc64 content) as a subprocess of autoinstaller, it doesn't appear to the user as a crash, but simply reports the version as 0. I guess even the "VERY verbose output" provided by -v doesn't include the info on the crash. :-) One can, however, see the crash in /Library/Logs/CrashReporter/ or ~/Library/Logs/CrashReporter/ (I think in the latter when it's invoked from the command line, and in the former when it's invoked from the preference pane). With the bad ppc64 content removed from mount_osxfusefs, the autoinstaller version check works fine on the G5. |
This comment has been minimized.
This comment has been minimized.
|
Assuming that the lipo tool is available (I'm not sure if it's included in the base install or whether it requires the developer tools), the following script can be used (with sudo) to repair any installed version of OSXFUSE to work on the G5: #!/bin/sh PROGDIR=/Library/Filesystems/osxfusefs.fs/Support cd $PROGDIR for prog in $PROGS; do doneThis will be a NOP (with error messages) when used against future versions of OSXFUSE where the ppc64 content is already absent. It's also a harmless change to apply to versions 2.6.1 and earlier, where the ppc64 content works fine but is unnecessary. I'd provide it as a downloadable link if the site would let me. :-) Fred Wright |
This comment has been minimized.
This comment has been minimized.
|
That's great news. Thanks @fhgwright! |
This comment has been minimized.
This comment has been minimized.
|
Version 2.7.4 has been released, so I'm closing this issue. |
This doesn't seem to work in PPC Leopard Server. It installs okay, but after opening the control, it states that MacFuse isn't installed. It lets me install again,but keeps saying it's not installed.