11 Replies Latest reply on Jun 11, 2015 7:14 AM by Steve Wright

    FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.

    Steve Wright

      I'm having an issue at the moment forcing FileMaker Pro 14 into 32 bit mode on OSX and was hoping somebody may have an idea, or could it perhaps be considered a bug.

       

      Our existing solution relies on a few plugins which are not yet x64.  I have set FileMaker Pro to run in 32 bit mode via the Get Info window although it would be nice if it could be done via the "assisted install" text file, but at least its achievable, or so I thought.

       

      Opening FileMaker Pro directly opens in 32 bit mode, as expected.

      If the .fmp12 file is opened directly via a finder window, then it opens in 32-bit mode too, great.


      However, opening FileMaker Pro 14 using one of the below methods will still open in 64 bit mode and I don't know how to force it to 32 bit.

       

      • FileMaker is opened via the popup folder view of Applications Grid or List (not a finder window)
      • The .fmp12 file is opened via the popup folder view of Applications Grid or List (not a finder window)
      • An alias to the .fmp12 file is placed in the dock (used for convenience)
      • A post install script (for my custom installer) is set to open the .fmp12 file (used for automated upgrades)
      • FileMaker Pro is opened via URL i.e fmp:/192.168.1.50/solutionfile  (not a concern for me, but may be for others)

       

      Obviously, this is a non-issue on windows due to the separate installers.

      So, I guess the question is.. is there an preference file or something else I can change to force it to always open in 32 bit mode.

        • 1. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
          monkeybreadsoftware

          you can use lipo terminal command to simply make your copy of FM 14 to be 32-bit only. (remove 64-bit code)

          • 2. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
            steveromig

            Steve Wright wrote:

             

            I'm having an issue at the moment forcing FileMaker Pro 14 into 32 bit mode on OSX and was hoping somebody may have an idea, or could it perhaps be considered a bug.

             

            Our existing solution relies on a few plugins which are not yet x64.  I have set FileMaker Pro to run in 32 bit mode via the Get Info window although it would be nice if it could be done via the "assisted install" text file, but at least its achievable, or so I thought.

             

            Opening FileMaker Pro directly opens in 32 bit mode, as expected.

            If the .fmp12 file is opened directly via a finder window, then it opens in 32-bit mode too, great.


            However, opening FileMaker Pro 14 using one of the below methods will still open in 64 bit mode and I don't know how to force it to 32 bit.

             

            • An alias to the .fmp12 file is placed in the dock (used for convenience)
            • The .fmp12 file is opened via the popup folder view of Applications (not a finder window)
            • A post install script (for my custom installer) is set to open the .fmp12 file (used for automated upgrades)
            • FileMaker Pro is opened via URL i.e fmp:/192.168.1.50/solutionfile  (not a concern for me, but may be for others)

             

            Obviously, this is a non-issue on windows due to the separate installers.

            So, I guess the question is.. is there an preference file or something else I can change to force it to always open in 32 bit mode.

             

            I will try to get some more information on this - and doing a quick Internet search came up blank - but my understanding is that if an application is launched from the dock it will launch as a 64-bit application regardless of whether it is set to 32-bit using GET INFO.  This is an Apple thing and affects other applications that allow you to switch between 32-bit and 64-bit.  And, as you found, launching a 64-bit application that has been set to 32-bit from the Finder will launch the application in 32-bit mode.

             

            This explanation covers your first point for sure.  At this point I can't explain the other three behaviors unless they are loosely defined under the Apple dock behavior I mentioned above.  But I have a feeling it is the OS making the decision and less to do with the application itself.

             

            Like I said, it is worth me investigating this a bit more to provide some better guidelines as to when an application may or many not run in 32-bit to 64-bit mode on OS X.  Let me see what I can come up with.

             

            But to answer your last question, there is not a preference file / setting that you can set to force it to launch as a 32-bit or 64-bit application.

             

            Steve Romig

            FileMaker, Inc.

            • 3. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
              Steve Wright

              Hi Steve,

               

              Many thanks for the reply, I will look forward to anything you can find
              Obviously I would love to embrace x64 for our clients but due to dependencies of various plugins which are not yet x64 ready, it's not possible at the moment.  Its a shame that separate 32bit / 64bit builds do not exist like on Windows, it wouldn't be an issue then.

               

              @Christian, Thanks for the suggestion, I will take a look at that as an option if there is no other way around it.

               

              I haven't used lipo before, but assume it would be something along the lines of

              #lipo "Original FileMaker Pro.app" -remove x86_64 - output "New FileMaker Pro.app"

               

              However, wouldn't doing this present issues with the code signing validity?

              • 4. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
                Steve Wright

                Any chance you would know the correct syntax / command to use so I could try this on one of my test systems?

                 

                I attempted the following and variations with different filenames, incase it didn't like the filename with spaces:


                #lipo "Original FileMaker Pro.app" -remove x86_64 - output "New FileMaker Pro.app"

                #lipo FMP.app -remove x86_64 - output New.app

                 

                However all I get in return is Lipo: can't map input file FMP.app (Invalid Argument)

                I wasn't able to find much with A quick google, other than talk of making changes to the original project etc.



                EDIT: I also found that you can use ditto, although need to read up on it a bit before proceeding, being more of a windows guy.

                #ditto -rsrc -arch i386 FMP.app "NEW.app"

                 

                This does appear to work, at least on my machine, although causes the firewall dialog to show on launch, which is no doubt related to the signed app being tampered with.

                • 6. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
                  Steve Wright

                  Hi Christian,

                   

                  Many thanks for the blog post / info.  That's working nicely, no firewall prompt each time either.


                  Now I just need to make sure it's not something that FileMaker Inc will frown upon, since I will need to do this as part of our solutions deployment.  Of course, this would only be a temporary measure, the majority of plugins we use are already x64, just a few pending updates and then we can repair the relevant installs, returning 64 bit support


                  Anyway, for that I will make a call to FMI, just to be sure.


                  • 7. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
                    monkeybreadsoftware

                    No need to talk with anyone about this.

                     

                    I bet most of the people around don't know command line tools. Don't scare them.

                    • 8. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
                      Steve Wright

                      Having tested this a few times today I noticed that lipo is not always installed on OSX or at least it isn't on one of my test setups.  Whilst easy enough to install (since it prompts to do so) it still adds additional steps and confusion (i.e why are command line dev tools required), the thing I am trying to avoid in the first place.  It also means automating it is not as straightforward as it could be.

                       

                      So I took another look at using ditto, since that seems to be available on all the mac's I have at hand to test, without having to install the Xcode command line developer tools.

                       

                      #!/bin/bash

                       

                      if [ -e "/Applications/FileMaker Pro 14/x86_64.app" ];then

                        echo "64 bit files already removed"

                      else

                        echo "Removing 64 bit files"

                        mv "/Applications/FileMaker Pro 14/FileMaker Pro.app" "/Applications/FileMaker Pro 14/x86_64.app"

                        ditto --rsrc --arch i386 "/Applications/FileMaker Pro 14/x86_64.app" "/Applications/FileMaker Pro 14/FileMaker Pro.app"

                      fi

                       

                      The above works as expected, although I will continue testing further.

                      Would anybody more proficient on mac's know if there are likely to be issues using the above script?

                       

                      Also, just to clarify, this is intended for use with our solution which is bundled with FM Pro under the SBA (hence why I felt the need to call and check with FMI)

                       

                      It's extremely rare for our clients to have existing FM licences, although if they do, it's a simple file rename to return it back to normal.  Since the majority (if not all) won't have, we are just trying to make things easier for our end users, at least until we can support 64 bit properly.

                      • 9. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
                        Steve Wright

                        Just a revision to above, since using that caused the file to fail code signing validation checks and subsequently made the firewall dialog show on each launch.  The following fixes that issue.  Not quite as elegant as using lipo but if ditto is already available then its one less dependency to worry about.

                         

                        if [ -e "/Applications/FileMaker Pro 14/x86_64.bak" ];then

                            echo "FileMaker Pro already trimmed"

                        else

                            echo "Trimming FileMaker Pro"

                            mv "/Applications/FileMaker Pro 14/FileMaker Pro.app" "/Applications/FileMaker Pro 14/x86_64.app"

                            ditto --rsrc --arch i386 "/Applications/FileMaker Pro 14/x86_64.app" "/Applications/FileMaker Pro 14/FileMaker Pro.app"

                            ditto --rsrc "/Applications/FileMaker Pro 14/x86_64.app/Contents/MacOS/fmxdbc_listener" "/Applications/FileMaker Pro 14/FileMaker Pro.app/Contents/MacOS/fmxdbc_listener"

                            mv "/Applications/FileMaker Pro 14/x86_64.app" "/Applications/FileMaker Pro 14/x86_64.bak"

                        fi

                        • 10. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
                          monkeybreadsoftware

                          In my solution I only changed the FM app itself, not the included helper apps.

                          I think there is no need to have fmxdbc_listener run 32bit, or do you have a reason?

                          • 11. Re: FileMaker Pro 14 - Forcing 32 bit on OSX not working as expected.
                            Steve Wright

                            The only reason for including it afterwards was because when checking the .app file with a code signing tool, it would fail due to the resources.  Since it had failed it would trigger the 'allow FM through the firewall' dialog on launch each and every time.

                             

                            By re-including the file, it passes the code signing check.  This isn't an issue if using lipo though, since that passes ok.

                            I used an app called RB App Checker Lite and it would fail on "Requirements and resources validate correctly"