-
Notifications
You must be signed in to change notification settings - Fork 141
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't compile the master 64 bit Boxer, help needed =( #100
Comments
I have been trying to get the 64 bit master to build under Xcode 10 on Mojave for months now with no success. Fortunately, I was able to build MaddTheSane's 64 bit branch using Xcode 9.4.1. You can download it from here if you want to try it: |
Finally got the standard 64 bit master to build in Xcode under Mojave. I used Github Desktop to download the repository, updated submodules via terminal using "git submodule update --init --recursive" and then built in Xcode 9.4.1. |
Many thanks for doing these builds. I've tested at least one or two of them and they seem to run alright until you attempt to open a folder (browse DOS Games folder). As soon as this is attempted it crashes. Have you seen this same behaviour? I've not started digging at the code, but I suspect it has something to do with sandboxing and how the file system is accessed in Mojave. |
I have not noticed any crashing from either build in Mojave on my system. Did you go to the Security & Privacy preference pane in the Finder and allow the Boxer app to have “full disk access”? Also, do you experience a crash if you navigate to your DOS games folder in the Finder and launch a Boxer game bundle by double-clicking it directly? Are you able to create and run fresh game bundles in these builds? |
I've given the Boxer.app full disk access, but I should mention that 'old' 32-bit Boxer does not have I cleaned out everything in ~/Library/ that was related to Boxer in an way (caches, cookies, Application Next, I tried to create a new game. I skipped trying to browse and just attempted to drop a folder Open a new DOS Prompt does work (and I can manually build a game). .. and the most important bit: I can both launch a freshly created as well as an old game.boxer game bundle by double clicking on it. MT-32 emulation functions as well (whew). So it still seems like it is somehow related to disk access or folder access. Per my previous comment the drag-and-drop to install fail. However, if you click OK then run the game it functions fine (and you can re-run install). I can certainly provide a stack trace if it would help. The source of the pain appears to be: Performing @selector(ok:) from sender _NSPaddedButton 0x600003713900 |
If I had to guess I'd say that the cause is this: Boxer/Application Delegate/BXShelfAppearanceOperation.m
|
Seems like |
Is this affecting MadTheSane’s build as well as the master? I haven’t had a chance to try to reproduce these errors yet. I am going to test in High Sierra as well as Mojave, both fresh installs. |
By the way, I didn’t do anything to customize these builds .. they are straight compiles with no alterations. |
I have been able to reproduce the reported issues on fresh installs of Mojave 10.14.5 and High Sierra 10.13.6. The issue affects both builds, so I presume the underlying problem is just carried through into MadTheSane’s customized build. Interestingly, the errors do not occur for me in my main install of Mojave in which I compiled these builds. It only occurs once they are moved onto other installs of macOS. I just did not notice until now because I prefer to use Boxer Bundler to make self-contained app wrappers and these all work fine for me, and on other Macs. I am wondering if this has anything to do with the fact I could only successfully build in Xcode 9.4.1 rather than the latest 10.x release? At least the issues can be worked around as reported, but it would be good to get to the bottom of this. I might have another crack at compiling in the latest Xcode 10 release and see how it goes. |
I think that something is null/empty and is passed unchecked to the API. It may be macOS API changes that cause something to silently fail earlier in the code: If you can determine what is different between your ripe macOS and a fresh 10.14, then we may be able to track it down. It looks like it may have something to do with icons or the folders. I've not got time to look at this right now, but if I can replicate a build with Xcode 9 then I'll see if I can add some debug prints. Fair warning: my Objective C clue is nil and I'm an abysmal programmer to start with.. |
One thing I recall is that I manually code signed the main Boxer app (but not Bundler or Standalone) via the terminal after compile because it was acting strangely when I tried to launch it - i.e. the icon was freezing for about half a second when double clicked. Code signing the app with my Apple developer ID fixed the issue and I have no idea why. I also have SIP and Gatekeeper disabled. However, I have now managed to compile the 64 bit master in the latest Xcode (10.2.1), and this time I have not touched it at all - just dragged it fresh from the Xcode developer folder and uploaded it 'as is'. Can you please try it out and let me know if the same problems occur? |
Unfortunately the crash still happens. It stopped complaining about the code signature, so that's a step forward. I have a second Mac running Mojave and I got the same results running it there too. |
The only thing that distinguishes my main install of Mojave is that it is a system that has been progressively updated from macOS 10.9 all the way though to 10.14. I used a completely fresh install of Mojave, with fresh installs of Github desktop and Xcode. The build exhibits the above problems right off the bat, within that fresh system. That leads me to believe there is an inherent problem with building 64-bit Boxer in Mojave. What I will do next, is repeat the fresh install process again with High Sierra. I previously tested the Mojave builds in HS, but not one built within it. That would at least help establish if we are dealing with a Mojave-only or wider issue. |
@john-at-charpa could you please post the full stack trace? I’m trying to reproduce it on a fresh Mojave system and having trouble. |
Also I’m wondering if this resolves it for you:
|
@almeath If you can build this in Mojave without any overly complex work-arounds, then would you be able share (roughly.. slightly detailed?) your steps? I assume it's more than:
I attempted to build at least one of the trees about 5 or 6 months ago and gave up after Xcode complained about things that seemed to be Objective C specific (I can do c, c++, and other crazy dances but not really Objective C). If I can build this I'll take a swing at that chunk of code that appears to trigger the issue. |
@getaaron So missing headers would definitely cause it not to build (the errors are quite clear), but you certainly don't need the OS SDK headers at run-time. That being said, I was never prompted by Xcode to install them. I guess I foolishly assumed that having the 10.14 SDK installed meant the OS headers were there too. Sigh. I've attached the full stack trace; since @almeath can reproduce it on a fresh system I suspect that something (in the section I detailed earlier) has changed in the 10.14's API in a way that triggers it. Full stack output
|
In my fresh Mojave installation I tried installing the SDK headers suggested by @getaaron and then building again in Xcode. Unfortunately the same issues occur. I get the same uncaught exception error as @john-at-charpa when browsing for the game folder. I will start typing up the exact sequence I follow to build in Mojave and will post it here as soon as possible. In the meantime, I will try a fresh build in High Sierra and post a link to it, if it works. |
Can you please let me know if this build exhibits the same crashing problem: http://www.eftel.com/~almeath/mac/boxer_test.zip It is a build I compiled in High Sierra on Xcode 9.4.1 In my Mojave system it is not exhibiting any crashing behavior or other problems. |
The steps I follow are:
This might not be the 'correct' way to do it, but it has worked for me. I have not mentioned anything to do with signing, as it does not seem to be necessary to change the default settings in Xcode in order to successfully build. As I mentioned in earlier posts, I did experience some wonky behavior in Mojave and had to force code sign the Boxer app after I built it using terminal commands. That stopped the bizarre "icon freezing" issue I was having when launching the app. I still do not understand what Apple is doing with code signatures in Mojave and it will probably only get worse in Catalina. I also cannot figure out why on my own machine I do not get any crashes under my current build of Mojave, but I do when building on a fresh install. As mentioned, my system has been incrementally upgraded and tweaked for many years. I have installed lots of command line tools like homebrew etc. but I otherwise see no reason why my system is not affected by the reported issue. The last thing I should point out is that these 64 bit builds are full of bugs and minor issues, so work arounds are probably going to be the order of the day until Alun has time to develop an official 64 bit release. At least these early builds will run and allow game boxes to be setup and launched successfully, albeit not in the way everyone may prefer. |
It looks like going to General Preferences and unticking “Use shelf appearance in Finder’s icon view” prevents the crash when navigating to the games folder. |
I believe my pull request fixes the issue: #98 Though unticking that checkbox seems to work just as well. :-) |
Ran into the same crash. The implementation's method name was off, and #98 is indeed a fix 👍 |
@alunbestor I think this can now safely be closed :) |
Hi everyone!
First of all, I'm a total noob: I never compiled anything before and I just downloaded Xcode for the first time ever. Sorry. =P
With that said, I tried downloading the package for the 64 bit version and tried compiling it, but Xcode 10.2.1 keeps telling me that it's "Unable to resolve build file: XCBCore.BuildFile". I've found some info about this error and tried the suggestions I saw, but nothing works. What am I doing wrong?
The text was updated successfully, but these errors were encountered: