Насколько я могу сказать, что происходит, это:
- В
python.jam
выясняется, какую версию Python я использую и какие каталоги библиотек искать;
- Он добавляет
-Wl-R
аргументы в командную строку g++
для включения этих каталогов;
- Команда
ld
жалуется, что у нее нет опции -R
.
Так что либо (a) у меня есть дефектная версия ld
, либо (b) мне нужно сообщить bjam, что ему нужно использовать другой параметр (возможно -rpath
), либо этот параметр не требуется.
Должно быть, я что-то упустил - я, конечно, не первый человек в истории, который пытался создать расширение Python с Boost на Mac OS X - но я не могу понять, где искать дальше. Есть намеки?
Обновление:
Используемая мной команда:
bjam
Если я сделаю bjam --version
, я получу
Boost.Build V2 (Milestone 12)
Boost.Jam 03.1.18
Используемый набор инструментов - это любой набор инструментов по умолчанию в Mac OS X.
Компилятор является компилятором по умолчанию в Mac OS X (с установленными инструментами разработчика), который является версией GCC 'i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc., сборка 5664) ».
Компоновщик является компоновщиком по умолчанию в Mac OS X, который называется ld
или ld64
, но у которого нет опции -R
, которую имеет GNU ld
, поэтому я предполагаю, что это специальная версия разработан, чтобы учесть концепцию каркасов Mac OS X или что-то еще. У него нет опции --version
.
Существует Jamfile
, который выглядит так:
import python ;
python-extension _optimor :
bill_python.cpp
bill_record_python.cpp
.. etc ...
:
<cxxflags>-fPIC
... etc ...
<variant>debug:<define>DEBUG
<include>/usr/include/python2.6
<include>../
;
Работает нормально на Ububtu GNU / Linux.
Меня не интересует Boost или bjam
per se; мое единственное требование - скомпилировать это расширение, чтобы я мог приступить к разработке системы, для которой это расширение является небольшой, но важной частью.