В моей системе экспат находится по адресу
/usr/include/expat.h
/usr/include/expat_external.h
/usr/lib/libexpat.1.5.0.dylib
/usr/lib/libexpat.1.dylib
/usr/lib/libexpat.dylib
/usr/lib/libexpat.la
Поэтому я экспортирую необходимые переменные для надстройки для сборки graphml
export EXPAT_INCLUDE=/usr/include
export EXPAT_LIBPATH=/usr/lib
затем я запускаю (где $ DIR и $ BOOST генерируют пути, по которым я хочу включить include и libs)
./configure --includedir=$DIR/$BOOST --libdir=$DIR/$BOOST/lib \
--with-libraries=test,graph
Я получаю эту ошибку:
ld: library not found for -lexpat collect2: ld returned 1 exit status
, который говорит, что повышение вызвано линией:
g++ -dynamiclib -install_name "libboost_graph-mt-1_35.dylib" -L"/usr/lib"
-o "bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/libboost_graph-mt-1_35.dylib"
"bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/read_graphviz_spirit.o"
"bin.v2/libs/graph/build/darwin/release/macosx-version-10.4/threading-multi/graphml.o"
-lexpat -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -Wl,-dead_strip -no_dead_strip_inits_and_terms
Не понимаю, как не найти библиотеку экспатов с -L"/usr/lib"
и -lexpat
в качестве аргументов? Насколько я понимаю, /usr/lib/libexpat.dylib в точности называется -L"/usr/lib"
и -lexpat
.
Jamfile для построения graphml здесь . Если EXPAT_INCLUDE
и EXPAT_LIBPATH
не установлены, он предупреждает вас (строки 39-41 из jamfile)
предупреждение: библиотека графиков не содержит дополнительного считывателя GraphML.
примечание: чтобы включить поддержку GraphML, установите EXPAT_INCLUDE и
примечание: каталоги, содержащие заголовки Expat и библиотеки соответственно.