2016-03-30 1 views
1

Я запускаю сборку на linux в режиме фортификации. Следующие команды получают запустить внутри сборкиSouranalyzer, fortify дает ошибку Неопознанный или неверный аргумент командной строки '-o'

/usr/local/packages/fortify_360/bin/sourceanalyzer -Xmx1512M -b FORTIFY -Dcom.fortify.sca.ProjectRoot=/ade/ka/dbss/utl/fortify -jdk 1.5 -c /ade/ka_View_12.2/xa/bin/orscript -o /ade/ka/xa/dbsa/bin/avorclcoll -m64 -z noexecstack -Wl,--disable-new-dtags -L/ade/ka/xa/dbsa/lib/ -L/ade/ka/xa/lib/ -L/ade/ka/xa/lib/stubs/ /ade/ka/oracle/dbsa/lib/zaorclmain.o  -lclntsh -lclntshcore -lclient12 -lavclient12 -lnnz12 -lmql1 -lipc1 -ldl -lm -lpthread -lnsl -lrt -lc -Wl,-R 

, когда я запускаю это я получаю ошибку Unrecognized or invalid command line argument '-o'

, но если я заменю сценарий /ade/ka_View_12.2/xa/bin/orscript с GCC, он отлично работает.
Мой сценарий /ade/ka_View_12.2/xa/bin/orscript имеет следующий код, в этом коде я просто с одной переменной CC = GCC и «$ @» для параметра

#!/bin/sh 
# 
# $Header: buildtools/port/orald /linuxamd64/3 2012/10/02 19:28:56 ekarichk 
# 
# orscript 
# 
CC=gcc 
# 
# Just use CC for now 
# 
exec ${CC} "[email protected]" 
exit 1 

Пожалуйста, помогите, я боролся с этой ошибкой в ​​течение длительного времени :(

ответ

1

Изучите помощь для C/C++ строит, запустив:

sourceanalyzer -h 

Вы увидите, что существует несколько способов запуска сканирования на код C/C++ Одним из них является непосредственно вызывать компилятор, который соответствует.успешный случай в вашем примере. Если вы хотите использовать сценарий сборки, такие как марки (или ваш «orscript»), то вы должны использовать touchless аргумент, например:

sourceanalyzer -Xmx1512M -b FORTIFY -Dcom.fortify.sca.ProjectRoot=/ade/ka/dbss/utl/fortify touchless /ade/ka_View_12.2/xa/bin/orscript {args} 

Примечание: вы также не нужно указывать -jdk аргумент, так как вы не анализируете Java-код.

Смежные вопросы