В сообщении от 12 Ноябрь 2003 14:24 Sergey Vlasov написал(a): [...] > Ну здесь-то явно используется regcomp из glibc. Т.е. где-то > перепутались заголовки и библиотеки. Удалось выяснить, что всё именно так. Но я ничего не понимаю. wrar@wrars-comp RPM/BUILD/middleman $ grep PCRE config.h #define HAVE_PCRE 1 Здесь правильно. Далее: wrar@wrars-comp RPM/BUILD/middleman $ head -n13 include/proto.h | tail -n9 #include "../config.h" #ifdef HAVE_PCRE #include #include #else #include "../pcre/pcre.h" #include "../pcre/pcreposix.h" #endif /* HAVE_PCRE */ Получается, препроцессор должен развернуть это в #include #include Так? А вот нифига. Всё чуть посложнее ;-) Дело в том, что config.h инклюдится еще и через -I. в Makefile. И получается вот что: $ cpp -Iinclude -I. src/regexp.c > regexp_with_config_h.i - так при компиляции $ cpp -Iinclude src/regexp.c > regexp_without_config_h.i - так хотелось бы $ diff regexp_with_config_h.i regexp_without_config_h.i | head -n6 180,181c180,181 < # 1 "pcre/pcre.h" 1 < # 32 "pcre/pcre.h" --- > # 1 "/usr/include/pcre/pcre.h" 1 3 > # 37 "/usr/include/pcre/pcre.h" 3 Я, конечно, С знаю совсем недостаточно, но... Если одна и та же #define встречается 2 раза, она #undef-ается? Т.о., убивать одно из упоминаний config.h и всё будет ОК? [...] -- Не надо советовать создавать в / что-либо. -- ldv in sisyphus@