Мне пришлось немного подправить это, чтобы оно работало на Mac mini Core Duo (не поддерживающем 64-битный код), по сути, вы просто должны опустить ссылки на 64-битную архитектуру:
$ sudo apxs -c -i -a -D lmysqlclient -lmysqlclient -lm -lz -I/usr/local/mysql/include/ \
-L/usr/local/mysql/lib/ mod_auth_mysql.c
Если вы получили ошибку, не найдя cc из XCode Toolchain:
env: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain/usr/bin/cc: Нет такого файла или каталога
apxs: ошибка: команда не выполнена с rc = 65536
тогда вам нужно либо вообще установить XCode, либо символическую ссылку на набор инструментов по умолчанию:
$ sudo ln -s /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.8.xctoolchain
Также: блог Нильса Преускера недоступен. Вы можете найти ответ еще в кеше Google. Кроме того, я вставил соответствующие части здесь:
Компиляция и установка mod_auth_mysql в OS X 10.5.6
17 апреля 2009 г. по nils
Модуль apche mod_auth_mysql позволяет использовать базу данных MySQL вместо, например ,. файл passwd. Существует установщик модуля для Mac OS X 10.4, но нет установочного пакета или порта для Mac OS X 10.5 или более поздней версии. Я немного поигрался с исходниками и, наконец, смог заставить его скомпилироваться и запустить apache без сообщений об ошибках. Я создал файл diff для исправления mod_auth_mysql.c. Следующие шаги объясняют, как применить исправление, скомпилировать модуль и протестировать конфигурацию apache.
Сначала мы создадим папку src в вашем пользовательском каталоге, загрузим mod_auth_mysql и развернем ее:
$ mkdir ~/src
$ cd ~/src
$ curl -O http://puzzle.dl.sourceforge.net/sourceforge/\
modauthmysql/mod_auth_mysql-3.0.0.tar.gz
$ tar zxvf mod_auth_mysql-3.0.0.tar.gz
Теперь у вас есть исходники модуля в папке mod_auth_mysql-3.0.0. Прежде чем мы сможем его скомпилировать, необходимо применить патч. Вот файл сравнения mod_auth_mysql , сохраните его в
~ / SRC / mod_auth_mysql-3.0.0 / mod_auth_mysql.diff
Чтобы применить исправление, мы переходим в каталог sources и запускаем программу исправления unix, которая берет исходный файл и применяет файл diff в качестве исправления:
$ cd mod_auth_mysql-3.0.0
$ patch mod_auth_mysql.c mod_auth_mysql.diff
продолжить с 32- или 64-битным кодом ...
Если файл diff пропал, вот он ...
209c209
< #define STRCAT ap_pstrcat
---
> #define STRCAT apr_pstrcat
592c592
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlhost),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlhost),
596c596
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlport),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlport),
600c600
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlsocket),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlsocket),
604c604
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqluser),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqluser),
608c608
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlpasswd),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlpasswd),
612c612
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlDB),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlDB),
616c616
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlpwtable),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlpwtable),
620c620
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlgrptable),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlgrptable),
624c624
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlNameField),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlNameField),
628c628
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupField),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupField),
632c632
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupUserNameField),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupUserNameField),
636c636
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlPasswordField),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlPasswordField),
640c640
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlEncryptionField),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlEncryptionField),
644c644
< (void*) APR_XtOffsetOf(mysql_auth_config_rec, mysqlSaltField),
---
> (void*) APR_OFFSETOF(mysql_auth_config_rec, mysqlSaltField),
652c652
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlAuthoritative),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlAuthoritative),
656c656
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlNoPasswd),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlNoPasswd),
660c660
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlEnable),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlEnable),
664c664
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlUserCondition),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlUserCondition),
668c668
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlGroupCondition),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlGroupCondition),
672c672
< (void *) APR_XtOffsetOf(mysql_auth_config_rec, mysqlCharacterSet),
---
> (void *) APR_OFFSETOF(mysql_auth_config_rec, mysqlCharacterSet),