Вопрос по GNU Auto tools - непонятки с запуском процесса

Тема в разделе "WASM.ZEN", создана пользователем device, 13 май 2008.

  1. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    написал на java утиль для разных тестов исполняющей среды.
    назвал jtype.:)
    При запуске java jtype выдает следующее:
    Код (Text):
    1. checking for mysqllib can be compiled... yes
    2. checking for mysqllib forName()... yes
    3. ну и т.д.
    Все прекрасно и замечательно... пока не сделал так

    код - configure.in
    Код (Text):
    1. AC_INIT(configure.in)
    2.  
    3. AM_CONFIG_HEADER(config.h)
    4. AM_INIT_AUTOMAKE(mmsserver, 0.1)
    5.  
    6. AC_LANG_CPLUSPLUS
    7. AC_PROG_CXX
    8. AM_PROG_LIBTOOL
    9. AC_CHECK_TOOL(JAVAC,javac,-1)
    10.  
    11. if test $JAVAC = -1; then
    12. AC_ERROR([Компилятор java не найден в вашей системе])
    13. fi
    14.  
    15. AC_CHECK_TOOL(JAVA,java,-1)
    16.  
    17. if test $JAVA = -1; then
    18. AC_ERROR([Исполняющая среда Java не найдена])
    19. fi
    20.  
    21. AC_CHECK_HEADER(jni.h,echo "ПОЗДРАВЛЯЮ с находкой jni.h (идем дальше...)",AC_ERROR([Не найден заголовочный файл jni.h]))
    22.  
    23. AC_CHECK_TYPE(int,echo "Тип int работает!!!",AC_ERROR([int не найден в системе]))
    24.  
    25. AC_SCO_INTL
    26.  
    27. AC_PROG_INSTALL
    28.  
    29. AC_MSG_CHECKING(jtype library)
    30.  
    31.  
    32.  
    33. AC_TRY_RUN([#ifdef HAVE_CONFIG_H
    34. #include <config.h>
    35. #endif
    36.  
    37. #include <iostream>
    38. #include <cstdlib>
    39. #include <jni.h>
    40.  
    41. using namespace std;
    42.  
    43. int main(int argc, char *argv[])
    44. {
    45.  
    46. system("java -cp .:./src jtype");
    47.    
    48.  
    49.   return EXIT_SUCCESS;
    50. }
    51.  
    52. ])
    53.  
    54.  
    55.  
    56. AC_OUTPUT(Makefile)
    Прога jtype должна выдавать при прохождении всех тестов в stdin значение 0 или -1 если хотя бы 1 из тестов провалился.
    Так вот, без конфигуры все тесты проходят, а с конфигурой - не работает ни один., попробуйте сами.
    Почему?
     
  2. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Нашел причину ошибки, но почему так происходит - не понял.

    Конфигура, запускающая код на СИ выводит его результат в ErrorStream. И вообще, все тесты, связанные с запуском внешних программ выводятся в поток ошибок, не зависимо от того, успешно выполнен тест или нет.

    даже команда gcc -v выдает ОШИБКУ, в тексте которой указаны сведения о версии gcc:)