From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Description of problem: I have OS_NAME and ARCH_NAME variables declared on my system as RH73 and IA32 respectively for my own needs. When I was trying to build abiword from sources I was surprised encountered such errors: Building with [LicensedTrademarks:Off Debug:Off BiDi:Off Pspell:Off Scripting:Off]. good.c: tgood.c: lookup.c: makedent.c: hash.c: correct.c: spell_manager.cpp: make[3]: o: Command not found make[3]: [/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18-10smp__/obj/spell/spell_manager.] Error 127 (ignored) ispell_checker.cpp: make[3]: o: Command not found make[3]: [/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18-10smp__/obj/spell/ispell_checker.] Error 127 (ignored) ... I spent a lot of time investigating the reason of such strange fault and I found that configuration files (abi_defs.mk ?, abi-detect-platform.m4 ?) allow to their variables OS_NAME (ARCH_NAME) to be declared externally i.e. from environment. Is it documented anywhere ? I didn't know about this feature and your tool took my variables, incomprehensible for it, in use! As a result great misconfiguration happens and package wasn't built. Problem in this that it is very unclear what caused the failure. It strongly impacts the customer time if [s]he will decide to eliminate the error received. Thing I can propose is to emit warning if important variables are declared externally and also emit warning/error if these variables can't be recognized. At least this addition will increase Red Hat linux handiness in case of 'abiword' package. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1. export OS_NAME=RH73 2. rpm -bb abiword-0.99.5-1.src.rpm Actual Results: Building with [LicensedTrademarks:Off Debug:Off BiDi:Off Pspell:Off Scripting:Off]. make ABI_ROOT=/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword-0.99.5/abi/src/.. -C xp build make[3]: Entering directory `/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/other/spell/xp' /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/config/abi_rules.mk:200: warning: overriding commands for target `/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18-10smp__/obj/libAbiSpell.' /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/config/abi_rules.mk:180: warning: ignoring old commands for target `/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18-10smp__/obj/libAbiSpell.' Building with [LicensedTrademarks:Off Debug:Off BiDi:Off Pspell:Off Scripting:Off]. good.c: tgood.c: lookup.c: makedent.c: hash.c: correct.c: spell_manager.cpp: make[3]: o: Command not found make[3]: [/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18-10smp__/obj/spell/spell_manager.] Error 127 (ignored) ispell_checker.cpp: make[3]: o: Command not found make[3]: [/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18-10smp__/obj/spell/ispell_checker.] Error 127 (ignored) o /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword-0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj/libAbiSpell. /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj/spell/good. /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj/spell/tgood. /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj/spell/lookup. /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj/spell/makedent. /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj/spell/hash. /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj/spell/correct. /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj/spell/spell_manager. /users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../src/RH73_2.4.18-10smp__/obj/spell/ispell_checker. - L/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword-0.99.5/abi/src/../src/RH73_2.4.18- 10smp__/obj -L/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../../psiconv/psiconv/.libs -lpsiconv - L/users/vsysoltx/tc_4/WORK_DIR/BUILD/abiword- 0.99.5/abi/src/../../expat/lib/.libs -lexpat make[3]: o: Command not found ... and so on and compelling error finally Expected Results: Succesfully built package Additional info:
This is all a result of abiword's wacky highly cross-platform build system which I'm not going to come close to touching. Future packages might transition to using their autoconf system now that it seems fairly mature, but nothing is going to be done explicitly to work around this.