Re: v0.8.* make failed under Linux x64

1,708 views
Skip to first unread message

mscdex

unread,
Jul 11, 2012, 3:15:33 AM7/11/12
to nodejs
On Jul 10, 11:30 pm, Mindon Feng <min...@gmail.com> wrote:
> v0.6.19 make & install OK, but not v0.8

What commands did you issue when attempting to build?

It should just be a matter of: ./configure && make

You may want to perform a `make distclean` first to make sure you have
all intermediate files out of the way that might be causing problems.

Michael Smith

unread,
Jul 11, 2012, 4:33:26 PM7/11/12
to nod...@googlegroups.com
I also had the same problem with 0.7.12. Commands and output are below.

~/node-v0.7.12 # ./configure
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'host_arch': 'ia32',
                 'node_install_npm': 'true',
                 'node_install_waf': 'true',
                 'node_prefix': '',
                 'node_shared_v8': 'false',
                 'node_shared_zlib': 'false',
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_openssl': 'true',
                 'node_use_system_openssl': 'false',
                 'strict_aliasing': 'true',
                 'target_arch': 'ia32',
                 'v8_use_snapshot': 'true'}}
creating  ./config.gypi
creating  ./config.mk
~/node-v0.7.12 # make
make -C out BUILDTYPE=Release
make[1]: Entering directory `/root/node-v0.7.12/out'
make[1]: *** No rule to make target `/root/node-v0.7.12/out/Release/obj.target/v8_base/gen/debug-support.o', needed by `/root/node-v0.7.12/out/Release/obj.target/deps/v8/tools/gyp/libv8_base.a'.  Stop.
make[1]: Leaving directory `/root/node-v0.7.12/out'
make: *** [node] Error 2

Ben Noordhuis

unread,
Jul 11, 2012, 4:41:11 PM7/11/12
to nod...@googlegroups.com
On Wed, Jul 11, 2012 at 10:05 PM, Michael Smith <max...@gmail.com> wrote:
> Hi there!
>
> So, I'm not Mindon Feng, but I'm running into the same problem. I'm running
> an antiquated version of SLES with python 2.7.3 compiled from gzipped
> tarball. Below is the results of my running make distclean followed by
> ./configure && make.
>
> ~/node-v0.8.2 # make distclean
> rm -rf out
> rm -f config.gypi
> rm -f config.mk
> rm -rf node node_g blog.html email.md
> rm -rf node_modules
>
> ~/node-v0.8.2 # ./configure && make
> { 'target_defaults': { 'cflags': [],
> 'default_configuration': 'Release',
> 'defines': [],
> 'include_dirs': [],
> 'libraries': []},
> 'variables': { 'host_arch': 'ia32',
> 'node_install_npm': 'true',
> 'node_install_waf': 'true',
> 'node_no_strict_aliasing': 1,
> 'node_prefix': '',
> 'node_shared_openssl': 'false',
> 'node_shared_v8': 'false',
> 'node_shared_zlib': 'false',
> 'node_use_dtrace': 'false',
> 'node_use_etw': 'false',
> 'node_use_openssl': 'true',
> 'target_arch': 'ia32',
> 'v8_no_strict_aliasing': 1,
> 'v8_use_snapshot': 'true'}}
> creating ./config.gypi
> creating ./config.mk
> make -C out BUILDTYPE=Release
> make[1]: Entering directory `/root/node-v0.8.2/out'
> make[1]: *** No rule to make target
> `/root/node-v0.8.2/out/Release/obj.target/v8_base/gen/debug-support.o',
> needed by
> `/root/node-v0.8.2/out/Release/obj.target/deps/v8/tools/gyp/libv8_base.a'.
> Stop.
> make[1]: Leaving directory `/root/node-v0.8.2/out'
> make: *** [node] Error 2
>
> Thoughts?

That's the whole output? What happens when you edit common.gypi and
set v8_postmortem_support to false?

Michael Smith

unread,
Jul 11, 2012, 5:08:02 PM7/11/12
to nod...@googlegroups.com
Hello again!


On Wednesday, July 11, 2012 1:41:11 PM UTC-7, Ben Noordhuis wrote:


That's the whole output? What happens when you edit common.gypi and
set v8_postmortem_support to false?

So I did as you asked and got a somewhat different error. Now it seems to be missing snapshot.cc. (note: this is still 0.8.2)

./configure && make
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'host_arch': 'ia32',
                 'node_install_npm': 'true',
                 'node_install_waf': 'true',
                 'node_no_strict_aliasing': 1,
                 'node_prefix': '',
                 'node_shared_openssl': 'false',
                 'node_shared_v8': 'false',
                 'node_shared_zlib': 'false',
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_openssl': 'true',
                 'target_arch': 'ia32',
                 'v8_no_strict_aliasing': 1,
                 'v8_use_snapshot': 'true'}}
creating  ./config.gypi
creating  ./config.mk
make -C out BUILDTYPE=Release
make[1]: Entering directory `/root/node-v0.8.2/out'
g++    -c -o /root/node-v0.8.2/out/Release/obj.target/v8_snapshot/geni/snapshot.o /root/node-v0.8.2/out/Release/obj.target/v8_snapshot/geni/snapshot.cc
g++: /root/node-v0.8.2/out/Release/obj.target/v8_snapshot/geni/snapshot.cc: No such file or directory
g++: no input files
make[1]: *** [/root/node-v0.8.2/out/Release/obj.target/v8_snapshot/geni/snapshot.o] Error 1

Ben Noordhuis

unread,
Jul 11, 2012, 5:48:05 PM7/11/12
to nod...@googlegroups.com
It seems the overarching theme with your machine is that generating
code or post-processing object files somehow doesn't work (both
debug-support.o and snapshot.o are the result of actions that do
that).

What happens when you run configure with --without-snapshots?

Michael Smith

unread,
Jul 11, 2012, 6:46:45 PM7/11/12
to nod...@googlegroups.com
On Wednesday, July 11, 2012 2:48:05 PM UTC-7, Ben Noordhuis wrote:


It seems the overarching theme with your machine is that generating
code or post-processing object files somehow doesn't work (both
debug-support.o and snapshot.o are the result of actions that do
that).

What happens when you run configure with --without-snapshots?

Interesting. So, data point followed by dumb question: I'm able to compile 0.6.20 from source without problems. Is this consistent with the above hypothesis?

Trying --without-snapshot I get the following, which appears to work, but only trivially (nothing is compiled):

# ./configure --without-snapshot
{ 'target_defaults': { 'cflags': [],
                       'default_configuration': 'Release',
                       'defines': [],
                       'include_dirs': [],
                       'libraries': []},
  'variables': { 'host_arch': 'ia32',
                 'node_install_npm': 'true',
                 'node_install_waf': 'true',
                 'node_no_strict_aliasing': 1,
                 'node_prefix': '',
                 'node_shared_openssl': 'false',
                 'node_shared_v8': 'false',
                 'node_shared_zlib': 'false',
                 'node_use_dtrace': 'false',
                 'node_use_etw': 'false',
                 'node_use_openssl': 'true',
                 'target_arch': 'ia32',
                 'v8_no_strict_aliasing': 1,
                 'v8_use_snapshot': 'false'}}
creating  ./config.gypi
creating  ./config.mk
LDDORCFSL02:~/node-v0.8.2 # make
make -C out BUILDTYPE=Release
make[1]: Entering directory `/root/node-v0.8.2/out'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/root/node-v0.8.2/out'
ln -fs out/Release/node node

(note that "node" is a link to a file that doesn't exist.)

Thanks again,
Mike

Ben Noordhuis

unread,
Jul 11, 2012, 7:17:26 PM7/11/12
to nod...@googlegroups.com
On Thu, Jul 12, 2012 at 12:46 AM, Michael Smith <max...@gmail.com> wrote:
> On Wednesday, July 11, 2012 2:48:05 PM UTC-7, Ben Noordhuis wrote:
>>
>> It seems the overarching theme with your machine is that generating
>> code or post-processing object files somehow doesn't work (both
>> debug-support.o and snapshot.o are the result of actions that do
>> that).
>>
>> What happens when you run configure with --without-snapshots?
>
>
> Interesting. So, data point followed by dumb question: I'm able to compile
> 0.6.20 from source without problems. Is this consistent with the above
> hypothesis?

Yes. The v0.6 releases use a different build system.
Mike, can you post the output of `make -v`? What happens when you
compile with `make BUILDTYPE=Debug`?

rhasson

unread,
Jul 12, 2012, 8:31:00 AM7/12/12
to nod...@googlegroups.com
did you run "make clean" before trying with --without-snapshots ?

I had a build problem (older g++ version) and it didn't compile v8.1. but compiles v8.2 great with the --without-snapshots flag.

Ben Noordhuis

unread,
Jul 17, 2012, 6:45:41 PM7/17/12
to nod...@googlegroups.com
On Wed, Jul 18, 2012 at 12:24 AM, Denis <gluc...@gmail.com> wrote:
> Hi Ben,
>
> I have the same issue - it builds on newer linux, but fails on the older
> one. Here is the info:
>
> This fails:
>
> make -v:
> GNU Make 3.80
>
> g++ -v
> gcc version 3.4.6 20060404 (Red Hat 3.4.6-11)
>
>
> This works:
>
> GNU Make 3.81
> gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)

You need at least make 3.81. I'll update the installation prerequisites.

gcc 3.4.x should technically work but I can't really guarantee it. I
made an effort to support it until recently(ish) because it's what old
Solaris systems ship with.

There was however no one but me actually using Solaris boxes that old,
so I dropped it. :-) Realistically speaking, you need at least gcc
4.2.0.
Message has been deleted

Zachary Fogg

unread,
Jul 17, 2012, 11:42:39 PM7/17/12
to nod...@googlegroups.com

Hi, I posted a few replies back about the same problem.

I can confirm that installing Make 3.82 and using that resolved my issue. I can now compile and install Node.js v0.8.2 just fine.

Well, I could, but for some reason my CentOS install doesn't have a recent linux-utils package, so I don't have flock. Other than make complaining about that, it should compile a can't be 100% sure till I get flock on here somehow.


--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Peter Tribble

unread,
Jul 18, 2012, 4:11:53 AM7/18/12
to nod...@googlegroups.com
On Tue, Jul 17, 2012 at 11:45 PM, Ben Noordhuis <in...@bnoordhuis.nl> wrote:

> You need at least make 3.81. I'll update the installation prerequisites.
>
> gcc 3.4.x should technically work but I can't really guarantee it. I
> made an effort to support it until recently(ish) because it's what old
> Solaris systems ship with.
>
> There was however no one but me actually using Solaris boxes that old,
> so I dropped it. :-) Realistically speaking, you need at least gcc
> 4.2.0.

There are other people out there using Node on Solaris 10. I built
the 0.4 series with the old bundled gcc, but starting with 0.6 I use a
newer gcc (4.6.x) because that's so much easier.

For anyone else who wants prebuilt Solaris 10 packages for Node.js
(x86 only, not sparc) mine are available from here:

http://www.petertribble.co.uk/Solaris/node.html

--
-Peter Tribble
http://www.petertribble.co.uk/ - http://ptribble.blogspot.com/

Mindon Feng

unread,
Jul 18, 2012, 4:59:58 AM7/18/12
to nod...@googlegroups.com
Thanks Ben.

1. GNU make 3.8.1+
2. Python 2.6 or 2.7
3. setenv FLOCK or export FLOCK
    setenv LINK g++ or export LINK=g++

Then the "make" works.

Oleg Sadov

unread,
Jul 19, 2012, 4:53:28 AM7/19/12
to nod...@googlegroups.com
You may try to use our package for Scientific Linux 6x -- it must be
binary compatible with CentOS 6x:

http://downloads.naulinux.ru/pub/NauLinux/6rolling/testing/x86_64/nodejs/
http://downloads.naulinux.ru/pub/NauLinux/6rolling/testing/SRPMS/nodejs/

2012/7/18 Zachary Fogg <zach...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages