Bug 1876179

Summary: v8 headers depend on node headers in non-default search path
Product: [Fedora] Fedora Reporter: Elliott Sales de Andrade <quantum.analyst>
Component: nodejsAssignee: Stephen Gallagher <sgallagh>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: mrunge, nodejs-sig, sgallagh, tchollingsworth, thrcka, zsvetlik
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: nodejs-14-3220200916122851.43bbeeef nodejs-14-3120200916122851.f636be4b nodejs-14.11.0-1.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-26 00:26:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1849118, 1863096    

Description Elliott Sales de Andrade 2020-09-06 05:01:14 UTC
Description of problem:
See this R-V8 build: https://koji.fedoraproject.org/koji/taskinfo?taskID=50848374

Compile setup fails because the v8 headers are in the normal search path 
(/usr/include), but include things from /usr/include/node.

As there are no pkgconfig files or v8-config binaries, there's no way that downstream would notice this automatically.

I can patch R-V8, or request upstream add this to the search path, but that depends on whether you want to change this in the v8 package or not.


Version-Release number of selected component (if applicable):
v8-devel                               x86_64  2:8.4.371.19-1.14.7.0.2.fc34
nodejs-devel                           x86_64  1:14.7.0-2.fc34


Steps to Reproduce:
1. Build R-V8


Actual results:
-----------------------------[ ANTICONF ]-------------------------------
Configuration failed to find the libv8 engine library. Try installing:
 * deb: libv8-dev or libnode-dev (Debian / Ubuntu)
 * rpm: v8-devel (Fedora, EPEL)
 * brew: v8 (OSX)
 * csw: libv8_dev (Solaris)
To use a custom libv8, set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
---------------------------[ ERROR MESSAGE ]----------------------------
In file included from <stdin>:1:
/usr/include/v8.h:28:10: fatal error: cppgc/common.h: No such file or directory
   28 | #include "cppgc/common.h"
      |          ^~~~~~~~~~~~~~~~
compilation terminated.


Expected results:
Compile works.

Comment 1 Stephen Gallagher 2020-09-08 17:26:48 UTC
I'll fix this in the next release of nodejs I make. I looked through the v8 headers and it seems they only pull in content from the `cppgc` path, so I'll just symlink /usr/include/node/cppgc into /usr/include, which will be backwards-compatible.

Comment 2 Elliott Sales de Andrade 2020-09-11 08:56:54 UTC
Looks like the changes you've made in Rawhide are mostly effective [1], except for some kind of configuration error on s390x that I don't understand.

I think a similar change needs to be done on all releases as well, but I ran those builds so long ago that the logs are gone.

[1] https://koji.fedoraproject.org/koji/taskinfo?taskID=51199708

Comment 3 Stephen Gallagher 2020-09-11 14:19:19 UTC
I'll make the same change for 12.x next week, once the announced security release comes out. So I can do it all at once.

Comment 4 Fedora Update System 2020-09-11 20:46:28 UTC
FEDORA-MODULAR-2020-fec38a2518 has been submitted as an update to Fedora 32 Modular. https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2020-fec38a2518

Comment 5 Fedora Update System 2020-09-11 20:46:29 UTC
FEDORA-2020-afc8a4e341 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-afc8a4e341

Comment 6 Fedora Update System 2020-09-12 15:10:33 UTC
FEDORA-2020-afc8a4e341 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-afc8a4e341`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-afc8a4e341

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2020-09-12 17:29:27 UTC
FEDORA-MODULAR-2020-fec38a2518 has been pushed to the Fedora 32 Modular testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2020-fec38a2518

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2020-09-12 17:30:24 UTC
FEDORA-MODULAR-2020-20b3cdbd79 has been pushed to the Fedora 31 Modular testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2020-20b3cdbd79

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Elliott Sales de Andrade 2020-09-13 00:29:09 UTC
OK, the s390x thing was an upstream bug, which I fixed, and now can build against nodejs in Rawhide: https://koji.fedoraproject.org/koji/buildinfo?buildID=1606475

Comment 10 Fedora Update System 2020-09-17 17:56:47 UTC
FEDORA-2020-006c7217c4 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-006c7217c4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-006c7217c4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2020-09-18 16:26:32 UTC
FEDORA-MODULAR-2020-086a60fbe2 has been pushed to the Fedora 31 Modular testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2020-086a60fbe2

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2020-09-18 16:39:41 UTC
FEDORA-MODULAR-2020-a530518d10 has been pushed to the Fedora 32 Modular testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-MODULAR-2020-a530518d10

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2020-09-19 19:51:36 UTC
FEDORA-2020-006c7217c4 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-006c7217c4

Comment 14 Fedora Update System 2020-09-20 14:10:08 UTC
FEDORA-2020-006c7217c4 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-006c7217c4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-006c7217c4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 15 Fedora Update System 2020-09-26 00:26:10 UTC
FEDORA-MODULAR-2020-a530518d10 has been pushed to the Fedora 32 Modular stable repository.
If problem still persists, please make note of it in this bug report.

Comment 16 Fedora Update System 2020-09-26 00:34:04 UTC
FEDORA-MODULAR-2020-086a60fbe2 has been pushed to the Fedora 31 Modular stable repository.
If problem still persists, please make note of it in this bug report.

Comment 17 Fedora Update System 2020-10-02 00:33:45 UTC
FEDORA-2020-006c7217c4 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.