Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 718010 - net-libs/libhubbub calls directly CC
Summary: net-libs/libhubbub calls directly CC
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jaco Kroon
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks: tc-directly 717754
  Show dependency tree
 
Reported: 2020-04-18 08:05 UTC by Agostino Sarubbo
Modified: 2020-05-13 13:17 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,10.79 KB, text/plain)
2020-04-18 08:05 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2020-04-18 08:05:38 UTC
This is an auto-filled bug because net-libs/libhubbub calls directly CC. Attached build log and emerge --info
Comment 1 Agostino Sarubbo gentoo-dev 2020-04-18 08:05:43 UTC
Created attachment 633536 [details]
build.log

build log and emerge --info
Comment 2 Jaco Kroon 2020-04-19 18:25:45 UTC
Hi Agostino,

libhubbub makes use of dev-util/netsurf-buildsystem, the variables passed in to make comes from /usr/share/netsurf-buildsystem/gentoo-helpers.sh

Could you please advise on what exactly your auto-filed system is indicating is wrong here, this is the command that gets executed as a result of netsurf-buildsystem.

make -j6 NSSHARED=/usr/share/netsurf-buildsystem LIBDIR=lib64 PREFIX=/usr Q= CC=x86_64-pc-linux-gnu-gcc LD=x86_64-pc-linux-gnu-ld HOST_CC=$(CC) CCOPT= CCNOOPT= CCDBG= LDDBG= AR=x86_64-pc-linux-gnu-ar WARNFLAGS= COMPONENT_TYPE=lib-shared

netsurf in turn uses tc-getCC to locate the C compiler.

I do note this from the gentoo-helpers.sh file which could potentially be suspect and prevent cross-compiling:


 9         CC="$(tc-getCC)"
10         LD="$(tc-getLD)"
11         HOST_CC="\$(CC)"

16         AR="$(tc-getAR)"

But this would be a bug in netsurf-buildsystem, not libhubbub, so I'm not quite following the issue here.
Comment 3 Agostino Sarubbo gentoo-dev 2020-04-20 06:30:38 UTC
(In reply to Jaco Kroon from comment #2)
> Could you please advise on what exactly your auto-filed system is indicating
> is wrong here, this is the command that gets executed as a result of
> netsurf-buildsystem.

The affected line is:
make: cc: Command not found

So while it states CC="$(tc-getCC)" (that is x86_64-pc-linux-gnu-gcc) it uses cc.
Comment 4 Jaco Kroon 2020-05-03 17:43:55 UTC
Hi Agostino,

Right, so the specific issue is BUILD_CC.

/usr/share/netsurf-buildsystem/makefiles/Makefile.tools

 58 BUILD_CC ?= cc

 74 ifeq ($(BUILD),)
 75   BUILD := $(shell $(BUILD_CC) -dumpmachine)
 76   ifeq ($(BUILD),)
 77     $(error "Failed to guess BUILD")
 78   endif
 79 endif

Would this then not be a bug in /usr/share/netsurf-buildsystem/gentoo-helpers.sh which doesn't properly set BUILD_CC?

dev-util/netsurf-buildsystem-1.8

Unfortunately it seems this package is maintainer-needed.  A quick search shows quite a few users of this build system:

dev-libs/libcss
dev-libs/libnsfb
dev-libs/libnsutils
dev-libs/libparserutils
dev-libs/libutf8proc
dev-libs/libwapcaplet
dev-libs/nsgenbind
media-libs/libnsbmp
media-libs/libnsgif
media-libs/libnspsl
media-libs/librosprite
media-libs/libsvgtiny
net-libs/libdom
net-libs/libhubbub
www-client/netsurf

I don't mind doing a once-off PR on netsurf-buildsystem but don't have capacity to take on more packages still.  My question is what needs to be set to what?  I note there is HOST_CC="\$(CC)" already (Although I don't see this used in the actual build system).

Looks like we need to add BUILD_CC="$(tc-getBUILD_CC)" to the gentoo-helpers.sh script?

Possibly a few others for CPP?  BUILD_CXX and CXX being visible in the build system.

Adding philipp.ammann@posteo.de as he was the last person to bump netsurf-buildsystem.  If you have opinions on this please.
Comment 5 Jaco Kroon 2020-05-04 06:37:15 UTC
In order to test the PR I removed the /usr/bin/cc symlink from my system and then proceeded the build libhubbub after installing the new updated variant of netsurf-buildsystem.
Comment 6 Philipp Ammann 2020-05-04 10:15:14 UTC
(In reply to Jaco Kroon from comment #4)
> Unfortunately it seems this package is maintainer-needed.  A quick search
> shows quite a few users of this build system:
> 
> dev-libs/libcss
> dev-libs/libnsfb
> dev-libs/libnsutils
> dev-libs/libparserutils
> dev-libs/libutf8proc
> dev-libs/libwapcaplet
> dev-libs/nsgenbind
> media-libs/libnsbmp
> media-libs/libnsgif
> media-libs/libnspsl
> media-libs/librosprite
> media-libs/libsvgtiny
> net-libs/libdom
> net-libs/libhubbub
> www-client/netsurf

All these packages are dependencies of www-client/netsurf and ...

> I don't mind doing a once-off PR on netsurf-buildsystem but don't have
> capacity to take on more packages still.

... since I'm proxy-maintaining netsurf already, I can do the same for its dependencies.

> My question is what needs to be
> set to what?  I note there is HOST_CC="\$(CC)" already (Although I don't see
> this used in the actual build system).
> 
> Looks like we need to add BUILD_CC="$(tc-getBUILD_CC)" to the
> gentoo-helpers.sh script?

Without having looked at toolchain*.eclass: That sounds like the proper way to do it. No patching required, and it's probably the way upstream intended it to be done. It *should* even work with crossdev (though testing it is gonna be fun...).

> Possibly a few others for CPP?  BUILD_CXX and CXX being visible in the build
> system.

IMO: Just add the C++ variables and be done with it. What do you think?
Comment 7 Jaco Kroon 2020-05-04 10:19:53 UTC
https://github.com/gentoo/gentoo/pull/15629

Already done in the PR @ Adding the C++ variables.  If you don't mind eyeballing that at the very least I'd appreciate.

Basicaly the whole thing is to add:

CXX=$(..)
BUILD_CXX=$(..)
BUILD_CC=$(..)

can't find that there is a HOST_CXX in the system as per HOST_CC.  So I think for the moment the PR should be adequate.
Comment 8 Larry the Git Cow gentoo-dev 2020-05-13 13:17:08 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae58cbc4df32bfc463141f4b8d93012ae86485c6

commit ae58cbc4df32bfc463141f4b8d93012ae86485c6
Author:     Jaco Kroon <jaco@uls.co.za>
AuthorDate: 2020-05-03 17:44:15 +0000
Commit:     Joonas Niilola <juippis@gentoo.org>
CommitDate: 2020-05-13 13:16:46 +0000

    dev-util/netsurf-buildsystem: BUILD_CC, CXX and BUILD_CXX
    
    Closes: https://bugs.gentoo.org/718010
    Package-Manager: Portage-2.3.89, Repoman-2.3.20
    Signed-off-by: Jaco Kroon <jaco@uls.co.za>
    Closes: https://github.com/gentoo/gentoo/pull/15629
    Signed-off-by: Joonas Niilola <juippis@gentoo.org>

 dev-util/netsurf-buildsystem/files/gentoo-helpers-r1.sh                | 3 +++
 ...etsurf-buildsystem-1.8.ebuild => netsurf-buildsystem-1.8-r1.ebuild} | 0
 2 files changed, 3 insertions(+)