Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-15139

Wrong mysql binary in Mac OS distribution?

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 10.2.12
    • Fix Version/s: 10.2
    • Component/s: Configuration
    • Labels:
    • Environment:
      Mac OS X 10.13.3 (latest as of bug filing date), on a 2GHz i7 Mac Mini (Macmini5,3) with 16GB RAM, from a 240GB SSD on a case-sensitive APFS file system.

      Description

      I have been having a fit trying to install MariaDB 10.2 on MacOS X, both via the official installer, and via homebrew.

      But I was using an older OS than the one stated on the MariaDB Download page, so I went deeper to try to eliminate variables.

      I re-formatted the disk, clean-installed the latest MacOS (10.13.3), installed the latest Xcode, installed Remote Desktop (this Mac Mini server is normally headless), and downloaded the latest (10.2.12) MariaDB installer. Should be pretty much like your test environment, no?

      The installer said the installation failed, near the very end of the process.

      /var/log/mariadb_installer.log ends with:

      sh: line 1:  1580 Illegal instruction: 4  '/usr/local/mariadb/server/bin/mysql' --no-defaults --help 2>&1 > /dev/null
      FATAL ERROR: Can't execute '/usr/local/mariadb/server/bin/mysql'
      

      Figuring that the physical install succeeded, but initialization scripts failed, I manually followed the instructions in INSTALL_BINARY, and I manually ran "./bin/mysqld_safe --user=mysql &"

      Then I tried to run mysql from the shell, and I get "Illegal Instruction: 4" and a shell return code of 132. (mariadb/server/bin/perror tells me that means: "Old database file," which is strange, coming from a new installation.) I tried running other utilities in /usr/local/mariadb/server/bin, and got a similar message, probably because they are mostly shell script wrappers around mysql.

      I installed the third-party GUI MySQL clients "Sequel Pro" and "Querious." Both of them can connect to the database at 127.0.0.1. I successfully created a simple table in the test database and wrote/read a few records.

      I used the tool "Pacifist" to open the MacOS Installer package and extract just the mysql binary. It has the same cksum(1) as the installed one, and behaves the same.

      SO it appears that there is a bad copy of the client program "mysql" in the official download package for MacOS. At least, I can't think of any other reason there could be an "illegal instruction" exception.

      UPDATE, 2012-02-03: I repeated the test on a different, nearly identical MacMini5,3, with the same result. I will attempt to install the Homebrew bottled (pre-compiled) version next.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                cvicentiu Vicentiu Ciorbaru
                Reporter:
                Bytesmiths Jan Steinman
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated: