Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 540106 - net-libs/nodejs-0.12.0 - ../src/node_constants.cc:36:25: fatal error: openssl/ec.h: No such file or directory
Summary: net-libs/nodejs-0.12.0 - ../src/node_constants.cc:36:25: fatal error: openssl...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM Linux
: Normal normal (vote)
Assignee: Johan Bergström
URL:
Whiteboard:
Keywords:
: 518760 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-02-15 02:57 UTC by brian
Modified: 2015-05-14 03:45 UTC (History)
3 users (show)

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


Attachments
build.log (build.log,342.71 KB, text/plain)
2015-02-15 02:57 UTC, brian
Details
build.log (after rebuilding dev-libs/openssl) (build.log,340.47 KB, text/plain)
2015-02-15 15:50 UTC, brian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description brian 2015-02-15 02:57:41 UTC
Created attachment 396486 [details]
build.log

I am really new to Gentoo, so just following the error's instructions from emerge.  I am compiling on the Raspberry Pi 2 using the Arm arch.

Error Message:
In file included from ../src/node.cc:35:0:
../src/node_crypto.h:42:24: fatal error: openssl/ec.h: No such file or directory
 #include <openssl/ec.h>
                        ^
compilation terminated.
node.target.mk:132: recipe for target '/var/tmp/portage/net-libs/nodejs-0.12.0/work/node-v0.12.0/out/Release/obj.target/node/src/node.o' failed


 # emerge --info '=net-libs/nodejs-0.12.0::gentoo'

Portage 2.2.14 (python 2.7.9-final-0, default/linux/arm/13.0/armv7a, gcc-4.8.3, glibc-2.19-r1, 3.18.7-v7+ armv7l)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.18.7-v7+-armv7l-with-gentoo-2.2
KiB Mem:      949328 total,    636100 free
KiB Swap:     262140 total,    261668 free
Timestamp of tree: Fri, 13 Feb 2015 21:00:02 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.2_p53
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.9-r1, 3.3.5-r1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.9
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.4
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo
ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv7a-hardfloat-linux-gnueabi"
CFLAGS="-O2 -pipe -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard"
CHOST="armv7a-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
USE="acl arm armv5te armv6 armv6t2 berkdb bindist bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 libav modules ncurses nls nptl openmp pam pcre readline session ssl tcpd unicode zlib" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap omapfb dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON

 # emerge -pqv '=net-libs/nodejs-0.12.0::gentoo'

[ebuild  N    ] net-libs/nodejs-0.12.0  USE="npm"


I will attach the build log.  Thanks again, I know support is community driven.  Any help is greatly appreciated.
Comment 1 Patrick Lauer gentoo-dev 2015-02-15 03:05:20 UTC
+  15 Feb 2015; Patrick Lauer <patrick@gentoo.org> nodejs-0.12.0.ebuild:
+  Force openssl sanity #540106


Stupid USE="bindist" in stage3 screwing things up again ...
Comment 2 brian 2015-02-15 06:01:36 UTC
Hi thanks for looking at this problem.  I have emerge --sync and tried again with the exact same error.  Maybe it is something else?  emerge had me add these package.use items:

 # cat /etc/portage/package.use
# required by net-libs/nodejs-0.12.0
# required by nodejs (argument)
=dev-libs/openssl-1.0.1k -bindist
=net-misc/openssh-6.7 -bindist
# required by net-libs/nodejs-0.12.0
# required by nodejs (argument)
=dev-libs/openssl-1.0.1j -bindist
# required by net-libs/nodejs-0.12.0
# required by nodejs (argument)
=dev-libs/openssl-0.9.8z_p4 -bindist


Then I tried to compile and the result is the exact same error.  Maybe something else is wrong?  It complains of a missing file.

Error Message:
In file included from ../src/node.cc:35:0:
../src/node_crypto.h:42:24: fatal error: openssl/ec.h: No such file or directory
 #include <openssl/ec.h>

Thanks Again
Comment 3 Johan Bergström 2015-02-15 06:35:32 UTC
This is a pretty "well known" issue in gentoo for people building openssl with bindist. Patrick has commited a fix which requires openssl to be recompiled. Recompile openssl followed by nodejs. Closing.
Comment 4 brian 2015-02-15 15:50:59 UTC
Created attachment 396514 [details]
build.log (after rebuilding dev-libs/openssl)
Comment 5 brian 2015-02-15 15:56:31 UTC
Thanks again for your help.  I have recompiled openssl and tried to emerge nodejs again with the same error.  Maybe I am using the unpatched openssl version?  Here is my info again incase it changed.  I have also uploaded newer build log.

hc ~ # emerge --info '=net-libs/nodejs-0.12.0::gentoo'
Portage 2.2.14 (python 2.7.9-final-0, default/linux/arm/13.0/armv7a, gcc-4.8.3, glibc-2.19-r1, 3.18.7-v7+ armv7l)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.18.7-v7+-armv7l-with-gentoo-2.2
KiB Mem:      949328 total,    495740 free
KiB Swap:     262140 total,    259300 free
Timestamp of tree: Sun, 15 Feb 2015 15:30:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
app-shells/bash:          4.2_p53
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.9-r1, 3.3.5-r1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.9
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.69
sys-devel/automake:       1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.8.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.4
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.16 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo
ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv7a-hardfloat-linux-gnueabi"
CFLAGS="-O2 -pipe -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard"
CHOST="armv7a-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
USE="acl arm armv5te armv6 armv6t2 armvfp berkdb bindist bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 libav modules ncurses nls nptl openmp pam pcre readline session ssl tcpd unicode zlib" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap omapfb dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON

hc ~ # emerge -pqv '=net-libs/nodejs-0.12.0::gentoo'
[ebuild  N    ] net-libs/nodejs-0.12.0  USE="npm"
Comment 6 brian 2015-02-15 17:49:34 UTC
I just tried emerge with the -uD nodejs and I get this skip message:

hc ~ # emerge -uD nodejs
Calculating dependencies... done!
[ebuild  N    ~] net-libs/nodejs-0.12.0  USE="npm"

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

dev-libs/openssl:0

  (dev-libs/openssl-1.0.1k:0/0::gentoo, ebuild scheduled for merge) conflicts with
    >=dev-libs/openssl-0.9.6d:0[bindist] required by (net-misc/openssh-6.7_p1:0/0::gentoo, installed)
                                ^^^^^^^


>>> Verifying ebuild manifests

>>> Emerging (1 of 1) net-libs/nodejs-0.12.0::gentoo

Then it compiles and errors.  I have done the emerge openssh as well and it works by itself.

my package.use looks like this:
hc ~ # cat /etc/portage/package.use
# required by net-libs/nodejs-0.12.0
# required by nodejs (argument)
dev-libs/openssl+ -bindist
net-misc/openssh+ -bindist

# required by net-libs/nodejs-0.12.0
# required by nodejs (argument)
=dev-libs/openssl-1.0.1k -bindist
# required by net-libs/nodejs-0.12.0
# required by nodejs (argument)
=dev-libs/openssl-1.0.1j -bindist

I am not sure how to proceed.
Comment 7 Johan Bergström 2015-02-15 21:38:52 UTC
*** Bug 518760 has been marked as a duplicate of this bug. ***
Comment 8 Johan Bergström 2015-02-15 21:58:02 UTC
Argh. This bindist stuff... 

One solution – which would be suboptimal – would be allowing to build against the bundled openssl library. I'm not particularly keen about it. Co-maintainers?
Comment 9 brian 2015-02-15 22:49:40 UTC
I managed to get it to compile by adding -bindist to my global use in make.conf.  I then did emerge -auDN @world where it recompiled the ssh and ssl packages.  Afterwards I was able to compile nodejs with no problems.  

So my make.conf line looks like so:

USE="armvfp -bindist"

Anyway, I would not have known it was related to the bindist flag without your responses, so thanks again!

I don't know if this should be closed or not?  I have what I need working, but not sure if others need that part fixed?  I guess if you use the bindist flag it still a problem.
Comment 10 Johan Bergström 2015-05-11 01:53:32 UTC
Should be fixed with https://github.com/gentoo/gentoo-portage-rsync-mirror/pull/118
Comment 11 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-05-14 03:45:46 UTC
This should be fixed since 0.12.2-r2.