GCC package name

  • Done
  • quality assurance status badge
Details
5 participants
  • Ludovic Courtès
  • Malte Gerdes
  • Jeffrey Walton
  • Ricardo Wurmus
  • zimoun
Owner
unassigned
Submitted by
Jeffrey Walton
Severity
normal
J
J
Jeffrey Walton wrote on 10 Sep 2020 07:20
(address . bug-guix@gnu.org)
CAH8yC8kcLJJi-V6ekgzCANV+JjvvrhJbuDf4OR+85NZEueR7hg@mail.gmail.com
Hi Everyone,

It took me about 15 minutes to install GCC on Guix because Guix named
the GCC package libgccjit.

I understand Guix package manager is powerful. I think you should use
an alias feature (or whatever it is called under Guix), and create and
few aliases to help with administration:

gcc -> libgccjit
g++ -> libgccjit
gcc-c++ -> libgccjit

These are the names developers expect for the compiler. They don't
expect a name like libgccjit.

With the aliases in place, a command like 'guix install gcc' works as expected.

Without the aliases (and absent a sane package name), people have to
lookup the documentation and read how to use the package manager for a
simple task like installing the compiler. When 50 or 100 developers
waste 15 minutes of their time, that's about 1 man-week wasted.
There's no reason to waste man-weeks on simple tasks.

Thanks in advance.
M
M
Malte Gerdes wrote on 10 Sep 2020 08:18
(address . noloader@gmail.com)(address . 43303@debbugs.gnu.org)
CAMVpQiVF28N6FGmcwohiK_uY-4BoUs1iQJerUDJugO7GL+FsoA@mail.gmail.com
Hi,

the GCC package itself isn't to useful. I think you are looking for the
gcc-toolchain package which installs GCC, binutils and libc.

Malte

On Thu, 10 Sep 2020, 07:22 Jeffrey Walton, <noloader@gmail.com> wrote:

Toggle quote (30 lines)
> Hi Everyone,
>
> It took me about 15 minutes to install GCC on Guix because Guix named
> the GCC package libgccjit.
>
> I understand Guix package manager is powerful. I think you should use
> an alias feature (or whatever it is called under Guix), and create and
> few aliases to help with administration:
>
> gcc -> libgccjit
> g++ -> libgccjit
> gcc-c++ -> libgccjit
>
> These are the names developers expect for the compiler. They don't
> expect a name like libgccjit.
>
> With the aliases in place, a command like 'guix install gcc' works as
> expected.
>
> Without the aliases (and absent a sane package name), people have to
> lookup the documentation and read how to use the package manager for a
> simple task like installing the compiler. When 50 or 100 developers
> waste 15 minutes of their time, that's about 1 man-week wasted.
> There's no reason to waste man-weeks on simple tasks.
>
> Thanks in advance.
>
>
>
>
Attachment: file
Z
Z
zimoun wrote on 10 Sep 2020 10:34
(address . noloader@gmail.com)(address . 43303@debbugs.gnu.org)
CAJ3okZ2OUYzhnj-1-2ntV29vQ4qRRW=NVf0SmDPPDDjDszHynA@mail.gmail.com
Dear,

Thank you for the feedback.

On Thu, 10 Sep 2020 at 07:22, Jeffrey Walton <noloader@gmail.com> wrote:

Toggle quote (3 lines)
> It took me about 15 minutes to install GCC on Guix because Guix named
> the GCC package libgccjit.

It is a common "mistake" and there is an entry in the manual about that:


Moreover, I am not sure what you want is 'libgccjit' but 'gcc-toolchain'.


Toggle quote (3 lines)
> These are the names developers expect for the compiler. They don't
> expect a name like libgccjit.

However, you are right. Something is wrong with "guix search", for example:

Toggle snippet (14 lines)
guix search gcc | recsel -p name,relevance | head -11
name: libgccjit
relevance: 11

name: gccmakedep
relevance: 11

name: gccgo
relevance: 11

name: gcc-toolchain
relevance: 11

It is unfortunate and the synopsis of 'libgccjit' should be more
descriptive than "GNU Compiler Collection".


Toggle quote (2 lines)
> With the aliases in place, a command like 'guix install gcc' works as expected.

As said above, the right command is "guix install gcc-toolchain".

Toggle quote (6 lines)
> Without the aliases (and absent a sane package name), people have to
> lookup the documentation and read how to use the package manager for a
> simple task like installing the compiler. When 50 or 100 developers
> waste 15 minutes of their time, that's about 1 man-week wasted.
> There's no reason to waste man-weeks on simple tasks.

I understand the frustration. What could be improved in the manual?

How did you process after

$ guix install gcc
guix install: error: gcc: unknown package

? Which terms did you use with "guix search"?


All the best,
simon
L
L
Ludovic Courtès wrote on 10 Sep 2020 12:33
(name . Jeffrey Walton)(address . noloader@gmail.com)(address . 43303@debbugs.gnu.org)
87a6xxhqfq.fsf@gnu.org
Hi Jeffrey,

Jeffrey Walton <noloader@gmail.com> skribis:

Toggle quote (3 lines)
> It took me about 15 minutes to install GCC on Guix because Guix named
> the GCC package libgccjit.

I’m sorry to hear it caused you so much trouble and actually led you to
install the “wrong” package.

Toggle quote (2 lines)
> With the aliases in place, a command like 'guix install gcc' works as expected.

L
L
Ludovic Courtès wrote on 10 Sep 2020 12:33
control message for bug #43303
(address . control@debbugs.gnu.org)
878sdhhqff.fsf@gnu.org
tags 43303 fixed
close 43303
quit
Z
Z
zimoun wrote on 10 Sep 2020 13:16
Re: bug#43303: GCC package name
(name . Ludovic Courtès)(address . ludo@gnu.org)
CAJ3okZ3o2XJuOsL+ohgkf9UQtdTXPxA19b0rRM4=tB4zOygQUg@mail.gmail.com
Hi Ludo,

On Thu, 10 Sep 2020 at 12:41, Ludovic Courtès <ludo@gnu.org> wrote:

Toggle quote (6 lines)
> > With the aliases in place, a command like 'guix install gcc' works as expected.
>
> I’ve now added such an alias:
>
> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=f17e1802ec325e5cc86d4908f05ac69aafdf39da

Nice use of deprecated-package. :-)

About discoverability (guix search gcc) there is still 2 issues:

1. libgccjit inherits from gcc-9 but the synopsis/description is not updated.
2. gccgo uses custom-gcc and so reuse the same synopsis/description.

The #1 is easy to fix -- I can send a patch which precises the
synopsis/description of libgccjit.

What is the best for #2? Add 2 optional arguments to 'custom-gcc'
(synopsis and description)? Other?


Last, it is unfortunate that the package gccmakedep has the exact same
number of occurence of the term 'gcc' but it is not an issue.

Cheers,
simon
J
J
Jeffrey Walton wrote on 10 Sep 2020 13:22
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 43303@debbugs.gnu.org)
CAH8yC8=DW18JXO-=3TxAgtFmRUXNxHjRdc41hg_9QuczhpO6SA@mail.gmail.com
On Thu, Sep 10, 2020 at 6:33 AM Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (11 lines)
>
> Hi Jeffrey,
>
> Jeffrey Walton <noloader@gmail.com> skribis:
>
> > It took me about 15 minutes to install GCC on Guix because Guix named
> > the GCC package libgccjit.
>
> I’m sorry to hear it caused you so much trouble and actually led you to
> install the “wrong” package.

Lol... Yeah, I found out libgccjit was not right either.

Toggle quote (6 lines)
> > With the aliases in place, a command like 'guix install gcc' works as expected.
>
> I’ve now added such an alias:
>
> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=f17e1802ec325e5cc86d4908f05ac69aafdf39da

Perfect, thanks.

Toggle quote (4 lines)
> I’ll install ‘gcc-toolchain’, which is explained here:
>
> https://guix.gnu.org/manual/en/html_node/Application-Setup.html#The-GCC-toolchain

Thanks.

I was working from
and the search command.

Jeff
R
R
Ricardo Wurmus wrote on 10 Sep 2020 13:32
(name . zimoun)(address . zimon.toutoune@gmail.com)
878sdh6f4x.fsf@elephly.net
zimoun <zimon.toutoune@gmail.com> writes:

Toggle quote (8 lines)
> About discoverability (guix search gcc) there is still 2 issues:
>
> 1. libgccjit inherits from gcc-9 but the synopsis/description is not updated.
> 2. gccgo uses custom-gcc and so reuse the same synopsis/description.
>
> The #1 is easy to fix -- I can send a patch which precises the
> synopsis/description of libgccjit.

Sounds good!

Toggle quote (3 lines)
> What is the best for #2? Add 2 optional arguments to 'custom-gcc'
> (synopsis and description)? Other?

custom-gcc returns a package value, so we can inherit from that and
overwrite the synopsis and description fields.

--
Ricardo
Z
Z
zimoun wrote on 10 Sep 2020 13:43
(name . Ricardo Wurmus)(address . rekado@elephly.net)
CAJ3okZ2XXEPK2imi5F+_2u2hx=XaR+OH7t4cQkq8WNE8W6Lz2w@mail.gmail.com
Hi Ricardo,

On Thu, 10 Sep 2020 at 13:31, Ricardo Wurmus <rekado@elephly.net> wrote:

Toggle quote (6 lines)
> > What is the best for #2? Add 2 optional arguments to 'custom-gcc'
> > (synopsis and description)? Other?
>
> custom-gcc returns a package value, so we can inherit from that and
> overwrite the synopsis and description fields.

Well, custom-gcc is already an inherit. So it seems awkward to inherit twice.
But yes, since it is the only case, it could be the simplest:
gccgo-4.9 would become only 'define' and a new 'gccgo' would be
inherit from gccgo-4.9 and would be define-public.

Cheers,
simon
R
R
Ricardo Wurmus wrote on 10 Sep 2020 15:22
(name . zimoun)(address . zimon.toutoune@gmail.com)
87r1r94vgv.fsf@elephly.net
zimoun <zimon.toutoune@gmail.com> writes:

Toggle quote (11 lines)
> On Thu, 10 Sep 2020 at 13:31, Ricardo Wurmus <rekado@elephly.net> wrote:
>
>> > What is the best for #2? Add 2 optional arguments to 'custom-gcc'
>> > (synopsis and description)? Other?
>>
>> custom-gcc returns a package value, so we can inherit from that and
>> overwrite the synopsis and description fields.
>
> Well, custom-gcc is already an inherit. So it seems awkward to
> inherit twice.

Nobody will ever know when just looking at the final package. :)

--
Ricardo
Z
Z
zimoun wrote on 11 Sep 2020 18:11
(name . Ludovic Courtès)(address . ludo@gnu.org)
CAJ3okZ3LJF5bYpk6958o1A18piioprWf9VOirGJxZuxP8WX4PA@mail.gmail.com
Dear,

On Thu, 10 Sep 2020 at 13:16, zimoun <zimon.toutoune@gmail.com> wrote:

Toggle quote (5 lines)
> About discoverability (guix search gcc) there is still 2 issues:
>
> 1. libgccjit inherits from gcc-9 but the synopsis/description is not updated.
> 2. gccgo uses custom-gcc and so reuse the same synopsis/description.

[...]

Toggle quote (3 lines)
> Last, it is unfortunate that the package gccmakedep has the exact same
> number of occurence of the term 'gcc' but it is not an issue.

The patches #43342 http://issues.guix.gnu.org/issue/43342 tries to
fix these 3 items.


All the best,
simon
?