Задний план
У нас есть зависимости от нескольких версий Xalan и Xerces в нашей довольно большой C++ системе. Это накопилось на протяжении многих лет и не является оптимальным по нескольким причинам.
Теперь мы переходим из Solaris в Linux, и мы считаем, что имеет смысл консолидировать зависимости сторонних сторон до минимума.
Мы определили, что нам все еще нужны Xerces 2.8 и Xerces 3.x. И Xalan 1.x
Целевая платформа - RHEL6.
проблема
Из RHEL repo мы можем получить Xerces 3.0 и Xalan 1.10 (построить против Xerces 3.0)
Мы установили Xerces 2.8 под /usr/local...
Мы не можем понять, как Xalan предполагает работу с Xerces (ссылка мудрая). То есть:
Мы не можем быть единственной с этой проблемой, или мы просто идиоты? (что было бы лучшим сценарием... :))
Из того, что я только что прочитал на xerces.apache.org, Xerces 2.X и Xerces 3.x имеют разные API, и поэтому вам нужно будет связать их с одним OR другим.
И как вы можете видеть на xalan.apache.org:
"Для библиотеки Xalan-C/C++ 1.11 требуется Xerces-C/C++ XML Parser 3.0 или новее, предпочтительнее версия 3.1.1", в то время как Xalan 1.10 требует Xerces 2.7.0 (вероятно, будет работать с 2.8. 0).
Так что да, вам понадобятся две разные версии библиотек Xalan, если только вы не сможете разрешить свои зависимости только с Xalan 1.11.0, и в этом случае вы можете иметь только один установленный Xalan и один Xerces.