From: David Trudgett
Subject: CLX/CMUCL: warning on load
Date: 
Message-ID: <m3r78j1c06.fsf@rr.trudgett>
Hi all,

When I load CLX (from .cmucl-init) I get the following warning, and I
was wondering if this is normal or not:

    ;; Loading #p"/usr/lib/cmucl/subsystems/clx-library.x86f".
    Warning:  XLIB previously used the following packages:
      (#<The LISP package, 1772/4161 internal, 978/1227 external>)

I can't think of any good reason why XLIB would "previously" have used
anything because it's being loaded for the first time. I am using
stock standard CMUCL 19a on Debian:

    CMU Common Lisp CVS release-19a 19a-release-20040728 + minimal
    debian patches


After processing .cmucl-init:

    Loaded subsystems:
        Python 1.1, target Intel x86
        CLOS based on Gerd's PCL 2004/04/14 03:32:47
        CLX X Library MIT R5.02


Thanks,

David

-- 

David Trudgett
http://www.zeta.org.au/~wpower/

But what good or useful thing can come of all these improvements, if
men do not speak and act in accordance with what they believe to be
the truth?

    -- Leo Tolstoy, "The Kingdom of God is Within You"

From: Paolo Amoroso
Subject: Re: CLX/CMUCL: warning on load
Date: 
Message-ID: <87pso2o1h1.fsf@plato.moon.paoloamoroso.it>
David Trudgett <······@zeta.org.au.nospamplease>  writes:

> When I load CLX (from .cmucl-init) I get the following warning, and I
> was wondering if this is normal or not:
>
>     ;; Loading #p"/usr/lib/cmucl/subsystems/clx-library.x86f".
>     Warning:  XLIB previously used the following packages:
>       (#<The LISP package, 1772/4161 internal, 978/1227 external>)

CMUCL has been displaying that warning for the past few versions, but
it's harmless.


Paolo
-- 
Why Lisp? http://wiki.alu.org/RtL%20Highlight%20Film
Recommended Common Lisp libraries/tools:
- ASDF/ASDF-INSTALL: system building/installation
- CL-PPCRE: regular expressions
- CFFI: Foreign Function Interface
From: Rob Warnock
Subject: Re: CLX/CMUCL: warning on load
Date: 
Message-ID: <bbqdndw0G-9mmz3eRVn-og@speakeasy.net>
Paolo Amoroso  <·······@mclink.it> wrote:
+---------------
| David Trudgett <······@zeta.org.au.nospamplease>  writes:
| > When I load CLX (from .cmucl-init) I get the following warning, and I
| > was wondering if this is normal or not:
| >     ;; Loading #p"/usr/lib/cmucl/subsystems/clx-library.x86f".
| >     Warning:  XLIB previously used the following packages:
| >       (#<The LISP package, 1772/4161 internal, 978/1227 external>)
| 
| CMUCL has been displaying that warning for the past few versions,
| but it's harmless.
+---------------

Oddly enough, the Linux pre-built binaries have the problem, but
the FreeBSD pre-built binaries don't! This first case is on Linux --
note the PACKAGE-USE-LIST output before & after the REQUIRE:

    $ cmucl-19c/bin/lisp -noinit -nositeinit
    CMU Common Lisp 19c (19C), running on shambhala.org
    With core: /usr/u/rpw3/src/cmd/cmucl-19c/lib/cmucl/lib/lisp.core
    Dumped on: Thu, 2005-11-17 06:12:58-08:00 on lorien
    See <http://www.cons.org/cmucl/> for support information.
    Loaded subsystems:
	Python 1.1, target Intel x86
	CLOS based on Gerd's PCL 2004/04/14 03:32:47
    * (package-use-list :xlib)

    (#<The LISP package, 1827/3484 internal, 978/1227 external>)
    * (require :clx)

    ; Loading #P"/usr/u/rpw3/src/cmd/cmucl-19c/lib/cmucl/lib/subsystems/clx-library.x86f".
    Warning:  XLIB previously used the following packages:
      (#<The LISP package, 1827/3484 internal, 978/1227 external>)
    ("CLX")
    * (package-use-list :xlib)

    (#<The COMMON-LISP package, 0/4 internal, 978/1227 external>)
    * 

Now look at the same sequence on FreeBSD:

    % cmucl-19c/bin/lisp -noinit -nositeinit
    CMU Common Lisp 19c Release (19C), running on lisp.rpw3.org
    With core: /u/rpw3/src/cmd/cmucl-19c/lib/cmucl/lib/lisp.core
    Dumped on: Wed, 2005-11-16 17:18:11-08:00 on snapdragon.csl.sri.com
    See <http://www.cons.org/cmucl/> for support information.
    Loaded subsystems:
	Python 1.1, target Intel x86
	CLOS based on Gerd's PCL 2004/04/14 03:32:47
    * (package-use-list :xlib)

    (#<The COMMON-LISP package, 0/4 internal, 978/1227 external>)
    * (require :clx)

    ; Loading #P"/u/rpw3/src/cmd/cmucl-19c/lib/cmucl/lib/subsystems/clx-library.x86f".
    ("CLX")
    * (package-use-list :xlib)

    (#<The COMMON-LISP package, 0/4 internal, 978/1227 external>)
    * 

Perhaps the current Linux builder(s) & FreeBSD builder(s) could
swap notes and see why the Linux versions have the wrong :USE in the
stub[1] XLIB package. [Compiler environment polluting the compilation
perhaps? And with CMUCL's parthenogenetic reproduction, such pollution
could persist for a *looonng* time... But why just Linux & not FreeBSD?]


-Rob

[1] David asked why this happens at all: The answer is that a couple
    of XLIB symbols -- currently only XLIB::DISPLAY-INPUT-STREAM
    and XLIB:EVENT-LISTEN -- are referenced by some CMUCL extensions
    [but only when CLX is loaded], and are declared during the CMUCL
    build process to avoid compiler warnings about undefined functions
    [see files "cmucl/code/globals.lisp" and "cmucl/tools/setup.lisp"].
    To keep the reader from blowing up on the "XLIB:" package prefix
    in those declarations, there is also a stub DEFPACKAGE "XLIB"
    somewhere in the base build. But the only ones I can find [including
    a MAKE-PACKAGE under a #+BOOTSTRAP in "cmucl/src/tools/clxcom.lisp"]
    all say to (:USE :COMMON-LISP), not (:USE :LISP). Go figure.

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: http://public.xdi.org/=pf
Subject: Re: CLX/CMUCL: warning on load
Date: 
Message-ID: <m264prkfnu.fsf@mycroft.actrix.gen.nz>
On Wed, 14 Dec 2005 05:50:19 -0600, Rob Warnock wrote:

> [1] David asked why this happens at all: The answer is that a couple
>     of XLIB symbols -- currently only XLIB::DISPLAY-INPUT-STREAM
>     and XLIB:EVENT-LISTEN -- are referenced by some CMUCL extensions
>     [but only when CLX is loaded], and are declared during the CMUCL
>     build process to avoid compiler warnings about undefined functions
>     [see files "cmucl/code/globals.lisp" and "cmucl/tools/setup.lisp"].
>     To keep the reader from blowing up on the "XLIB:" package prefix
>     in those declarations, there is also a stub DEFPACKAGE "XLIB"
>     somewhere in the base build. But the only ones I can find [including
>     a MAKE-PACKAGE under a #+BOOTSTRAP in "cmucl/src/tools/clxcom.lisp"]
>     all say to (:USE :COMMON-LISP), not (:USE :LISP). Go figure.

The COMMON-LISP package used to contain a lot of extraneous
(unexported) implementation stuff; at some point (about 3 years ago)
that package was renamed LISP and a new COMMON-LISP package was added
to hold only the symbols required by the spec.  I think what happens
is that since the XLIB package is defined during the build process,
the /old/ XLIB package that already exists in the build-time image
used the (old) COMMON-LISP package which is now named LISP, and it
isn't properly separated from the /new/ XLIB package which now only
uses (the new) COMMON-LISP, so you build a core containing the stub
XLIB referencing the LISP package, but the clx library does a
DEFPACKAGE using COMMON-LISP.  Probably if you just add a
DELETE-PACKAGE early in the build process it'll come right, but my
sources are currently broken so I can't test that.

-- 
Quid enim est stultius quam incerta pro certis habere, falsa pro veris?
                                                                -- Cicero
(setq reply-to
  (concatenate 'string "Paul Foley " "<mycroft" '(··@) "actrix.gen.nz>"))
From: Raymond Toy
Subject: Re: CLX/CMUCL: warning on load
Date: 
Message-ID: <sxdmzj3it63.fsf@rtp.ericsson.se>
>>>>> "Paul" == Paul Foley <<···@below.invalid> (http://public.xdi.org/=pf)> writes:

    Paul> On Wed, 14 Dec 2005 05:50:19 -0600, Rob Warnock wrote:
    >> [1] David asked why this happens at all: The answer is that a couple
    >> of XLIB symbols -- currently only XLIB::DISPLAY-INPUT-STREAM
    >> and XLIB:EVENT-LISTEN -- are referenced by some CMUCL extensions
    >> [but only when CLX is loaded], and are declared during the CMUCL
    >> build process to avoid compiler warnings about undefined functions
    >> [see files "cmucl/code/globals.lisp" and "cmucl/tools/setup.lisp"].
    >> To keep the reader from blowing up on the "XLIB:" package prefix
    >> in those declarations, there is also a stub DEFPACKAGE "XLIB"
    >> somewhere in the base build. But the only ones I can find [including
    >> a MAKE-PACKAGE under a #+BOOTSTRAP in "cmucl/src/tools/clxcom.lisp"]
    >> all say to (:USE :COMMON-LISP), not (:USE :LISP). Go figure.

    Paul> The COMMON-LISP package used to contain a lot of extraneous
    Paul> (unexported) implementation stuff; at some point (about 3 years ago)
    Paul> that package was renamed LISP and a new COMMON-LISP package was added
    Paul> to hold only the symbols required by the spec.  I think what happens
    Paul> is that since the XLIB package is defined during the build process,
    Paul> the /old/ XLIB package that already exists in the build-time image
    Paul> used the (old) COMMON-LISP package which is now named LISP, and it
    Paul> isn't properly separated from the /new/ XLIB package which now only
    Paul> uses (the new) COMMON-LISP, so you build a core containing the stub
    Paul> XLIB referencing the LISP package, but the clx library does a
    Paul> DEFPACKAGE using COMMON-LISP.  Probably if you just add a
    Paul> DELETE-PACKAGE early in the build process it'll come right, but my
    Paul> sources are currently broken so I can't test that.

Thanks for the hint.  (And for Rob for looking a bit more.)

A rebuild with the bootstrap snippet from clxcom.lisp took care of
this and it will be fixed in the next snapshot.

Ray