Hello,
I am able to do ./configure properly without any errors. But the installati=
on=20
is giving error when running the gmake.
I am having=20
uname -a
Linux localhost.localdomain 2.4.18-14 #1 Wed Sep 4 13:35:50 EDT 2002 i686 i=
686=20
i386 GNU/Linux
gcc --version
gcc (GCC) 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
The errors shown are as follows.
gmake
gmake -C doc all
gmake[1]: Entering directory `/usr/local/src/postgresql-7.1.3/doc'
gmake[1]: Nothing to be done for `all'.
gmake[1]: Leaving directory `/usr/local/src/postgresql-7.1.3/doc'
gmake -C src all
gmake[1]: Entering directory `/usr/local/src/postgresql-7.1.3/src'
gmake -C backend all
gmake[2]: Entering directory `/usr/local/src/postgresql-7.1.3/src/backend'
gmake -C access all
gmake[3]: Entering directory=20
`/usr/local/src/postgresql-7.1.3/src/backend/access'
gmake -C common SUBSYS.o
gmake[4]: Entering directory=20
`/usr/local/src/postgresql-7.1.3/src/backend/access/common'
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations=20
-I../../../../src/include -c -o heaptuple.o heaptuple.c
In file included from ../../../../src/include/c.h:52,
from ../../../../src/include/postgres.h:48,
from heaptuple.c:21:
../../../../src/include/config.h:35:24: warning: multi-line string literals=
=20
are deprecated
../../../../src/include/config.h:62:32: warning: multi-line string literals=
=20
are deprecated
../../../../src/include/config.h:76:29: warning: multi-line string literals=
=20
are deprecated
../../../../src/include/config.h:161:53: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:212:43: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:243:36: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:311:49: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:314:64: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:317:66: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:589:30: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:592:35: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:595:35: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:599:27: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:625:55: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:628:53: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:669:13: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:677:15: warning: multi-line string literal=
s=20
are deprecated
../../../../src/include/config.h:677:15: missing terminating " character
../../../../src/include/config.h:35:24: possible start of unterminated stri=
ng=20
literal
../../../../src/include/config.h:15:1: unterminated #ifndef
In file included from ../../../../src/include/postgres.h:48,
from heaptuple.c:21:
../../../../src/include/c.h:369: `INDEX_MAX_KEYS' undeclared here (not in a=
=20
function)
../../../../src/include/c.h:370: `INDEX_MAX_KEYS' undeclared here (not in a=
=20
function)
In file included from ../../../../src/include/access/skey.h:21,
from ../../../../src/include/access/strat.h:18,
from ../../../../src/include/utils/rel.h:17,
from ../../../../src/include/storage/bufmgr.h:21,
from ../../../../src/include/storage/bufpage.h:18,
from ../../../../src/include/access/htup.h:17,
from ../../../../src/include/access/heapam.h:18,
from heaptuple.c:23:
../../../../src/include/fmgr.h:65: `FUNC_MAX_ARGS' undeclared here (not in =
a=20
function)
../../../../src/include/fmgr.h:66: `FUNC_MAX_ARGS' undeclared here (not in =
a=20
function)
In file included from ../../../../src/include/access/tupdesc.h:18,
from ../../../../src/include/utils/rel.h:18,
from ../../../../src/include/storage/bufmgr.h:21,
from ../../../../src/include/storage/bufpage.h:18,
from ../../../../src/include/access/htup.h:17,
from ../../../../src/include/access/heapam.h:18,
from heaptuple.c:23:
../../../../src/include/catalog/pg_attribute.h:43: syntax error before '{'=
=20
token
../../../../src/include/catalog/pg_attribute.h:156: parse error before '}'=
=20
token
../../../../src/include/catalog/pg_attribute.h:156: warning: type defaults =
to=20
`int' in declaration of `FormData_pg_attribute'
../../../../src/include/catalog/pg_attribute.h:156: warning: data definitio=
n=20
has no type or storage class
../../../../src/include/catalog/pg_attribute.h:170: parse error before '*'=
=20
token
../../../../src/include/catalog/pg_attribute.h:170: warning: type defaults =
to=20
`int' in declaration of `Form_pg_attribute'
../../../../src/include/catalog/pg_attribute.h:170: warning: data definitio=
n=20
has no type or storage class
In file included from ../../../../src/include/utils/rel.h:18,
from ../../../../src/include/storage/bufmgr.h:21,
from ../../../../src/include/storage/bufpage.h:18,
from ../../../../src/include/access/htup.h:17,
from ../../../../src/include/access/heapam.h:18,
from heaptuple.c:23:
../../../../src/include/access/tupdesc.h:51: parse error before=20
"Form_pg_attribute"
../../../../src/include/access/tupdesc.h:51: warning: no semicolon at end o=
f=20
struct or union
../../../../src/include/access/tupdesc.h:54: parse error before '}' token
../../../../src/include/access/tupdesc.h:54: warning: type defaults to `int=
'=20
in declaration of `TupleDesc'
../../../../src/include/access/tupdesc.h:54: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/tupdesc.h:56: parse error before=20
"CreateTemplateTupleDesc"
../../../../src/include/access/tupdesc.h:56: warning: type defaults to `int=
'=20
in declaration of `CreateTemplateTupleDesc'
../../../../src/include/access/tupdesc.h:56: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/tupdesc.h:58: parse error before=20
"CreateTupleDesc"
../../../../src/include/access/tupdesc.h:58: parse error before=20
"Form_pg_attribute"
../../../../src/include/access/tupdesc.h:58: warning: type defaults to `int=
'=20
in declaration of `CreateTupleDesc'
../../../../src/include/access/tupdesc.h:58: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/tupdesc.h:60: parse error before=20
"CreateTupleDescCopy"
../../../../src/include/access/tupdesc.h:60: parse error before "tupdesc"
../../../../src/include/access/tupdesc.h:60: warning: type defaults to `int=
'=20
in declaration of `CreateTupleDescCopy'
../../../../src/include/access/tupdesc.h:60: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/tupdesc.h:62: parse error before=20
"CreateTupleDescCopyConstr"
../../../../src/include/access/tupdesc.h:62: parse error before "tupdesc"
../../../../src/include/access/tupdesc.h:62: warning: type defaults to `int=
'=20
in declaration of `CreateTupleDescCopyConstr'
../../../../src/include/access/tupdesc.h:62: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/tupdesc.h:64: parse error before "tupdesc"
../../../../src/include/access/tupdesc.h:66: parse error before "tupdesc1"
../../../../src/include/access/tupdesc.h:68: parse error before "desc"
../../../../src/include/access/tupdesc.h:76: parse error before=20
"BuildDescForRelation"
../../../../src/include/access/tupdesc.h:76: warning: type defaults to `int=
'=20
in declaration of `BuildDescForRelation'
../../../../src/include/access/tupdesc.h:76: warning: data definition has n=
o=20
type or storage class
In file included from ../../../../src/include/utils/rel.h:19,
from ../../../../src/include/storage/bufmgr.h:21,
from ../../../../src/include/storage/bufpage.h:18,
from ../../../../src/include/access/htup.h:17,
from ../../../../src/include/access/heapam.h:18,
from heaptuple.c:23:
../../../../src/include/catalog/pg_am.h:38: syntax error before '{' token
../../../../src/include/catalog/pg_am.h:66: parse error before '}' token
../../../../src/include/catalog/pg_am.h:66: warning: type defaults to `int'=
in=20
declaration of `FormData_pg_am'
../../../../src/include/catalog/pg_am.h:66: warning: data definition has no=
=20
type or storage class
../../../../src/include/catalog/pg_am.h:73: parse error before '*' token
../../../../src/include/catalog/pg_am.h:73: warning: type defaults to `int'=
in=20
declaration of `Form_pg_am'
../../../../src/include/catalog/pg_am.h:73: warning: data definition has no=
=20
type or storage class
In file included from ../../../../src/include/utils/rel.h:20,
from ../../../../src/include/storage/bufmgr.h:21,
from ../../../../src/include/storage/bufpage.h:18,
from ../../../../src/include/access/htup.h:17,
from ../../../../src/include/access/heapam.h:18,
from heaptuple.c:23:
../../../../src/include/catalog/pg_class.h:48: syntax error before '{' token
../../../../src/include/catalog/pg_class.h:81: parse error before '}' token
../../../../src/include/catalog/pg_class.h:81: warning: type defaults to `i=
nt'=20
in declaration of `FormData_pg_class'
../../../../src/include/catalog/pg_class.h:81: warning: data definition has=
no=20
type or storage class
../../../../src/include/catalog/pg_class.h:92: parse error before '*' token
../../../../src/include/catalog/pg_class.h:92: warning: type defaults to `i=
nt'=20
in declaration of `Form_pg_class'
../../../../src/include/catalog/pg_class.h:92: warning: data definition has=
no=20
type or storage class
In file included from ../../../../src/include/storage/bufmgr.h:21,
from ../../../../src/include/storage/bufpage.h:18,
from ../../../../src/include/access/htup.h:17,
from ../../../../src/include/access/heapam.h:18,
from heaptuple.c:23:
../../../../src/include/utils/rel.h:63: `FUNC_MAX_ARGS' undeclared here (no=
t=20
in a function)
../../../../src/include/utils/rel.h:97: parse error before "Form_pg_am"
../../../../src/include/utils/rel.h:97: warning: no semicolon at end of str=
uct=20
or union
../../../../src/include/utils/rel.h:98: warning: type defaults to `int' in=
=20
declaration of `rd_rel'
../../../../src/include/utils/rel.h:98: warning: data definition has no typ=
e=20
or storage class
../../../../src/include/utils/rel.h:102: parse error before "rd_att"
../../../../src/include/utils/rel.h:102: warning: type defaults to `int' in=
=20
declaration of `rd_att'
../../../../src/include/utils/rel.h:102: warning: data definition has no ty=
pe=20
or storage class
../../../../src/include/utils/rel.h:108: parse error before '}' token
../../../../src/include/utils/rel.h:108: warning: type defaults to `int' in=
=20
declaration of `RelationData'
../../../../src/include/utils/rel.h:108: warning: data definition has no ty=
pe=20
or storage class
../../../../src/include/utils/rel.h:110: parse error before '*' token
../../../../src/include/utils/rel.h:110: warning: type defaults to `int' in=
=20
declaration of `Relation'
../../../../src/include/utils/rel.h:110: warning: data definition has no ty=
pe=20
or storage class
../../../../src/include/utils/rel.h:119: parse error before '*' token
../../../../src/include/utils/rel.h:119: warning: type defaults to `int' in=
=20
declaration of `RelationPtr'
../../../../src/include/utils/rel.h:119: warning: data definition has no ty=
pe=20
or storage class
../../../../src/include/utils/rel.h:248: parse error before "relation"
In file included from ../../../../src/include/storage/bufpage.h:18,
from ../../../../src/include/access/htup.h:17,
from ../../../../src/include/access/heapam.h:18,
from heaptuple.c:23:
../../../../src/include/storage/bufmgr.h:161: parse error before "relation"
../../../../src/include/storage/bufmgr.h:163: parse error before "reln"
../../../../src/include/storage/bufmgr.h:166: parse error before "Relation"
../../../../src/include/storage/bufmgr.h:178: parse error before "relation"
../../../../src/include/storage/bufmgr.h:179: parse error before "rel"
../../../../src/include/storage/bufmgr.h:180: parse error before "rel"
In file included from ../../../../src/include/access/xlog.h:15,
from ../../../../src/include/storage/bufpage.h:23,
from ../../../../src/include/access/htup.h:17,
from ../../../../src/include/access/heapam.h:18,
from heaptuple.c:23:
../../../../src/include/access/transam.h:155: parse error before "relation"
../../../../src/include/access/transam.h:157: parse error before "relation"
../../../../src/include/access/transam.h:159: parse error before "relation"
../../../../src/include/access/transam.h:176: parse error before "LogRelati=
on"
../../../../src/include/access/transam.h:176: warning: type defaults to `in=
t'=20
in declaration of `LogRelation'
../../../../src/include/access/transam.h:176: warning: data definition has =
no=20
type or storage class
../../../../src/include/access/transam.h:177: parse error before=20
"VariableRelation"
../../../../src/include/access/transam.h:177: warning: type defaults to `in=
t'=20
in declaration of `VariableRelation'
../../../../src/include/access/transam.h:177: warning: data definition has =
no=20
type or storage class
In file included from ../../../../src/include/access/heapam.h:19,
from heaptuple.c:23:
../../../../src/include/access/relscan.h:23: parse error before "Relation"
../../../../src/include/access/relscan.h:23: warning: no semicolon at end o=
f=20
struct or union
../../../../src/include/access/relscan.h:39: parse error before '}' token
../../../../src/include/access/relscan.h:39: warning: type defaults to `int=
'=20
in declaration of `HeapScanDescData'
../../../../src/include/access/relscan.h:39: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/relscan.h:41: parse error before '*' token
../../../../src/include/access/relscan.h:41: warning: type defaults to `int=
'=20
in declaration of `HeapScanDesc'
../../../../src/include/access/relscan.h:41: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/relscan.h:45: parse error before "Relation"
../../../../src/include/access/relscan.h:45: warning: no semicolon at end o=
f=20
struct or union
../../../../src/include/access/relscan.h:58: parse error before '}' token
../../../../src/include/access/relscan.h:58: warning: type defaults to `int=
'=20
in declaration of `IndexScanDescData'
../../../../src/include/access/relscan.h:58: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/relscan.h:60: parse error before '*' token
../../../../src/include/access/relscan.h:60: warning: type defaults to `int=
'=20
in declaration of `IndexScanDesc'
../../../../src/include/access/relscan.h:60: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/relscan.h:68: parse error before '*' token
../../../../src/include/access/relscan.h:68: warning: type defaults to `int=
'=20
in declaration of `IndexScanDescPtr'
../../../../src/include/access/relscan.h:68: warning: data definition has n=
o=20
type or storage class
In file included from ../../../../src/include/access/heapam.h:21,
from heaptuple.c:23:
../../../../src/include/access/xlogutils.h:26: parse error before=20
"XLogOpenRelation"
../../../../src/include/access/xlogutils.h:26: warning: type defaults to `i=
nt'=20
in declaration of `XLogOpenRelation'
../../../../src/include/access/xlogutils.h:26: warning: data definition has=
no=20
type or storage class
../../../../src/include/access/xlogutils.h:27: parse error before "Relation"
In file included from ../../../../src/include/access/heapam.h:23,
from heaptuple.c:23:
../../../../src/include/storage/lmgr.h:40: parse error before "relation"
../../../../src/include/storage/lmgr.h:43: parse error before "relation"
../../../../src/include/storage/lmgr.h:44: parse error before "relation"
../../../../src/include/storage/lmgr.h:50: parse error before "relation"
../../../../src/include/storage/lmgr.h:51: parse error before "relation"
In file included from heaptuple.c:23:
../../../../src/include/access/heapam.h:106: parse error before "TupleDesc"
../../../../src/include/access/heapam.h:195: parse error before "heap_open"
../../../../src/include/access/heapam.h:195: warning: type defaults to `int=
'=20
in declaration of `heap_open'
../../../../src/include/access/heapam.h:195: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/heapam.h:196: parse error before "heap_openr"
../../../../src/include/access/heapam.h:196: warning: type defaults to `int=
'=20
in declaration of `heap_openr'
../../../../src/include/access/heapam.h:196: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/heapam.h:197: parse error before=20
"heap_open_nofail"
../../../../src/include/access/heapam.h:197: warning: type defaults to `int=
'=20
in declaration of `heap_open_nofail'
../../../../src/include/access/heapam.h:197: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/heapam.h:198: parse error before=20
"heap_openr_nofail"
../../../../src/include/access/heapam.h:198: warning: type defaults to `int=
'=20
in declaration of `heap_openr_nofail'
../../../../src/include/access/heapam.h:198: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/heapam.h:199: parse error before "relation"
../../../../src/include/access/heapam.h:200: parse error before=20
"heap_beginscan"
../../../../src/include/access/heapam.h:200: parse error before "relation"
../../../../src/include/access/heapam.h:201: warning: type defaults to `int=
'=20
in declaration of `heap_beginscan'
../../../../src/include/access/heapam.h:201: warning: data definition has n=
o=20
type or storage class
../../../../src/include/access/heapam.h:202: parse error before "scan"
../../../../src/include/access/heapam.h:203: parse error before "scan"
../../../../src/include/access/heapam.h:204: parse error before "scandesc"
../../../../src/include/access/heapam.h:205: parse error before "relation"
../../../../src/include/access/heapam.h:206: parse error before "relation"
../../../../src/include/access/heapam.h:208: parse error before "relation"
../../../../src/include/access/heapam.h:209: parse error before "relation"
../../../../src/include/access/heapam.h:210: parse error before "relation"
../../../../src/include/access/heapam.h:212: parse error before "relation"
../../../../src/include/access/heapam.h:213: parse error before "relation"
../../../../src/include/access/heapam.h:214: parse error before "relation"
../../../../src/include/access/heapam.h:216: parse error before "scan"
../../../../src/include/access/heapam.h:217: parse error before "scan"
../../../../src/include/access/heapam.h:224: parse error before "tupleDesc"
../../../../src/include/access/heapam.h:225: parse error before "TupleDesc"
../../../../src/include/access/heapam.h:230: parse error before "TupleDesc"
../../../../src/include/access/heapam.h:233: parse error before=20
"tupleDescriptor"
../../../../src/include/access/heapam.h:236: parse error before "Relation"
In file included from heaptuple.c:24:
../../../../src/include/catalog/pg_type.h:40: syntax error before '{' token
../../../../src/include/catalog/pg_type.h:127: parse error before '}' token
../../../../src/include/catalog/pg_type.h:127: warning: type defaults to `i=
nt'=20
in declaration of `FormData_pg_type'
../../../../src/include/catalog/pg_type.h:127: warning: data definition has=
no=20
type or storage class
../../../../src/include/catalog/pg_type.h:134: parse error before '*' token
../../../../src/include/catalog/pg_type.h:134: warning: type defaults to `i=
nt'=20
in declaration of `Form_pg_type'
../../../../src/include/catalog/pg_type.h:134: warning: data definition has=
no=20
type or storage class
heaptuple.c:37: parse error before "tupleDesc"
heaptuple.c:40: warning: no previous prototype for `ComputeDataSize'
heaptuple.c: In function `ComputeDataSize':
heaptuple.c:43: `tupleDesc' undeclared (first use in this function)
heaptuple.c:43: (Each undeclared identifier is reported only once
heaptuple.c:43: for each function it appears in.)
heaptuple.c:44: `att' undeclared (first use in this function)
heaptuple.c:48: `nulls' undeclared (first use in this function)
heaptuple.c:51: `ALIGNOF_INT' undeclared (first use in this function)
heaptuple.c:51: `ALIGNOF_DOUBLE' undeclared (first use in this function)
heaptuple.c:51: `ALIGNOF_SHORT' undeclared (first use in this function)
heaptuple.c:52: `value' undeclared (first use in this function)
heaptuple.c: At top level:
heaptuple.c:64: parse error before "TupleDesc"
heaptuple.c:69: warning: no previous prototype for `DataFill'
heaptuple.c: In function `DataFill':
heaptuple.c:74: `tupleDesc' undeclared (first use in this function)
heaptuple.c:75: `att' undeclared (first use in this function)
heaptuple.c:77: `bit' undeclared (first use in this function)
heaptuple.c:83: `infomask' undeclared (first use in this function)
heaptuple.c:98: `nulls' undeclared (first use in this function)
heaptuple.c:108: `data' undeclared (first use in this function)
heaptuple.c:108: `ALIGNOF_INT' undeclared (first use in this function)
heaptuple.c:108: `ALIGNOF_DOUBLE' undeclared (first use in this function)
heaptuple.c:108: `ALIGNOF_SHORT' undeclared (first use in this function)
heaptuple.c:113: `value' undeclared (first use in this function)
heaptuple.c: At top level:
heaptuple.c:202: parse error before "TupleDesc"
heaptuple.c:204: warning: no previous prototype for `nocachegetattr'
heaptuple.c: In function `nocachegetattr':
heaptuple.c:205: `tuple' undeclared (first use in this function)
heaptuple.c:206: `att' undeclared (first use in this function)
heaptuple.c:206: `tupleDesc' undeclared (first use in this function)
heaptuple.c:211: `isnull' undeclared (first use in this function)
heaptuple.c:355: `ALIGNOF_INT' undeclared (first use in this function)
heaptuple.c:355: `ALIGNOF_DOUBLE' undeclared (first use in this function)
heaptuple.c:355: `ALIGNOF_SHORT' undeclared (first use in this function)
heaptuple.c: In function `heap_copytuple':
heaptuple.c:487: `MAXIMUM_ALIGNOF' undeclared (first use in this function)
heaptuple.c: At top level:
heaptuple.c:575: parse error before "tupleDescriptor"
heaptuple.c:578: warning: no previous prototype for `heap_formtuple'
heaptuple.c: In function `heap_formtuple':
heaptuple.c:586: `tupleDescriptor' undeclared (first use in this function)
heaptuple.c:596: `nulls' undeclared (first use in this function)
heaptuple.c:609: `MAXIMUM_ALIGNOF' undeclared (first use in this function)
heaptuple.c:611: `value' undeclared (first use in this function)
heaptuple.c: At top level:
heaptuple.c:646: parse error before "Relation"
heaptuple.c:650: warning: no previous prototype for `heap_modifytuple'
heaptuple.c: In function `heap_modifytuple':
heaptuple.c:668: `relation' undeclared (first use in this function)
heaptuple.c:682: `repl' undeclared (first use in this function)
heaptuple.c:687: `tuple' undeclared (first use in this function)
heaptuple.c:695: `replValue' undeclared (first use in this function)
heaptuple.c:696: `replNull' undeclared (first use in this function)
heaptuple.c: In function `heap_freetuple':
heaptuple.c:734: `MAXIMUM_ALIGNOF' undeclared (first use in this function)
heaptuple.c: In function `heap_addheader':
heaptuple.c:760: `MAXIMUM_ALIGNOF' undeclared (first use in this function)
gmake[4]: *** [heaptuple.o] Error 1
gmake[4]: Leaving directory=20
`/usr/local/src/postgresql-7.1.3/src/backend/access/common'
gmake[3]: *** [common-recursive] Error 2
gmake[3]: Leaving directory=20
`/usr/local/src/postgresql-7.1.3/src/backend/access'
gmake[2]: *** [access-recursive] Error 2
gmake[2]: Leaving directory `/usr/local/src/postgresql-7.1.3/src/backend'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/local/src/postgresql-7.1.3/src'
gmake: *** [all] Error 2
If i try gmake install after this, then also similar kind of errors occur.
then while adding adduser postgres, It shows show=20
bash: adduser: command not found
Please tell me what to do and tell me how to install psql sucessfully.
I am in a great need of it now.