Bug 77047

Summary: Source: building is sensitive to OS_NAME and ARCH_NAME environment variables
Product: [Retired] Red Hat Linux Reporter: Sysoltsev Slawa <vyatcheslav.sysoltsev>
Component: abiwordAssignee: Jeremy Katz <katzj>
Status: CLOSED WONTFIX QA Contact: Mike McLean <mikem>
Severity: low Docs Contact:
Priority: medium    
Version: 7.3   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-10-31 12:00:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Sysoltsev Slawa 2002-10-31 12:00:37 UTC
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:

Comment 1 Jeremy Katz 2002-10-31 17:12:17 UTC
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.