Позарез надо rpm макрос для определения CXXABI, т.к. временный workaround для Qt3 уже не подойдет для Qt4 из-за приближающейся возможности сменя ABI у libstdc++
Что за макрос нужен?
Чтобы при сборке с libstdc++ (любой) возвращал либо пусто либо версию ABI Конкретно для текущей Qt3 c libstdc++3.3 нужно получить откуда то строку "CXXABI_1.2" Только, вот непонятно как отследить, если Qt начнет цепляться к CXXABI_1.2.1 :-(
Почему именно эту строку, а не какую-нибудь другую? В чём суть того ABI change, которого ты опасаешься?
Когда qt пересобрана с новым ABI. а kdelibs ещё нет, то пакеты встанут, но работать не будут.
Все-таки, наверное проще вручную старым способом делать.
Что за новый ABI?
(In reply to comment #6) > Что за новый ABI? х.з. 1.2.2 например Все-таки перестал я видеть смысл в таком макросе, т.к. до сборки библиотеки всё, что нужно не вычислить, а после уже поздно :-( В смысле, не вычислить, какие ABI qt зацепит.
Ага, понятно: libstdc++.so.6 Но я всё равно не понимаю, что за макрос тебе нужен.
(In reply to comment #8) > Но я всё равно не понимаю, что за макрос тебе нужен. Чтобы более красивые и правильные символы экспортить, чем rpm -q --provides libqt3| grep CXX Если бы только один ABI был, а так их теоретически плавающее число может цепляться, так что проще вручную будет наверное.
Короче говоря, макрос пока не нужен.
gcc-4 уже близко нужен макрос, который выводит список CXXABI_* для текущей библиотеки libstdc++
Хотя, возможно, нужно макрос бы для вывода списка CXXABI, которые зацепила конкретная библиотека/программа
(In reply to comment #12) > Хотя, возможно, нужно макрос бы для вывода списка CXXABI, которые зацепила > конкретная библиотека/программа $ objdump -p /usr/lib64/libstdc++.so.6 |sed -n '/^Version definitions:$/,/^$/p' Version definitions: 1 0x01 0x025f4d66 libstdc++.so.6 2 0x00 0x08922974 GLIBCXX_3.4 3 0x00 0x02297f81 GLIBCXX_3.4.1 GLIBCXX_3.4 4 0x00 0x02297f82 GLIBCXX_3.4.2 GLIBCXX_3.4.1 5 0x00 0x02297f83 GLIBCXX_3.4.3 GLIBCXX_3.4.2 6 0x00 0x02297f84 GLIBCXX_3.4.4 GLIBCXX_3.4.3 7 0x00 0x02297f85 GLIBCXX_3.4.5 GLIBCXX_3.4.4 8 0x00 0x02297f86 GLIBCXX_3.4.6 GLIBCXX_3.4.5 9 0x00 0x02297f87 GLIBCXX_3.4.7 GLIBCXX_3.4.6 10 0x00 0x02297f88 GLIBCXX_3.4.8 GLIBCXX_3.4.7 11 0x00 0x02297f89 GLIBCXX_3.4.9 GLIBCXX_3.4.8 12 0x00 0x0297f860 GLIBCXX_3.4.10 GLIBCXX_3.4.9 13 0x00 0x056bafd3 CXXABI_1.3 14 0x00 0x0bafd171 CXXABI_1.3.1 CXXABI_1.3 15 0x00 0x0bafd172 CXXABI_1.3.2 CXXABI_1.3.1 Какой тебе нужен макрос?
Да я уже и сам не знаю :-(