написал на java утиль для разных тестов исполняющей среды. назвал jtype. При запуске java jtype выдает следующее: Код (Text): checking for mysqllib can be compiled... yes checking for mysqllib forName()... yes ну и т.д. Все прекрасно и замечательно... пока не сделал так код - configure.in Код (Text): AC_INIT(configure.in) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(mmsserver, 0.1) AC_LANG_CPLUSPLUS AC_PROG_CXX AM_PROG_LIBTOOL AC_CHECK_TOOL(JAVAC,javac,-1) if test $JAVAC = -1; then AC_ERROR([Компилятор java не найден в вашей системе]) fi AC_CHECK_TOOL(JAVA,java,-1) if test $JAVA = -1; then AC_ERROR([Исполняющая среда Java не найдена]) fi AC_CHECK_HEADER(jni.h,echo "ПОЗДРАВЛЯЮ с находкой jni.h (идем дальше...)",AC_ERROR([Не найден заголовочный файл jni.h])) AC_CHECK_TYPE(int,echo "Тип int работает!!!",AC_ERROR([int не найден в системе])) AC_SCO_INTL AC_PROG_INSTALL AC_MSG_CHECKING(jtype library) AC_TRY_RUN([#ifdef HAVE_CONFIG_H #include <config.h> #endif #include <iostream> #include <cstdlib> #include <jni.h> using namespace std; int main(int argc, char *argv[]) { system("java -cp .:./src jtype"); return EXIT_SUCCESS; } ]) AC_OUTPUT(Makefile) Прога jtype должна выдавать при прохождении всех тестов в stdin значение 0 или -1 если хотя бы 1 из тестов провалился. Так вот, без конфигуры все тесты проходят, а с конфигурой - не работает ни один., попробуйте сами. Почему?
Нашел причину ошибки, но почему так происходит - не понял. Конфигура, запускающая код на СИ выводит его результат в ErrorStream. И вообще, все тесты, связанные с запуском внешних программ выводятся в поток ошибок, не зависимо от того, успешно выполнен тест или нет. даже команда gcc -v выдает ОШИБКУ, в тексте которой указаны сведения о версии gcc