* bug#59278: how gcc-toolchain can depends a package who doesn't exists?
@ 2022-11-14 23:53 bbb ee
2022-11-15 6:26 ` Julien Lepiller
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: bbb ee @ 2022-11-14 23:53 UTC (permalink / raw)
To: 59278
[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]
in version c81457a5883ea43950eb2ecdcbb58a5b144bcd11 of guix, gcc-toolchain
depends gcc:
```
$ DEFAULT_CHANNELS=/tmp/default_channels.scm
$ echo "%default-channels" > $DEFAULT_CHANNELS
# I force guix to use only %default-channels here
$ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
$DEFAULT_CHANNELS -- search gcc-toolchain
guile: warning: failed to install locale
name: gcc-toolchain
version: 9.3.0
outputs: out debug static
systems: x86_64-linux i686-linux
dependencies: binutils@2.32 gcc@9.3.0 glibc@2.29 ld-wrapper@0
```
However, I can't find gcc package in this version of guix
```
$ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
$DEFAULT_CHANNELS -- search gcc
# no found gcc
# guix install failure message confirm that gcc doesn't exist in commit
c81457
$ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
$DEFAULT_CHANNELS -- install gcc -p ~/opt/python-dev_3_7
guile: warning: failed to install locale
guix install: error: gcc: unknown package
```
in commit c81457, how gcc-toolchain can depends a package who doesn't
exists?
[-- Attachment #2: Type: text/html, Size: 1239 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#59278: how gcc-toolchain can depends a package who doesn't exists?
2022-11-14 23:53 bug#59278: how gcc-toolchain can depends a package who doesn't exists? bbb ee
@ 2022-11-15 6:26 ` Julien Lepiller
2022-11-15 10:29 ` bbb ee
2022-11-15 8:42 ` zimoun
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Julien Lepiller @ 2022-11-15 6:26 UTC (permalink / raw)
To: bbb ee, 59278
[-- Attachment #1: Type: text/plain, Size: 1438 bytes --]
Hi,
This is not a bug. The gcc package exists, but is hidden from CLI on purpose because you shouldn't install it and use it directly. You should use gcc-toolchain instead.
Le 15 novembre 2022 00:53:32 GMT+01:00, bbb ee <blasforr@gmail.com> a écrit :
>in version c81457a5883ea43950eb2ecdcbb58a5b144bcd11 of guix, gcc-toolchain
>depends gcc:
>```
>$ DEFAULT_CHANNELS=/tmp/default_channels.scm
>$ echo "%default-channels" > $DEFAULT_CHANNELS
># I force guix to use only %default-channels here
>$ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
>$DEFAULT_CHANNELS -- search gcc-toolchain
>guile: warning: failed to install locale
>name: gcc-toolchain
>version: 9.3.0
>outputs: out debug static
>systems: x86_64-linux i686-linux
>dependencies: binutils@2.32 gcc@9.3.0 glibc@2.29 ld-wrapper@0
>```
>
>
>However, I can't find gcc package in this version of guix
>```
>$ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
>$DEFAULT_CHANNELS -- search gcc
># no found gcc
>
># guix install failure message confirm that gcc doesn't exist in commit
>c81457
>$ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
>$DEFAULT_CHANNELS -- install gcc -p ~/opt/python-dev_3_7
>guile: warning: failed to install locale
>guix install: error: gcc: unknown package
>```
>
>in commit c81457, how gcc-toolchain can depends a package who doesn't
>exists?
[-- Attachment #2: Type: text/html, Size: 1711 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#59278: how gcc-toolchain can depends a package who doesn't exists?
2022-11-14 23:53 bug#59278: how gcc-toolchain can depends a package who doesn't exists? bbb ee
2022-11-15 6:26 ` Julien Lepiller
@ 2022-11-15 8:42 ` zimoun
2022-11-15 21:42 ` bbb ee
2022-11-15 22:04 ` bbb ee
2022-11-15 10:30 ` bug#59278: bbb ee
2023-05-15 17:55 ` bug#59278: gcc@7 and higher are not hidden packages zimoun
3 siblings, 2 replies; 9+ messages in thread
From: zimoun @ 2022-11-15 8:42 UTC (permalink / raw)
To: bbb ee, 59278
Hi,
On Tue, 15 Nov 2022 at 00:53, bbb ee <blasforr@gmail.com> wrote:
> in commit c81457, how gcc-toolchain can depends a package who doesn't
> exists?
The package exists, it is ’hidden’ – it means not accessible at the CLI
level. The ’inherit’ copies, so gcc-11 is also hidden, for instance.
--8<---------------cut here---------------start------------->8---
(define-public gcc-4.7
[...]
(hidden-package
(package
(name "gcc")
(version "4.7.4")
(define-public gcc-4.8
(package (inherit gcc-4.7)
(version "4.8.5")
[...]
(define-public gcc-11
(package
(inherit gcc-8)
(version "11.3.0")
--8<---------------cut here---------------end--------------->8---
The package ’gcc’ by itself is not barely useful because you also need
linker etc. Well, you usually need a complete toolchain, named
gcc-toolchain. ;-)
See manual: <https://guix.gnu.org/manual/devel/en/guix.html#The-GCC-toolchain>
So this is not a bug and I miss how what could be improved. Closing?
Cheers,
simon
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#59278: how gcc-toolchain can depends a package who doesn't exists?
2022-11-15 6:26 ` Julien Lepiller
@ 2022-11-15 10:29 ` bbb ee
0 siblings, 0 replies; 9+ messages in thread
From: bbb ee @ 2022-11-15 10:29 UTC (permalink / raw)
To: Julien Lepiller; +Cc: 59278
[-- Attachment #1: Type: text/plain, Size: 1638 bytes --]
Thanks, I close the issue
Le mar. 15 nov. 2022 à 07:27, Julien Lepiller <julien@lepiller.eu> a écrit :
> Hi,
>
> This is not a bug. The gcc package exists, but is hidden from CLI on
> purpose because you shouldn't install it and use it directly. You should
> use gcc-toolchain instead.
>
> Le 15 novembre 2022 00:53:32 GMT+01:00, bbb ee <blasforr@gmail.com> a
> écrit :
>>
>> in version c81457a5883ea43950eb2ecdcbb58a5b144bcd11 of guix,
>> gcc-toolchain depends gcc:
>> ```
>> $ DEFAULT_CHANNELS=/tmp/default_channels.scm
>> $ echo "%default-channels" > $DEFAULT_CHANNELS
>> # I force guix to use only %default-channels here
>> $ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
>> $DEFAULT_CHANNELS -- search gcc-toolchain
>> guile: warning: failed to install locale
>> name: gcc-toolchain
>> version: 9.3.0
>> outputs: out debug static
>> systems: x86_64-linux i686-linux
>> dependencies: binutils@2.32 gcc@9.3.0 glibc@2.29 ld-wrapper@0
>> ```
>>
>>
>> However, I can't find gcc package in this version of guix
>> ```
>> $ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
>> $DEFAULT_CHANNELS -- search gcc
>> # no found gcc
>>
>> # guix install failure message confirm that gcc doesn't exist in commit
>> c81457
>> $ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C
>> $DEFAULT_CHANNELS -- install gcc -p ~/opt/python-dev_3_7
>> guile: warning: failed to install locale
>> guix install: error: gcc: unknown package
>> ```
>>
>> in commit c81457, how gcc-toolchain can depends a package who doesn't
>> exists?
>>
>
[-- Attachment #2: Type: text/html, Size: 2141 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#59278:
2022-11-14 23:53 bug#59278: how gcc-toolchain can depends a package who doesn't exists? bbb ee
2022-11-15 6:26 ` Julien Lepiller
2022-11-15 8:42 ` zimoun
@ 2022-11-15 10:30 ` bbb ee
2023-05-15 17:55 ` bug#59278: gcc@7 and higher are not hidden packages zimoun
3 siblings, 0 replies; 9+ messages in thread
From: bbb ee @ 2022-11-15 10:30 UTC (permalink / raw)
To: 59278
[-- Attachment #1: Type: text/plain, Size: 13 bytes --]
close #59278
[-- Attachment #2: Type: text/html, Size: 34 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#59278: how gcc-toolchain can depends a package who doesn't exists?
2022-11-15 8:42 ` zimoun
@ 2022-11-15 21:42 ` bbb ee
2022-11-16 8:53 ` zimoun
2022-11-15 22:04 ` bbb ee
1 sibling, 1 reply; 9+ messages in thread
From: bbb ee @ 2022-11-15 21:42 UTC (permalink / raw)
To: zimoun; +Cc: 59278
[-- Attachment #1: Type: text/plain, Size: 1849 bytes --]
It is just a little confusing for newcomers to guix. If we really want to
improve something, I think that could be to give a more rigorous
specification of the guix command:
in `guix search --help`, the documentation could be "Search for no hidden
packages matching REGEXPS."
in
https://guix.gnu.org/manual/en/html_node/Invoking-guix-package.html#Invoking-guix-package,
in the specification of the option -s :
"-s regexp
List the available packages whose name, synopsis, or description matches
regexp
"
What exactly means "available" ? For example, available means no hidden
guix package.
And in
Le mar. 15 nov. 2022 à 15:54, zimoun <zimon.toutoune@gmail.com> a écrit :
> Hi,
>
> On Tue, 15 Nov 2022 at 00:53, bbb ee <blasforr@gmail.com> wrote:
>
> > in commit c81457, how gcc-toolchain can depends a package who doesn't
> > exists?
>
> The package exists, it is ’hidden’ – it means not accessible at the CLI
> level. The ’inherit’ copies, so gcc-11 is also hidden, for instance.
>
> --8<---------------cut here---------------start------------->8---
> (define-public gcc-4.7
> [...]
> (hidden-package
> (package
> (name "gcc")
> (version "4.7.4")
>
> (define-public gcc-4.8
> (package (inherit gcc-4.7)
> (version "4.8.5")
>
> [...]
>
> (define-public gcc-11
> (package
> (inherit gcc-8)
> (version "11.3.0")
> --8<---------------cut here---------------end--------------->8---
>
> The package ’gcc’ by itself is not barely useful because you also need
> linker etc. Well, you usually need a complete toolchain, named
> gcc-toolchain. ;-)
>
> See manual: <
> https://guix.gnu.org/manual/devel/en/guix.html#The-GCC-toolchain>
>
>
> So this is not a bug and I miss how what could be improved. Closing?
>
> Cheers,
> simon
>
[-- Attachment #2: Type: text/html, Size: 2902 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#59278: how gcc-toolchain can depends a package who doesn't exists?
2022-11-15 8:42 ` zimoun
2022-11-15 21:42 ` bbb ee
@ 2022-11-15 22:04 ` bbb ee
1 sibling, 0 replies; 9+ messages in thread
From: bbb ee @ 2022-11-15 22:04 UTC (permalink / raw)
To: zimoun; +Cc: 59278
[-- Attachment #1: Type: text/plain, Size: 1516 bytes --]
In the documentation, when it says "guix search" search matching package,
if users don't find a package defined in .scm (hidden or no), users can
consider it is a bug, because that doesn't match the behavior described in
the specification (here, the manual and "guix search --help").
Le mar. 15 nov. 2022 à 15:54, zimoun <zimon.toutoune@gmail.com> a écrit :
> Hi,
>
> On Tue, 15 Nov 2022 at 00:53, bbb ee <blasforr@gmail.com> wrote:
>
> > in commit c81457, how gcc-toolchain can depends a package who doesn't
> > exists?
>
> The package exists, it is ’hidden’ – it means not accessible at the CLI
> level. The ’inherit’ copies, so gcc-11 is also hidden, for instance.
>
> --8<---------------cut here---------------start------------->8---
> (define-public gcc-4.7
> [...]
> (hidden-package
> (package
> (name "gcc")
> (version "4.7.4")
>
> (define-public gcc-4.8
> (package (inherit gcc-4.7)
> (version "4.8.5")
>
> [...]
>
> (define-public gcc-11
> (package
> (inherit gcc-8)
> (version "11.3.0")
> --8<---------------cut here---------------end--------------->8---
>
> The package ’gcc’ by itself is not barely useful because you also need
> linker etc. Well, you usually need a complete toolchain, named
> gcc-toolchain. ;-)
>
> See manual: <
> https://guix.gnu.org/manual/devel/en/guix.html#The-GCC-toolchain>
>
>
> So this is not a bug and I miss how what could be improved. Closing?
>
> Cheers,
> simon
>
[-- Attachment #2: Type: text/html, Size: 2180 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#59278: how gcc-toolchain can depends a package who doesn't exists?
2022-11-15 21:42 ` bbb ee
@ 2022-11-16 8:53 ` zimoun
0 siblings, 0 replies; 9+ messages in thread
From: zimoun @ 2022-11-16 8:53 UTC (permalink / raw)
To: bbb ee; +Cc: 59278
Hi,
On Tue, 15 Nov 2022 at 22:42, bbb ee <blasforr@gmail.com> wrote:
> It is just a little confusing for newcomers to guix. If we really want to
> improve something, I think that could be to give a more rigorous
> specification of the guix command:
I agree that the manual does not speak about the concept of
’hidden-package’, if I read correctly. A note would be welcome, IMHO.
However, the commit you are referring is from 2020:
c81457a5883ea43950eb2ecdcbb58a5b144bcd11
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri May 8 16:34:58 2020 +0200
Commit: Ludovic Courtès <ludo@gnu.org>
CommitDate: Fri May 8 16:34:58 2020 +0200
gnu: gcc-toolchain: Add 10.1.0.
* gnu/packages/commencement.scm (gcc-toolchain-10): New variable.
1 file changed, 3 insertions(+)
gnu/packages/commencement.scm | 3 +++
and many things have been improved since. ;-)
For instance, using 00ff6f7 (from ~Oct 2022), it reads,
--8<---------------cut here---------------start------------->8---
$ guix search gcc | recsel -p name,version | head -30
name: gcc
version: 12.2.0
name: gcc
version: 11.3.0
name: gcc
version: 10.3.0
name: gcc
version: 9.5.0
name: gcc
version: 8.5.0
name: gcc
version: 7.5.0
name: gcc
version: 2.95.3
name: gcc-toolchain
version: 12.2.0
name: gcc-toolchain
version: 11.3.0
name: gcc-toolchain
version: 10.3.0
--8<---------------cut here---------------end--------------->8---
Wait, contrary to what I said, the packages are not hidden when they
should be! For example, gcc@4m @5 and @6 are not displayed but @7 is.
--8<---------------cut here---------------start------------->8---
$ guix show gcc@6
guix show: error: gcc@6: package not found
$ guix show gcc@7
name: gcc
version: 7.5.0
outputs:
+ lib: shared libraries
+ debug: debug information
+ out: everything else
systems: x86_64-linux i686-linux
dependencies: gmp@6.2.1 isl@0.23 libelf@0.8.13 libstdc++-headers@10.3.0 mpc@1.2.1 mpfr@4.1.0 perl@5.34.0 texinfo@6.7 zlib@1.2.11
location: gnu/packages/gcc.scm:601:2
homepage: https://gcc.gnu.org/
license: GPL 3+
synopsis: GNU Compiler Collection
description: GCC is the GNU Compiler Collection. It provides compiler front-ends for several languages, including C, C++, Objective-C, Fortran, Ada, and
+ Go. It also includes runtime support libraries for these languages.
--8<---------------cut here---------------end--------------->8---
It is because the ’properties’ field of gcc@7 is rewritten,
--8<---------------cut here---------------start------------->8---
(define-public gcc-7
(package
(inherit gcc-6)
(version "7.5.0")
[...]
(properties
`((compiler-cpu-architectures
("aarch64" ,@%gcc-7.5-aarch64-micro-architectures)
("armhf" ,@%gcc-7.5-armhf-micro-architectures)
("x86_64" ,@%gcc-7.5-x86_64-micro-architectures))))))
--8<---------------cut here---------------end--------------->8---
and thus, it looses ’hidden’, as shown here:
--8<---------------cut here---------------start------------->8---
$ guix repl
GNU Guile 3.0.8
Copyright (C) 1995-2021 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guix-user)> ,use(gnu packages gcc)
scheme@(guix-user)> (package-properties gcc-6)
$1 = ((hidden? . #t) (gcc-libc . #f))
scheme@(guix-user)> (package-properties gcc-7)
$2 = ((compiler-cpu-architectures ("aarch64" "armv8-a" "armv8.1-a" "armv8.2-a" "armv8.3-a") ("armhf" "armv7" "armv7-a" "armv7-m" "armv7-r" "armv7e-m" "armv7ve" "armv8-a" "armv8-a+crc" "armv8.1-a" "armv8.1-a+crc" "armv8-m.base" "armv8-m.main" "armv8-m.main+dsp" "iwmmxt" "iwmmxt2") ("x86_64" "core2" "nehalem" "westmere" "sandybridge" "ivybridge" "haswell" "broadwell" "skylake" "bonnell" "silvermont" "knl" "skylake-avx512" "k8" "k8-sse3" "barcelona" "bdver1" "bdver2" "bdver3" "bdver4" "znver1" "btver1" "btver2" "geode")))
scheme@(guix-user)>
--8<---------------cut here---------------end--------------->8---
Thanks, there is indeed a bug. ;-)
Back to the initial report, what could be improved is the display of the
field ’dependencies’; distinguishing regular packages to hidden ones.
And maybe instead of a plain error “package not found”, the command
“guix show” could error which “non installable package” or something
like that.
Cheers,
simon
^ permalink raw reply [flat|nested] 9+ messages in thread
* bug#59278: gcc@7 and higher are not hidden packages
2022-11-14 23:53 bug#59278: how gcc-toolchain can depends a package who doesn't exists? bbb ee
` (2 preceding siblings ...)
2022-11-15 10:30 ` bug#59278: bbb ee
@ 2023-05-15 17:55 ` zimoun
3 siblings, 0 replies; 9+ messages in thread
From: zimoun @ 2023-05-15 17:55 UTC (permalink / raw)
To: bbb ee; +Cc: 59278
Hi,
On Tue, 15 Nov 2022 at 00:53, bbb ee <blasforr@gmail.com> wrote:
> in version c81457a5883ea43950eb2ecdcbb58a5b144bcd11 of guix, gcc-toolchain depends gcc:
> ```
> $ DEFAULT_CHANNELS=/tmp/default_channels.scm
> $ echo "%default-channels" > $DEFAULT_CHANNELS
> # I force guix to use only %default-channels here
> $ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C $DEFAULT_CHANNELS -- search gcc-toolchain
> guile: warning: failed to install locale
> name: gcc-toolchain
> version: 9.3.0
> outputs: out debug static
> systems: x86_64-linux i686-linux
> dependencies: binutils@2.32 gcc@9.3.0 glibc@2.29 ld-wrapper@0
> ```
>
> However, I can't find gcc package in this version of guix
> ```
> $ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C $DEFAULT_CHANNELS -- search gcc
> # no found gcc
>
> # guix install failure message confirm that gcc doesn't exist in commit c81457
> $ guix time-machine --commit=c81457a5883ea43950eb2ecdcbb58a5b144bcd11 -C $DEFAULT_CHANNELS -- install gcc -p
> ~/opt/python-dev_3_7
> guile: warning: failed to install locale
> guix install: error: gcc: unknown package
> ```
>
> in commit c81457, how gcc-toolchain can depends a package who doesn't exists?
Aside a minor point about documenting ’hidden-packages’ although
’hidden?’ is mentioned in section “9.3 Defining Package Variants“ [1],
the main issue is fixed by e1bf3c6b5a06b6dbbe4f5a8692ea638a0ce43511.
Moreover, please note the section “8.4 The GCC toolchain” [2] in the
manual explaining the confusion.
Closing?
1: https://guix.gnu.org/manual/devel/en/guix.html#Defining-Package-Variants
2: https://guix.gnu.org/manual/devel/en/guix.html#The-GCC-toolchain
Cheers,
simon
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-05-15 17:59 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-14 23:53 bug#59278: how gcc-toolchain can depends a package who doesn't exists? bbb ee
2022-11-15 6:26 ` Julien Lepiller
2022-11-15 10:29 ` bbb ee
2022-11-15 8:42 ` zimoun
2022-11-15 21:42 ` bbb ee
2022-11-16 8:53 ` zimoun
2022-11-15 22:04 ` bbb ee
2022-11-15 10:30 ` bug#59278: bbb ee
2023-05-15 17:55 ` bug#59278: gcc@7 and higher are not hidden packages zimoun
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).