ARCHFLAGS не принимает команду (проблемы установки MySQL 64-bit ruby gem на Snow Leopard)

0

Я никогда раньше не использовал команду ARCHFLAGS и не был в моей голове.

Я борюсь за то, что MySQL-самоцвет работает на Snow Leopard в 64-разрядной версии.

То, что я делаю, это команда:

sudo env ARCHFLAGS='-arch x86_64' gem install --verbose --no-rdoc --no-ri mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config 

Результат выглядит следующим образом:

.....
make
gcc -I. -I. -I/usr/local/lib/ruby/1.8/universal-darwin8.0 -I. -DHAVE_RB_THREAD_START_TIMER -DHAVE_MYSQL_H  -I/usr/local/mysql/include/mysql -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT  -DDONT_DECLARE_CXA_PURE_VIRTUAL -fno-common -g -O2  -fno-common -pipe -fno-common  -arch i386 -c mysql.c
cc -dynamic -bundle -undefined suppress -flat_namespace -arch i386 -L"/usr/local/lib" -o mysql_api.bundle mysql.o  -lruby -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm  -lpthread -ldl -lobjc  
ld: warning: in /usr/local/mysql/lib/mysql/libmysqlclient.dylib, file is not of required architecture

make install
/usr/bin/install -c -m 0755 mysql_api.bundle /usr/local/lib/ruby/gems/1.8/gems/mysql-2.8.1/lib
Successfully installed mysql-2.8.1
1 gem installed

Я вижу, что он конкретно указывает -arch i386, хотя я говорю это не делать; непосредственно после этого он дает мне предупреждение о том, что файл не является требуемой архитектурой, потому что это не так. Это 64-бит.

Запуск команды file дает следующее:

file /usr/local/mysql/lib/mysql/libmysqlclient.dylib 
/usr/local/mysql/lib/mysql/libmysqlclient.dylib: Mach-O 64-bit dynamically linked shared library x86_64

Так что, конечно, это не требуемая архитектура. Кажется, что установка gem игнорирует мою команду ARCHFLAGS. Любая идея, почему это было бы? Как я уже сказал, я нахожусь над головой над этим материалом: P

Спасибо огромное! - Кевин

Теги:
64bit
gem

2 ответа

1

Вот что я сделал:

экспорт ARCHFLAGS = "- arch x86_64"

sudo gem install --no-rdoc --no-ri mysql -v 2.7 - --with-mysql-config =/usr/local/mysql/bin/mysql_config

Я указал версию 2.7, потому что, похоже, проблема с последующими версиями. Я бы попробовал последнюю версию и посмотрел, работает ли она в первую очередь.

  • 0
    Вам нужен x86_64 вместо i386 для 64 бит.
  • 0
    Да, нет необходимости указывать оба в Snow Leopard. Я изменю это с "-arch i386 -arch x86_64" на "-arch x86_64".
0

Вы просмотрели комментарии в Rails + MySQL на Snow Leopard

Существует много дискуссий по настройке и установке, которые могут помочь. Я создаю двоичные файлы MySQL из источника, следуя советам Построить MySQL на Snow Leopard.

  • 0
    Да, я собрал двоичные файлы MySQL из исходного кода. Когда я запускаю команду file, она говорит, что она встроена в x86_64, поэтому я думаю, что это правильно. И я следовал всем остальным инструкциям, насколько я могу
  • 0
    Но я должен добавить, я понятия не имею - это все очень ново для меня, поэтому, пожалуйста, не стесняйтесь поправлять меня, если я ошибаюсь. Казалось бы , параметр archflags, который я передаю, не принимается, правда? Или нет?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню