NetBSD Problem Report #48742
From www@NetBSD.org Sun Apr 13 14:40:09 2014
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id 92129A5824
for <gnats-bugs@gnats.NetBSD.org>; Sun, 13 Apr 2014 14:40:09 +0000 (UTC)
Message-Id: <20140413144007.A258FA5825@mollari.NetBSD.org>
Date: Sun, 13 Apr 2014 14:40:07 +0000 (UTC)
From: idleroux@fastmail.fm
Reply-To: idleroux@fastmail.fm
To: gnats-bugs@NetBSD.org
Subject: Building fontconfig fails with undefined reference to FcDirCacheRescan
X-Send-Pr-Version: www-1.0
>Number: 48742
>Category: pkg
>Synopsis: Building fontconfig fails with undefined reference to FcDirCacheRescan
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Apr 13 14:45:00 +0000 2014
>Closed-Date: Thu Mar 19 08:40:59 +0000 2015
>Last-Modified: Thu Mar 19 08:40:59 +0000 2015
>Originator: Ian D. Leroux
>Release: pkgsrc CURRENT 2014-04-12
>Organization:
>Environment:
NetBSD scrameustache.unrouted.net 6.99.32 NetBSD 6.99.32 (SCRAMEUSTACHE) #2: Thu Feb 27 08:09:18 CET 2014 idleroux@scrameustache.unrouted.net:/build/obj/sys/arch/amd64/compile/SCRAMEUSTACHE amd64
>Description:
While building packages in a fresh pkg_comp chroot, I encountered the following compile failure:
gmake[2]: Entering directory '/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/fontconfig-2.11.1/fc-cache'
CCLD fc-cache
fc-cache.o: In function `scanDirs':
fc-cache.c:(.text+0x1f7): undefined reference to `FcDirCacheRescan'
Makefile:474: recipe for target 'fc-cache' failed
gmake[2]: *** [fc-cache] Error 1
>How-To-Repeat:
cd /usr/pkgsrc/fonts/fontconfig
make
>Fix:
>Release-Note:
>Audit-Trail:
From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/48742: Building fontconfig fails with undefined reference to
FcDirCacheRescan
Date: Sat, 7 Jun 2014 21:03:49 +0000
On Sun, Apr 13, 2014 at 02:45:00PM +0000, idleroux@fastmail.fm wrote:
> CCLD fc-cache
> fc-cache.o: In function `scanDirs':
> fc-cache.c:(.text+0x1f7): undefined reference to `FcDirCacheRescan'
> Makefile:474: recipe for target 'fc-cache' failed
> gmake[2]: *** [fc-cache] Error 1
This is caused by mixing native and pkgsrc X. Don't do that...
--
David A. Holland
dholland@netbsd.org
From: "Ian D. Leroux" <idleroux@fastmail.fm>
To: gnats-bugs@NetBSD.org
Cc: David Holland <dholland-pbugs@netbsd.org>, pkg-manager@netbsd.org,
gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/48742: Building fontconfig fails with undefined reference
to FcDirCacheRescan
Date: Mon, 9 Jun 2014 12:14:03 +0200
> From: David Holland <dholland-pbugs@netbsd.org>
> To: gnats-bugs@NetBSD.org
> Cc:
> Subject: Re: pkg/48742: Building fontconfig fails with undefined
> reference to FcDirCacheRescan
> Date: Sat, 7 Jun 2014 21:03:49 +0000
>
> On Sun, Apr 13, 2014 at 02:45:00PM +0000, idleroux@fastmail.fm wrote:
> > CCLD fc-cache
> > fc-cache.o: In function `scanDirs':
> > fc-cache.c:(.text+0x1f7): undefined reference to
> > `FcDirCacheRescan' Makefile:474: recipe for target 'fc-cache'
> > failed gmake[2]: *** [fc-cache] Error 1
>
> This is caused by mixing native and pkgsrc X. Don't do that...
As far as I know, I run strictly native X, and I ran into this in a
freshly created pkg_comp chroot so there shouldn't have been any cruft
from past mistakes lying around. As I see it, there are two
possibilities: Either fonts/fontconfig is only useful with modular X
and it had no business being built on my native-X system, or
fonts/fontconfig is (potentially) useful with native X.
If pkgsrc fontconfig is not meant to be used with native X, then I'm
perplexed that it got pulled in as a dependency while building
packages for native X. I think I was trying to build firefox24 when I
first tripped over this, back in April. However, I've just
successfully built all the packages I care about from a pkgsrc tree
checked out yesterday (2014-06-08) and fontconfig was not required, so
if there was a bug in the dependencies it's gone now. In this case we
can close the PR.
If pkgsrc fontconfig is expected to build on a native-X system, then we
still have a bug that I can reproduce in a fresh pkg_comp chroot, with
nothing in /etc/mk.conf beyond what pkg_comp puts there itself. The
bug doesn't affect me personally, but since I can reproduce it
systematically I'm happy to help investigate if anyone else cares about
it.
Is there currently a mechanism for indicating or even enforcing that
certain packages are modular-X-only? In some cases its obvious, but
for something like fontconfig (whose DESCR explicitly states that it is
independent of X), it's not.
--
IDL
From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/48742: Building fontconfig fails with undefined reference to
FcDirCacheRescan
Date: Sat, 27 Dec 2014 01:48:40 +0000
(sorry I didn't answer this sooner)
On Mon, Jun 09, 2014 at 10:15:01AM +0000, Ian D. Leroux wrote:
>> On Sun, Apr 13, 2014 at 02:45:00PM +0000, idleroux@fastmail.fm wrote:
>>> CCLD fc-cache
>>> fc-cache.o: In function `scanDirs':
>>> fc-cache.c:(.text+0x1f7): undefined reference to
>>> `FcDirCacheRescan' Makefile:474: recipe for target 'fc-cache'
>>> failed gmake[2]: *** [fc-cache] Error 1
>>
>> This is caused by mixing native and pkgsrc X. Don't do that...
>
> As far as I know, I run strictly native X, and I ran into this in a
> freshly created pkg_comp chroot so there shouldn't have been any cruft
> from past mistakes lying around. As I see it, there are two
> possibilities: Either fonts/fontconfig is only useful with modular X
> and it had no business being built on my native-X system, or
> fonts/fontconfig is (potentially) useful with native X.
In general it's not useful with native X. However, for some pieces of
X, on some platforms, pkgsrc likes to build the pkgsrc version anyway,
because it thinks the native version is too old. This is not handled
well, and there's a long history of lossage arising from it.
One of these pieces is in fact fontconfig.
(For background: the basic problem is that after certain updates
pkgsrc gratuitously insists that the native version is no older than
the pkgsrc version. This is to (attempt to) avoid certain problems
that can arise in the presence of incompatible shared library changes;
but it's a very blunt hammer.)
> If pkgsrc fontconfig is not meant to be used with native X, then I'm
> perplexed that it got pulled in as a dependency while building
> packages for native X. I think I was trying to build firefox24 when I
> first tripped over this, back in April. However, I've just
> successfully built all the packages I care about from a pkgsrc tree
> checked out yesterday (2014-06-08) and fontconfig was not required, so
> if there was a bug in the dependencies it's gone now. In this case we
> can close the PR.
>
> If pkgsrc fontconfig is expected to build on a native-X system, then we
> still have a bug that I can reproduce in a fresh pkg_comp chroot, with
> nothing in /etc/mk.conf beyond what pkg_comp puts there itself. The
> bug doesn't affect me personally, but since I can reproduce it
> systematically I'm happy to help investigate if anyone else cares about
> it.
That is, as far as I know, a bug. The pkgsrc fontconfig builds ok for
me on -current and on -5 (don't have a -6 build box) though not in a
chroot, so maybe the problem is something that pkg_comp is doing
differently.
Anyhow, the linker error is caused by compiling against the current
version's header and linking to the older native library. It's easy
for this to happen when trying to build it against native X: x11-links
causes all the X libs it knows about to be buildlinked at once, and
that includes the native fontconfig library. So if something happens
in the wrong order on the command line, the wrong fontconfig library
comes up first and then everything fails.
Check work/.work.log to see what it's actually doing when trying to
link fc-cache. This is from mine just now:
[*] /usr/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool
/usr/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool --silent
--tag=CC --mode=link gcc -O2 -I/usr/pkg/include -I/usr/include
-I/usr/X11R7/include/freetype2 -L/usr/pkg/lib -L/usr/lib
-Wl,-R/usr/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib
-Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o ../src/libfontconfig.la
<.> /usr/pkg/bin/libtool --silent --tag=CC --mode=link gcc -O2
-I/usr/pkgsrc/fonts/fontconfig/work/.buildlink/include
-I/usr/pkgsrc/fonts/fontconfig/work/.x11-buildlink/include/freetype2
-L/usr/pkgsrc/fonts/fontconfig/work/.buildlink/lib
-L/usr/pkgsrc/fonts/fontconfig/work/.x11-buildlink/lib
-Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o
../src/libfontconfig.la
The [*] lines are what's presented to the pkgsrc wrappers; the <.>
lines are what's actually run.
If yours is different, that's probably the problem (especially if
there's something obviously suspect in it) ... if not, the problem is
probably inside libtool.
Also make sure that the x11-links and libtool-base packages pkg_comp
is using are up to date.
> Is there currently a mechanism for indicating or even enforcing that
> certain packages are modular-X-only? In some cases its obvious, but
> for something like fontconfig (whose DESCR explicitly states that it is
> independent of X), it's not.
Not one that works :-|
--
David A. Holland
dholland@netbsd.org
From: "Ian D. Leroux" <idleroux@fastmail.fm>
To: gnats-bugs@NetBSD.org
Cc: David Holland <dholland-pbugs@netbsd.org>, pkg-manager@netbsd.org,
gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/48742: Building fontconfig fails with undefined reference
to FcDirCacheRescan
Date: Fri, 2 Jan 2015 23:44:23 +0100
Thank you for the thoughtful explanation.
On Sat, 27 Dec 2014 01:50:01 +0000 (UTC) David Holland
<dholland-pbugs@netbsd.org> wrote:
> Check work/.work.log to see what it's actually doing when trying to
> link fc-cache. This is from mine just now:
>
> [*] /usr/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool
> /usr/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool --silent
> --tag=CC --mode=link gcc -O2 -I/usr/pkg/include -I/usr/include
> -I/usr/X11R7/include/freetype2 -L/usr/pkg/lib -L/usr/lib
> -Wl,-R/usr/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib
> -Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o ../src/libfontconfig.la
> <.> /usr/pkg/bin/libtool --silent --tag=CC --mode=link gcc -O2
> -I/usr/pkgsrc/fonts/fontconfig/work/.buildlink/include
> -I/usr/pkgsrc/fonts/fontconfig/work/.x11-buildlink/include/freetype2
> -L/usr/pkgsrc/fonts/fontconfig/work/.buildlink/lib
> -L/usr/pkgsrc/fonts/fontconfig/work/.x11-buildlink/lib
> -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o
> ../src/libfontconfig.la
And this is from my latest test, with newlines manually added for legibility:
[*] /pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.wrapper/bin/libtool
/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.wrapper/bin/libtool --silent
--tag=CC --mode=link gcc -O2 -I/usr/pkg/include -I/usr/include
-I/usr/X11R7/include/freetype2 -L/usr/pkg/lib -L/usr/lib
-Wl,-R/usr/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib
-Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o ../src/libfontconfig.la
<.> /usr/pkg/bin/libtool --silent --tag=CC --mode=link gcc -O2
-I/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.buildlink/include
-I/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.x11-buildlink/include/freetype2
-L/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.buildlink/lib
-L/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.x11-buildlink/lib
-Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o
../src/libfontconfig.la
As far as I can see, the only differences are in path prefixes due to
the use of a separate obj/ directory in pkg_comp. Inside the chroot,
x11-links and libtool-base were built Dec. 23rd from a pkgsrc checkout
a day or two prior. The base system in the chroot is amd64-current as
of late February.
I also tried building fontconfig directly in the underlying system
(NetBSD/amd64 7.99.2), without using pkg_comp. I still get an
undefined reference to FcDirCacheRescan. The relevant lines
in .work.log look like:
[*] /build/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool
/build/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool --silent
--tag=CC --mode=link gcc -O2 -I/usr/pkg/include -I/usr/include
-I/usr/X11R7/include/freetype2 -L/usr/pkg/lib -L/usr/lib
-Wl,-R/usr/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib
-Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o ../src/libfontconfig.la
<.> /usr/pkg/bin/libtool --silent --tag=CC --mode=link gcc -O2
-I/build/pkgsrc/fonts/fontconfig/work/.buildlink/include
-I/build/pkgsrc/fonts/fontconfig/work/.x11-buildlink/include/freetype2
-L/build/pkgsrc/fonts/fontconfig/work/.buildlink/lib
-L/build/pkgsrc/fonts/fontconfig/work/.x11-buildlink/lib
-Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -o fc-cache
fc-cache.o ../src/libfontconfig.la
Which still looks equivalent to yours.
I tried running
nm * |grep FcDirCacheRescan
in work/.x11-buildlink/lib , work/.buildlink/lib and /usr/X11R7/lib
without finding anything. work/fontconfig-2.11.1/fc-cache/fc-cache.o
does contain FcDirCacheRescan (again checked using nm). I'm puzzled that
libtool can't link against that definition, but I'm not familiar with
it.
It may be worth waiting until I can update my base system (both the
real one and the sets used to set up the chroot for pkgcomp), since all
my failed tests have that in common.
--
IDL
From: "Ian D. Leroux" <idleroux@fastmail.fm>
To: gnats-bugs@NetBSD.org
Cc: David Holland <dholland-pbugs@netbsd.org>, pkg-manager@netbsd.org,
gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/48742: Building fontconfig fails with undefined reference
to FcDirCacheRescan
Date: Fri, 2 Jan 2015 23:46:17 +0100
Thank you for the thoughtful explanation.
On Sat, 27 Dec 2014 01:50:01 +0000 (UTC) David Holland
<dholland-pbugs@netbsd.org> wrote:
> Check work/.work.log to see what it's actually doing when trying to
> link fc-cache. This is from mine just now:
>
> [*] /usr/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool
> /usr/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool --silent
> --tag=CC --mode=link gcc -O2 -I/usr/pkg/include -I/usr/include
> -I/usr/X11R7/include/freetype2 -L/usr/pkg/lib -L/usr/lib
> -Wl,-R/usr/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib
> -Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o ../src/libfontconfig.la
> <.> /usr/pkg/bin/libtool --silent --tag=CC --mode=link gcc -O2
> -I/usr/pkgsrc/fonts/fontconfig/work/.buildlink/include
> -I/usr/pkgsrc/fonts/fontconfig/work/.x11-buildlink/include/freetype2
> -L/usr/pkgsrc/fonts/fontconfig/work/.buildlink/lib
> -L/usr/pkgsrc/fonts/fontconfig/work/.x11-buildlink/lib
> -Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o
> ../src/libfontconfig.la
And this is from my latest test, with newlines manually added for legibility:
[*] /pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.wrapper/bin/libtool
/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.wrapper/bin/libtool --silent
--tag=CC --mode=link gcc -O2 -I/usr/pkg/include -I/usr/include
-I/usr/X11R7/include/freetype2 -L/usr/pkg/lib -L/usr/lib
-Wl,-R/usr/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib
-Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o ../src/libfontconfig.la
<.> /usr/pkg/bin/libtool --silent --tag=CC --mode=link gcc -O2
-I/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.buildlink/include
-I/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.x11-buildlink/include/freetype2
-L/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.buildlink/lib
-L/pkg_comp/obj/pkgsrc/fonts/fontconfig/default/.x11-buildlink/lib
-Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o
../src/libfontconfig.la
As far as I can see, the only differences are in path prefixes due to
the use of a separate obj/ directory in pkg_comp. Inside the chroot,
x11-links and libtool-base were built Dec. 23rd from a pkgsrc checkout
a day or two prior. The base system in the chroot is amd64-current as
of late February.
I also tried building fontconfig directly in the underlying system
(NetBSD/amd64 7.99.2), without using pkg_comp. I still get an
undefined reference to FcDirCacheRescan. The relevant lines
in .work.log look like:
[*] /build/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool
/build/pkgsrc/fonts/fontconfig/work/.wrapper/bin/libtool --silent
--tag=CC --mode=link gcc -O2 -I/usr/pkg/include -I/usr/include
-I/usr/X11R7/include/freetype2 -L/usr/pkg/lib -L/usr/lib
-Wl,-R/usr/lib -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib
-Wl,-R/usr/pkg/lib -o fc-cache fc-cache.o ../src/libfontconfig.la
<.> /usr/pkg/bin/libtool --silent --tag=CC --mode=link gcc -O2
-I/build/pkgsrc/fonts/fontconfig/work/.buildlink/include
-I/build/pkgsrc/fonts/fontconfig/work/.x11-buildlink/include/freetype2
-L/build/pkgsrc/fonts/fontconfig/work/.buildlink/lib
-L/build/pkgsrc/fonts/fontconfig/work/.x11-buildlink/lib
-Wl,-R/usr/X11R7/lib -Wl,-R/usr/pkg/lib -o fc-cache
fc-cache.o ../src/libfontconfig.la
Which still looks equivalent to yours.
I tried running
nm * |grep FcDirCacheRescan
in work/.x11-buildlink/lib , work/.buildlink/lib and /usr/X11R7/lib
without finding anything. work/fontconfig-2.11.1/fc-cache/fc-cache.o
does contain FcDirCacheRescan (again checked using nm). I'm puzzled that
libtool can't link against that definition, but I'm not familiar with
it.
It may be worth waiting until I can update my base system (both the
real one and the sets used to set up the chroot for pkgcomp), since all
my failed tests have that in common.
--
IDL
From: David Holland <dholland-pbugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: pkg/48742: Building fontconfig fails with undefined reference to
FcDirCacheRescan
Date: Sun, 18 Jan 2015 06:31:45 +0000
On Sat, Jan 03, 2015 at 12:05:00AM +0000, Ian D. Leroux wrote:
> And this is from my latest test, with newlines manually added for legibility:
> [...]
>
> As far as I can see, the only differences are in path prefixes due to
> the use of a separate obj/ directory in pkg_comp. Inside the chroot,
> x11-links and libtool-base were built Dec. 23rd from a pkgsrc checkout
> a day or two prior. The base system in the chroot is amd64-current as
> of late February.
Looks the same to me too. Weird; everything should be the same. I
don't understand... I blame libtool, but only because it's there and
it's an easy target. :-|
> It may be worth waiting until I can update my base system (both the
> real one and the sets used to set up the chroot for pkgcomp), since all
> my failed tests have that in common.
Unless the problem is that something in your base system is borked
(not impossible I guess) I doubt this will help. It builds ok for me
on -5, which is a lot older than your -current.
--
David A. Holland
dholland@netbsd.org
From: "Ian D. Leroux" <idleroux@fastmail.fm>
To: gnats-bugs@NetBSD.org
Cc: David Holland <dholland-pbugs@netbsd.org>, pkg-manager@netbsd.org,
gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/48742: Building fontconfig fails with undefined reference
to FcDirCacheRescan
Date: Sun, 22 Feb 2015 09:03:58 +0100
On Sun, 18 Jan 2015 06:35:01 +0000 (UTC) David Holland
<dholland-pbugs@netbsd.org> wrote:
> On Sat, Jan 03, 2015 at 12:05:00AM +0000, Ian D. Leroux wrote:
> > It may be worth waiting until I can update my base system (both
> > the real one and the sets used to set up the chroot for pkgcomp),
> > since all my failed tests have that in common.
>
> Unless the problem is that something in your base system is borked
> (not impossible I guess) I doubt this will help. It builds ok for me
> on -5, which is a lot older than your -current.
I just tested a build of fonts/fontconfig in a chroot running
7.99.5/amd64 built from sources checked out a few days ago, and the
package compiled with no problems. It seems that my base system was
subtly borked for the past year, and is so no longer. That makes this
bug a red herring, if you'll forgive the mixed metaphor. As far as I'm
concerned it can be closed. Thanks for taking the time to help and
teach.
--
IDL
State-Changed-From-To: open->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Thu, 19 Mar 2015 08:40:59 +0000
State-Changed-Why:
Turned out to be a local problem. Sorry I didn't respond faster (either now
or last spring)...
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.