Genero 2.20.06 is reporting wrong compilation errors if LOCALE is set to Portugal and GNU make is used
Environment used:
OS:
Red Hat Enterprise Linux ES release 4 (Nahant Update 8 )
Architecture: x86_64
% uname -a
Linux xxxxxxx 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:33:05 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
% arch
x86_64
% rpm -q kernel
kernel-2.6.9-89.EL
% rpm -q glibc
glibc-2.3.4-2.43
glibc-2.3.4-2.43
# shell used: tsch (/bin/tcsh) version 6.13.00
% rpm -q tcsh
tcsh-6.13-10.el4
% echo $version
tcsh 6.13.00 (Astron) 2004-05-19 (x86_64-unknown-linux) options 8b,nls,dl,al,kan,rh,color,dspm,filec
# GNU make version
% make --version
GNU Make 3.80
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Informix:
Client-SDK 3.50.FC4:
% esql -V
IBM Informix CSDK Version 3.50, IBM Informix-ESQL Version 3.50.FC4
Software Serial Number AAA#B000000
IBM Informix Dynamic Server 11.50.FC4:
% onstat -V
IBM Informix Dynamic Server Version 11.50.FC4 Software Serial Number AAA#B000000
% dbaccess -V
DB-Access Version 11.50.FC4 Software Serial Number AAA#B000000
Four J's Genero BDL:
Genero BDL 2.20.06
% fgl2p -V
fgl2p 2.20.06 build-1369.77
(c) 1989-2009 Four J's Development Tools
OS Locale settings:
% echo $LANG
pt_PT.iso885915@euro
% env | grep LOCALE
DB_LOCALE=pt_pt.8859-15
SERVER_LOCALE=pt_pt.8859-15
CLIENT_LOCALE=pt_pt.8859-15
% echo $GL_DATETIME
%d/%m/%iY %H:%M:%S
% echo $GL_DATE
%d/%m/%iY
1.) Using GNU make with the above environment:% make
...
... Some lines deleted ...
...
make[1]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/types'
make[1]: Nothing to be done for `obj'.
make[1]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/types'
make -C util obj
make[1]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/util'
make[1]: Nothing to be done for `obj'.
make[1]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/util'
make -C utildb obj
make[1]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/utildb'
make[1]: Nothing to be done for `obj'.
make[1]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/utildb'
make -C menu obj
make[1]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/menu'
make[1]: Nothing to be done for `obj'.
make[1]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/menu'
make -C perform obj
make[1]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/perform'
make[1]: Nothing to be done for `obj'.
make[1]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/perform'
make -C lib alllibslib
make[1]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lib'
make[1]: Nothing to be done for `alllibslib'.
make[1]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lib'
make -C lang alllangs
make[1]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang'
make -C pt_pt
make[2]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt'
make -C common
make[3]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt/common'
/opt/fourjs/genero/bdl/2.20.06/compiler/bin/fglmkstr common.str
Error: locale not supported by C library, check LANG.make[3]: *** [common.42s] Error 1
make[3]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt/common'
make[2]: *** [common] Error 2
make[2]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt'
make[1]: *** [pt_pt] Error 2
make[1]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang'
make: *** [lib] Error 2
# Errors!2.) Using the SAME Makefiles after unsetting the LANG enviroment variable% unsetenv LANG
% make
...
... Some lines deleted
...
make[1]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang'
make -C pt_pt
make[2]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt'
make -C common
make[3]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt/common'
/opt/fourjs/genero/bdl/2.20.06/compiler/bin/fglmkstr common.str
CURR_DIR=/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt/common
PARENT_DIR=/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt
CURR_LANG=pt_pt
mv common.42s ../../../../build/prod/lang/pt_pt
/opt/fourjs/genero/bdl/2.20.06/compiler/bin/fglmkstr s4.str
CURR_DIR=/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt/common
PARENT_DIR=/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt
CURR_LANG=pt_pt
mv s4.42s ../../../../build/prod/lang/pt_pt
test -d ../../../../build/prod/lang/pt_pt || mkdir -p ../../../../build/prod/lang/pt_pt
cd ../../../../build/prod/lang/pt_pt && for FILE in standard.4ad ; do \
test -h $FILE || ln -s ../../../../src/lang/pt_pt/common/$FILE ./$FILE ; \
echo Soft-linking $FILE ; \
done
Soft-linking standard.4ad
Created soft-links
test -d ../../../../build/prod/lang/pt_pt || mkdir -p ../../../../build/prod/lang/pt_pt
cd ../../../../build/prod/lang/pt_pt && for FILE in standard.4st ; do \
test -h $FILE || ln -s ../../../../src/lang/pt_pt/common/$FILE ./$FILE ; \
echo Soft-linking $FILE ; \
done
Soft-linking standard.4st
Created soft-links
test -d ../../../../build/prod/lang/pt_pt || mkdir -p ../../../../build/prod/lang/pt_pt
cd ../../../../build/prod/lang/pt_pt && for FILE in standard.4tb ; do \
test -h $FILE || ln -s ../../../../src/lang/pt_pt/common/$FILE ./$FILE ; \
echo Soft-linking $FILE ; \
done
...
... More lines deleted
...
No errors!3.) Resetting the LANG to "LANG pt_PT.iso885915@euro" and executing make again% setenv LANG pt_PT.iso885915@euro
% make
...
... some lines deleted
...
make -C pt_pt
make[2]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt'
make -C common
make[3]: Entering directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt/common'
/opt/fourjs/genero/bdl/2.20.06/compiler/bin/fglmkstr common.str
Error: locale not supported by C library, check LANG.make[3]: *** [common.42s] Error 1
make[3]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt/common'
make[2]: *** [common] Error 2
make[2]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang/pt_pt'
make[1]: *** [pt_pt] Error 2
make[1]: Leaving directory `/disk_0003/home/sinfic/work/xxxxxx/008/src/lang'
make: *** [lib] Error 2
# Errors!Vitorino Ribeiro
SINFIC - Sistemas de Informação Industriais e Consultoria, S.A.
http://www.sinfic.ptvribeiro@sinfic.pt