Установка графического инструмента в Mac OS X (10.7) – уже установлена ​​Boost, но продолжайте получать эту ошибку

Некоторое время я застрял в этом вопросе. Я пытаюсь установить графический инструмент – http://graph-tool.skewed.de/download#macos – и у меня есть prereqs из следующих шагов, с которыми сайт графического инструмента ссылается на: https: // gist .github.com / openp2pdesign / 8864593

Вместо установки brew, которая, казалось, не предоставила мне все файлы, я пошел на официальный сайт Boost и загрузился оттуда должным образом, выполнив следующие шаги: http://www.boost.org/doc/libs/1_41_0/more /getting_started/unix-variants.html Это в основном получение tar-файла и его разворачивание.

Затем я установил мой boost install:

/usr/local/boost_1_55_0 

Я сделал небольшой пример C ++ и подтвердил работу Boost (используя «Сборка простой программы с использованием Boost» с http://www.boost.org/doc/libs/1_41_0/more/getting_started/unix-variants.html .

Теперь мясо проблемы: попытка установить графический инструмент. На последнем этапе я делаю

 ./configure PYTHON_EXTRA_LDFLAGS="-L/usr/local/bin" 

(PYTHON_EXTRA_LDFLAGS = "- L / usr / local / bin" просто заставляет скрипт configure находить Python в порядке.)

Но я получаю эту ошибку. (Он находит Python в порядке, но не повышает!)

 ... ================ Detecting python ================ checking for a Python interpreter with version >= 2.6... python checking for python... /Users/daze/Library/Enthought/Canopy_64bit/User/bin/python checking for python version... 2.7 checking for python platform... darwin checking for python script directory... ${prefix}/lib/python2.7/site-packages checking for python extension module directory... ${exec_prefix}/lib/python2.7/site-packages checking for python2.7... (cached) /Users/daze/Library/Enthought/Canopy_64bit/User/bin/python checking for a version of Python >= '2.1.0'... yes checking for a version of Python == '2.7.3'... yes checking for the distutils Python package... yes checking for Python include path... -I/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/include/python2.7 checking for Python library path... -L/Applications/Canopy.app/appdata/canopy-1.1.0.1371.macosx-x86_64/Canopy.app/Contents/lib/python2.7/config -lpython2.7 checking for Python site-packages path... /Users/daze/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages checking python extra libraries... -ldl -framework CoreFoundation checking python extra linking flags... -L/usr/local/bin checking consistency of all components of python development environment... yes graph-tool will be installed at: /Users/daze/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages =========================== Using python version: 2.7.3 =========================== checking for boostlib >= 1.38.0... configure: error: We could not detect the boost libraries (version 1.38 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation. 

Попытка 2: я тогда попытался правильно установить BOOST_ROOT:

В моем файле ~ / .bash_profile:

 export BOOST_ROOT="/usr/local/boost_1_55_0" 

Но это все равно не помогло, поэтому я это не сделал.

Попытка 3: я тогда попытался явно указать, где установлен boost:

 ./configure --with-boost="/usr/local/boost_1_55_0" PYTHON_EXTRA_LDFLAGS="-L/usr/local/bin" 

Но он все еще не может найти повышение и дает ту же ошибку в конце «Мы не смогли обнаружить библиотеки boost (версия 1.38 или выше)».

Меня весь день бил. Я внимательно прочитал и пошел на сайт randspringer.de/boost и увидел это в FAQ – http://www.randspringer.de/boost/faq.html#id2514912 :

Q: Я не понимаю сообщение об ошибке configure

Во время настройки я получаю:

проверка для boostlib> = 1.33 … configure: error: мы не смогли обнаружить библиотеки boost (версия 1.33 или выше). Если у вас есть встроенная библиотека ускорения (все еще не установлена), пожалуйста, укажите $ BOOST_ROOT в своей среде и не предоставляйте PATH опции –with-boost. Если вы уверены, что у вас установлен boost, проверьте номер версии. См. Http://randspringer.de/boost для дополнительной документации.

Я не знаю, использую ли я поэтапную версию boost. Что это и что я могу сделать?

A: Если вы не скомпилировали Boost самостоятельно, у вас нет поэтапной версии, и вам не нужно устанавливать BOOST_ROOT. Посмотрите здесь, чтобы объяснить различные типы установок.

Если вы уверены, что у вас установлен Boost, укажите каталог с

./configure –with-boost = ваш-boost-каталог.

Если он все еще не работает, проверьте номер версии в boost / version.hpp и сравните его с версией, запрошенной в файле configure.ac.

И я не знаю, что посмотреть при сравнении номеров версий. Там ничего интересного нет.

Надеясь, что у кого-то есть, по крайней мере, идея о том, какие другие подходы предпринять.

2 Solutions collect form web for “Установка графического инструмента в Mac OS X (10.7) – уже установлена ​​Boost, но продолжайте получать эту ошибку”

Ура, мой первый шанс вернуть Stack Overflow! Я занимался этой проблемой сам за последние 2 дня.

Решение

  1. Обновление clang через Xcode

  2. Создайте символическую ссылку для увеличения, которая включает номер версии

    /usr/local/include/boost-1_55.0 -> ../Cellar/boost/1.55.0/include/boost

(включено, потому что я установил Boost с помощью Brew и имел эту проблему)

  1. Измените генерацию CXXFLAGS в конфигурации так, чтобы она выглядела так:

    old_cxxflags = "$ CXXFLAGS"
    CXXFLAGS = "$ {CXXFLAGS} -std = gnu ++ 11 -stdlib = libc ++"
    {$ as_echo "$ as_me: $ {as_lineno- $ LINENO}: проверяет, поддерживает ли компилятор C ++ -std = gnu ++ 11"> & 5
    $ as_echo_n "проверяет, поддерживает ли компилятор C ++ -std = gnu ++ 11 …"> & 6; }

  2. Бег

    ./configure –disable-sparsehash CXX = "/ usr / bin / clang ++" PYTHON_EXTRA_LDFLAGS = "- L / usr / local / bin"

Версии

ОС: Mac OS X 10.8.5
Clang: Apple LLVM версии 5.0 (clang-500.2.79) (на основе LLVM 3.3svn)
Цель: x86_64-apple-darwin12.5.0
Модель резьбы: posix
Графический инструмент: 2.2.29.1
Boost: 1.55.0

объяснение

  1. Если вы перейдете через код конфигурации и попытаетесь скомпилировать файлы confdefs.h, сделанные в configure, вы увидите clang-ошибку, столкнувшись с флагом -Wno-unused-local-typedefs. Это фактическая причина: «Мы не смогли обнаружить ошибку повышения версии (версия 1.33 или выше)», а не факт, что она не может найти файлы boost. Эта проблема исправлена ​​с новыми версиями clang.

  2. Тест конфигурации для номера версии тупой. Он ожидает, что boost включит каталог, содержащий номер версии.

  3. Во время выполнения make вы можете столкнуться с следующими ошибками:

    ./../graph_adjacency.hh:26:10: фатальная ошибка: файл 'tuple' не найден

Это вызвано ссылкой на неправильную стандартную библиотеку [1]

 ./../graph_adaptor.hh:655:39: error: expected ';' in 'for' statement specifier for(typeof(removed_edges.begin()) iter = removed_edges.begin(); ./../graph_adaptor.hh:655:39: error: use of undeclared identifier 'tier' 

Это вызвано ссылкой на неправильный стандарт C ++ (c ++ 11 вместо gnu ++ 11)

Рекомендации

[1] Ни один член не назван 'forward' в пространстве имен 'std'
[2] У меня проблемы с C ++ 11 в Xcode

Я думаю, что вы в настоящее время указываете –with-boost на родительский каталог boost, а не на библиотеки boost. Пытаться

 ./configure --with-boost="/usr/local/boost_1_55_0/libs/" PYTHON_EXTRA_LDFLAGS="-L/usr/local/bin" 
  • Django manage.py syncdb throwing Нет модуля с именем MySQLdb
  • Отладка кода Conda и Visual Studio
  • Установка pygraphviz на OS X 10.7.5
  • как использовать py2app?
  • ошибка python / pip в osx
  • NI VISA + pyVisa на Mac OS X (Snow Leopard)
  • Невозможно получить cx_Oracle для работы с Python версии 2.7 / mac os 10.7.2 (Lion) - missing_OCIAttrGet
  • Настройка Django
  • Python - лучший язык программирования в мире.