Re: ASDF: could use some help with ECL issue

Robert Goldman <rpgoldman-b/[email protected]> Wed, 10 Jan 2024 09:53:51 -0600
Newsgroups gmane.lisp.asdf.devel,gmane.lisp.ecl.general
Message-ID <[email protected]>
--=_MailMate_6803279C-1DED-43A2-8722-9414BC3B2E8F_=
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable

Thank you so much for the quick and helpful response, Daniel=10!  (And =

happy new year)

On 10 Jan 2024, at 1:30, Daniel Kochma=C5=84ski wrote:

> Hey Robert,
>
> I've looked into this issue and it seems that it is a bug in ECL. Even =

> on idempotent defpackage definitions it first removes use-list and =

> then re-adds it, while the different part of the code enforces the =

> lock. I've added the ticket to our tracker:
>
> https://gitlab.com/embeddable-common-lisp/ecl/-/issues/730
>
> Best regards,
> Daniel
>
> --
> Daniel Kochma=C5=84ski ;; aka jackdaniel | Przemy=C5=9Bl, Poland
> TurtleWare - Daniel Kochma=C5=84ski | www.turtleware.eu
>
> "Be the change that you wish to see in the world." - Mahatma Gandhi
>
> On Tuesday, January 9th, 2024 at 16:48, Robert Goldman =

> <rpgoldman-b/[email protected]> wrote:
>
>> In the regression test results for a bug fix to ASDF =

>> (https://gitlab.common-lisp.net/asdf/asdf/-/jobs/63801), I see this =

>> error which I don't understand at all:
>>
>> Cannot unuse package #<"COMMON-LISP" package> from locked package =

>> #<"PACKAGE-INFERRED-SYSTEM-TEST/SBCL-EXT-LOCK" package>.
>>
>> The line that seems to be causing this is the following (in a test =

>> system):
>>
>> (defpackage package-inferred-system-test/sbcl-ext-lock
>>   (:use :cl)
>>   #+(or sbcl ecl) (:lock t)
>>   (:export #:implemented-by-other-package))
>>
>> More discussion about this is in ASDF Merge Request 226: =

>> https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/226
>>
>> The underlying issue is to try to make sure that implementation =

>> specific defpackage extensions (like :lock) don't cause ASDF's =

>> defpackage groveler to fail when working with package-defined =

>> systems.
>>
>> Thanks for any advice!


Robert P. Goldman
Research Fellow
Smart Information Flow Technologies (d/b/a SIFT, LLC)

319 N. First Ave., Suite 400
Minneapolis, MN 55401

Voice:	(612) 326-3934
Email:    [email protected]

--=_MailMate_6803279C-1DED-43A2-8722-9414BC3B2E8F_=
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html>
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/xhtml; charset=3Dutf-8"=
>
</head>
<body><div style=3D"font-family: sans-serif;"><div class=3D"plaintext" st=
yle=3D"white-space: normal;"><p dir=3D"auto">Thank you so much for the qu=
ick and helpful response, Daniel=10!  (And happy new year)</p>
<p dir=3D"auto">On 10 Jan 2024, at 1:30, Daniel Kochma=C5=84ski wrote:</p=
>
</div><blockquote class=3D"embedded" style=3D"margin: 0 0 5px; padding-le=
ft: 5px; border-left: 2px solid #777777; color: #777777;"><div id=3D"2886=
CA4B-987C-4215-8917-290F5BC6C312">

<div style=3D"font-family: Arial, sans-serif; font-size: 14px;">Hey Rober=
t,</div>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px;"><br></div=
>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px;">I've look=
ed into this issue and it seems that it is a bug in ECL. Even on idempote=
nt defpackage definitions it first removes use-list and then re-adds it, =
while the different part of the code enforces the lock. I've added the ti=
cket to our tracker:</div>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px;"><br></div=
>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px;"><span><a =
href=3D"https://gitlab.com/embeddable-common-lisp/ecl/-/issues/730" rel=3D=
"noreferrer nofollow noopener" target=3D"_blank">https://gitlab.com/embed=
dable-common-lisp/ecl/-/issues/730</a></span><br></div>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px; color: rgb=
(0, 0, 0); background-color: rgb(255, 255, 255);"><br></div>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px; color: rgb=
(0, 0, 0); background-color: rgb(255, 255, 255);">Best regards,</div>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px; color: rgb=
(0, 0, 0); background-color: rgb(255, 255, 255);">Daniel<br></div>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px;"><br></div=
>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px;" class=3D"=
protonmail_signature_block">
<div class=3D"protonmail_signature_block-user">
<div>--<br></div>
<div>Daniel Kochma=C5=84ski ;; aka jackdaniel | Przemy=C5=9Bl, Poland<br>=
</div>
<div>TurtleWare - Daniel Kochma=C5=84ski&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | =
<a target=3D"_blank" rel=3D"noreferrer nofollow noopener" href=3D"http://=
www.turtleware.eu">www.turtleware.eu</a><br></div>
<div><br></div>
<div>"Be the change that you wish to see in the world." - Mahatma Gandhi<=
br></div>
<div><br></div>
</div>
<div class=3D"protonmail_signature_block-proton protonmail_signature_bloc=
k-empty"></div>
</div>
<div style=3D"font-family: Arial, sans-serif; font-size: 14px;"><br></div=
>
<div class=3D"protonmail_quote">On Tuesday, January 9th, 2024 at 16:48, R=
obert Goldman &lt;rpgoldman-b/[email protected]&gt; wrote:<br>
<br>
<blockquote type=3D"cite" class=3D"protonmail_quote">
<div style=3D"font-family: sans-serif;">
<div class=3D"markdown" style=3D"white-space: normal;">
<p dir=3D"auto">In the regression test results for a bug fix to ASDF (<a =
target=3D"_blank" rel=3D"noreferrer nofollow noopener" href=3D"https://gi=
tlab.common-lisp.net/asdf/asdf/-/jobs/63801" style=3D"color: #3983C4;">ht=
tps://gitlab.common-lisp.net/asdf/asdf/-/jobs/63801</a>), I see this erro=
r which I don't understand at all:</p>
<pre style=3D"margin-left: 15px; margin-right: 15px; padding: 5px; backgr=
ound-color: #F7F7F7; border-radius: 5px 5px 5px 5px; overflow-x: auto; ma=
x-width: 90vw;"><code style=3D"margin: 0 0; border-radius: 3px; backgroun=
d-color: #F7F7F7; padding: 0px;">Cannot unuse package #&lt;"COMMON-LISP" =
package&gt; from locked package #&lt;"PACKAGE-INFERRED-SYSTEM-TEST/SBCL-E=
XT-LOCK" package&gt;.
</code></pre>
<p dir=3D"auto">The line that seems to be causing this is the following (=
in a test system):</p>
<pre style=3D"margin-left: 15px; margin-right: 15px; padding: 5px; backgr=
ound-color: #F7F7F7; border-radius: 5px 5px 5px 5px; overflow-x: auto; ma=
x-width: 90vw;"><code style=3D"margin: 0 0; border-radius: 3px; backgroun=
d-color: #F7F7F7; padding: 0px;">(defpackage package-inferred-system-test=
/sbcl-ext-lock
  (:use :cl)
  #+(or sbcl ecl) (:lock t)
  (:export #:implemented-by-other-package))
</code></pre>
<p dir=3D"auto">More discussion about this is in ASDF Merge Request 226: =
<a target=3D"_blank" rel=3D"noreferrer nofollow noopener" href=3D"https:/=
/gitlab.common-lisp.net/asdf/asdf/-/merge_requests/226" style=3D"color: #=
3983C4;">https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/226</a=
></p>
<p dir=3D"auto">The underlying issue is to try to make sure that implemen=
tation specific <code style=3D"margin: 0 0; padding: 0 0.25em; border-rad=
ius: 3px; background-color: #F7F7F7;">defpackage</code> extensions (like =
<code style=3D"margin: 0 0; padding: 0 0.25em; border-radius: 3px; backgr=
ound-color: #F7F7F7;">:lock</code>) don't cause ASDF's <code style=3D"mar=
gin: 0 0; padding: 0 0.25em; border-radius: 3px; background-color: #F7F7F=
7;">defpackage</code> groveler to fail when working with package-defined =
systems.</p>
<p dir=3D"auto">Thanks for any advice!</p>
</div>
</div>
</blockquote>
<br></div></div></blockquote>
<div class=3D"plaintext" style=3D"white-space: normal;">
<p dir=3D"auto">Robert P. Goldman
<br>
Research Fellow
<br>
Smart Information Flow Technologies (d/b/a SIFT, LLC)</p>
<p dir=3D"auto">319 N. First Ave., Suite 400
<br>
Minneapolis, MN 55401</p>
<p dir=3D"auto">Voice:	(612) 326-3934
<br>
Email:    [email protected]</p>
</div>

</div>
</body>

</html>

--=_MailMate_6803279C-1DED-43A2-8722-9414BC3B2E8F_=--