Ответ 1
Я не знаю, если вы все еще на нем, но мне это удалось:
sudo rm /usr/local/lib/libz.*
:)
Возможно, какое-то программное обеспечение установило неправильную библиотеку... Ну, неправильная архитектура
Я извиняюсь за свое невежество - я очень к этому знаком, но я все пробовал и не могу установить 1.9.2 с помощью RVM. Я считаю, что я правильно установил RVM, и когда я перехожу к установке 1.9.2, я получаю следующую ошибку в моем журнале регистрации, когда ruby пытается скомпилировать:
ld: in /usr/local/lib/libz.1.dylib, file was built for unsupported file format which is
not the architecture being linked (x86_64) for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [../../../.ext/x86_64-darwin10.6.0/digest/md5.bundle] Error 1
make: *** [mkmain.sh] Error 1
Другая информация: я запускал OS X в 32 бит и получил аналогичную ошибку - замените (x86_64) на себя (i36). Я теперь работаю в 64 бит.
Я сделал все, что TinMan попросил меня сделать, и все равно не имеет смысла. Просто хочу указать, что я могу установить 1.8.7 просто отлично. При попытке установить 1.9.1 и 1.9.2 появляется следующее сообщение об ошибке:
`Installing Ruby from source to: /Users/tl/.rvm/rubies/ruby-1.9.2-p180, this may take a while depending on your cpu(s)...
ruby-1.9.2-p180 - #fetching
ruby-1.9.2-p180 - #downloading ruby-1.9.2-p180, this may take a while depending on your connection...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8609k 100 8609k 0 0 655k 0 0:00:13 0:00:13 --:--:-- 939k
ruby-1.9.2-p180 - #extracting ruby-1.9.2-p180 to /Users/tl/.rvm/src/ruby-1.9.2-p180
ruby-1.9.2-p180 - #extracted to /Users/tl/.rvm/src/ruby-1.9.2-p180
ruby-1.9.2-p180 - #configuring
ruby-1.9.2-p180 - #compiling
ERROR: Error running 'make ', please read /Users/tl/.rvm/log/ruby-1.9.2-p180/make.log
ERROR: There has been an error while running make. Halting the installation.`
Кроме того, я обновил свои autoconf, automake, m4 и libtools.
Наконец, мой путь и .bash_profiles выглядят так:
PATH
`/usr/local/upgraded/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin`
.bash
`export PATH=$PATH:/opt/local/bin
export MANPATH=$MANPATH:/opt/local/share/man
export INFOPATH=$INFOPATH:/opt/local/share/info
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"`
Я обновил свои autoconf, automake, m4 и libtools, следуя инструкциям здесь: http://tom.meinlschmidt.org/2010/11/22/upgrade-autoconfautomake-in-osx/
Информация о RVM: `Система:
system:
uname: "Darwin Tam-Les-MacBook-Pro.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:11:58 PST 2010; root:xnu-1504.9.26~3/RELEASE_X86_64 x86_64"
bash: "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
zsh: "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"
rvm:
version: "rvm 1.5.2 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]"
homes:
gem: "not set"
ruby: "not set"
binaries:
ruby: "/usr/bin/ruby"
irb: "/usr/bin/irb"
gem: "/usr/bin/gem"
rake: "/usr/bin/rake"
environment:
PATH: "/usr/local/upgraded/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/opt/local/bin:/Users/tl/.rvm/bin:/Users/tl/.rvm/bin"
GEM_HOME: ""
GEM_PATH: ""
MY_RUBY_HOME: ""
IRBRC: ""
RUBYOPT: ""
gemset: ""`
Кроме того, ваша PATH не похожа на то, что RVM было разрешено инициализировать себя. Когда RVM был инициализирован, он сначала отправит свой путь к вашему ~/.rvm.
Как вы это делаете? Я на самом деле новичок в этом и до сих пор проделал эту работу. Неэффективно я знаю.
Привет всем - прошло некоторое время, так как я отказался от этого, но я собираюсь попробовать еще раз в эти выходные. Спасибо за все советы, и я дам вам знать, что происходит оттуда. Для новичка, такого как я, я сильно недооценил, насколько сложно просто установить что-то.
Я не знаю, если вы все еще на нем, но мне это удалось:
sudo rm /usr/local/lib/libz.*
:)
Возможно, какое-то программное обеспечение установило неправильную библиотеку... Ну, неправильная архитектура
При обновлении с 32 до 64 бит все исполняемые файлы Ruby под управлением RVM необходимо перекомпилировать. Это означает Ruby и gems с скомпилированным C.
Вот несколько шагов, чтобы опробовать мою голову, сделав это некоторое время назад:
rvm get head
. Текущий оборот. RVM - 1.5.1, обновленный вчера.rvm uninstall
с версией Ruby, а затем rvm install
с тем же номером версии. Это должно привести к тому, что версии Ruby будут 64-битными.gem pristine -all
для каждого установленного Ruby. Вы могли бы сделать все это автоматически, используя rvm ruby 'gem pristine --all'
.Edit:
[...] Я смог успешно установить 1.8.7, но по-прежнему получаю ту же ошибку для 1.9.2. Есть что-то еще, что мне не хватает? Имеет ли значение .bash_profile в этой ситуации?
Попробуйте ввести rvm notes
и следуйте инструкциям по обработке зависимостей для Mac OS. Возможно, вам не хватает чего-то, что вызывает проблему. Если это не поможет изменить исходный вопрос с текстом сообщения об ошибке, чтобы мы могли его увидеть.
[...], когда он проходит этап экстракции, он говорит: '#extracted to/Users/tl/.rvm/src/ruby-1.9.2-p180 (уже извлечен)'
А, там. Do rm ~/.rvm/src/ruby-1.9.2-p180/*
, чтобы удалить этот каталог. RVM загружает tarball для конкретного Ruby в директорию ~/.rvm/archive
, а затем извлекает его в ~/.rvm/src
. Если что-то пойдет не так во время извлечения, оно может иметь только некоторые файлы, что приводит к сбою во время цикла конфигурации/выполнения.
Edit:
обновили мои autoconf, automake, m4 и libtools
Как вы их установили и обновили? Для Ruby на Mac OS требуются заголовки Apple и XCode.
Пожалуйста, добавьте вывод rvm info
к исходному вопросу. Он будет иметь все виды информации об окружающей среде.
Кроме того, ваша PATH не похожа на то, что RVM было разрешено инициализировать себя. Когда RVM был инициализирован, он сначала отправит свой путь к вашему ~/.rvm
.
Изменить:
Выход из rvm info
показывает, что RVM не был инициализирован. Он установлен, но это не одно и то же.
Я думаю, что это связано с предыдущей установкой MacPorts. удаляя эти символы /whatelse, запустив
sudo rm /usr/local/lib/libz.*
исправил это для меня
Я отказался от попыток установить Ruby 1.9.3 с использованием RVM на OS X 10.8 и использовать homebrew для этого. Он работал как шарм - устанавливает рубин с помощью одной команды:
$brew установить ruby
Это должно быть готово, если вы не сделали никаких сумасшедших вещей для установки вашей ОС X. Что я предлагаю:
Поскольку ваша установка RVM предназначена только для вашего пользователя tl, пытающегося выполнить RVM с совершенно новым пользователем, вы немного начнете чистку. Если установка RVM + Ruby 1.9.2 завершится неудачно с новым пользователем, тогда я предлагаю переустановить вашу машину, поскольку, вероятно, слишком много происходит.
В некоторой программе установлена версия zlib в /usr/local, которая не может использоваться для связывания Ruby с ней, потому что она (я полагаю) i386, а ваш Ruby-in-minting - это x64.
Ваши варианты:
1) Временно переместите /usr/local из пути, выполнив простое переименование
$mv /usr/local /usr/local-disabled
и попробуйте снова выполнить компиляцию. Это своего рода хардкорная мера, но это, вероятно, даст вам нужные библиотеки.
2) Bend RVM построит Ruby с архитектурой, которая подходит для этого zlib, который у вас есть. Сначала используйте file
и проверьте, какая арка имеет ваш zlib.
$file /usr/local/lib/libz.1.dylib
/usr/local/lib/libz.1.dylib: Mach-O dynamically linked shared library i386
Это скажет вам, для какой арки вам нужно настроить RVM
Place the following in your ~/.rvmrc file:
rvm_archflags="-arch i386"
3) Установите новый zlib, который по умолчанию будет компилироваться с соответствующей аркой - http://www.zlib.net/, а затем повторите попытку создания своего рубина с настройками по умолчанию.
4) Действительно, поскольку Петр предложил просто удалить оскорбительную копию zlib и посмотреть, какая программа будет искать ее: -P
Попробуйте это, работает как шарм: https://rvm.io/packages/zlib/
rvm pkg install zlib
rvm reinstall 1.9.2 --with-zlib
RVM зависит от Homebrew под MacOSX, поэтому в любом случае вы вернетесь к делу, вызывающему
brew install ruby