Mes has a catch-all search path

  • Open
  • quality assurance status badge
Details
3 participants
  • Ekaitz Zarraga
  • Ludovic Courtès
  • Maxime Devos
Owner
unassigned
Submitted by
Ekaitz Zarraga
Severity
normal
E
E
Ekaitz Zarraga wrote on 19 Sep 2022 13:17
`environment_variables` in build containers are set wrong
(name . bug-guix@gnu.org)(address . bug-guix@gnu.org)
86tbaSt8BFnSXLVj8M5X8cW8VmbmVPKmyHMfQQcTEQos0LquGNjLkWrOq4L8zWXMPiHosf_dFpwxKcTv3xAfGHzxLgzEKbNuRt-vcZolsJY=@elenq.tech
Hi,

I have a package that depends on `mes`.

When I build it with `guix build $package -K` and I jump to the resulting build directory, the `environment_variables` file looks like this:

```
export LIBRARY_PATH="/gnu/store/hy6abswwv4d89zp464fw52z65fkzr7h5-perl-5.34.0/lib:/gnu/store/22n2s0vfvqg9v0as9h7fpdn1i9dmryvi-texinfo-6.7/lib:/gnu/store/kijj8bhcaz984jbgbshrdabzd07cg1zv-mes-0.24/lib:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/lib:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/lib:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/lib:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/lib:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/lib:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib:/gnu/store/4jdghmc65q7i7ib89zmvq66l0ghf7jc4-glibc-2.33-static/lib:/gnu/store/fnr1z6xsan0437r0yg48d0y8k32kqxby-glibc-utf8-locales-2.33/lib:/gnu/store/9xn2y515vv9p0vgww4add3lphwi17q07-nyacc-1.00.2/lib"
export MES_PREFIX="/gnu/store/hy6abswwv4d89zp464fw52z65fkzr7h5-perl-5.34.0/"
```

The `MES_PREFIX` is set to Perl's installation directory, which is also the first element in `LIBRARY_PATH`.

If I change the order of the package inputs the order of the `LIBRARY_PATH` changes, which is not important, but the first element of `LIBRARY_PATH` is always the one in the `MES_PREFIX`. This doesn't look like the proper behavior: it should always be /gnu/store/*-mes-*

Best,
Ekaitz
M
M
Maxime Devos wrote on 19 Sep 2022 15:18
Re: bug#57932: Mes has overly-generic MES_PREFIX search path (was: `environment_variables` in build containers are set wrong)
7a4e8523-e9b1-ed51-16e8-0d1e918693ba@telenet.be
retitle 57392 Mes has overly-generic MES_PREFIX search path
thanks
On 19-09-2022 13:17, Ekaitz Zarraga wrote:
Toggle quote (14 lines)
> Hi,
>
> I have a package that depends on `mes`.
>
> When I build it with `guix build $package -K` and I jump to the resulting build directory, the `environment_variables` file looks like this:
>
> ```
> [...]
> export MES_PREFIX="/gnu/store/hy6abswwv4d89zp464fw52z65fkzr7h5-perl-5.34.0/"
> ```
>
> The `MES_PREFIX` is set to Perl's installation directory, which is also the first element in `LIBRARY_PATH`.
>
> If I change the order of the package inputs the order of the `LIBRARY_PATH` changes, which is not important, but the first element of `LIBRARY_PATH` is always the one in the `MES_PREFIX`. This doesn't look like the proper behavior: it should always be /gnu/store/*-mes-*
Looking at the search paths of 'mes', it has
(search-path-specification
(variable "MES_PREFIX")
(separator #f)
(files '("")))))
so it 'accept's _all_ the store items. As such, I've renamed the issue
(if you think the new name is inappropriate, feel free to rename it back.)
How about, instead of having a $MES_PREFIX environment variable and
search path, substitute* uses of MES_PREFIX to #$output in a phase?
Greetings,
Maxime.
Attachment: OpenPGP_signature
L
L
Ludovic Courtès wrote on 23 Sep 2022 08:22
control message for bug #57932
(address . control@debbugs.gnu.org)
87illefw53.fsf@gnu.org
retitle 57932 Mes has a catch-all search path
quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 57932@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 57932
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch