nodejs 0.6.19 crashing with undefined symbol

I’m seeing this same behavior on two different OpenSuse 12.2 x86_64 systems. Nodejs fails with undefined symbol, and I’m not able to get much more info with nodejs-devel and the debug packages gdb wanted installed. Is anyone else seeing the same? Any ideas?

susebox:~ # zypper install nodejs
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW packages are going to be installed:
  libv8-3 nodejs

2 new packages to install.
Overall download size: 2.7 MiB. After the operation, additional 11.5 MiB will be used.
Continue? [y/n/?] (y): y
Retrieving package libv8-3-3.16.4.0-1.12.1.x86_64                                                                 (1/2),   1.8 MiB (  7.7 MiB unpacked)
Retrieving: libv8-3-3.16.4.0-1.12.1.x86_64.rpm ..................................................................................................[done]
Retrieving package nodejs-0.6.19-1.1.2.x86_64                                                                     (2/2), 992.8 KiB (  3.8 MiB unpacked)
Retrieving: nodejs-0.6.19-1.1.2.x86_64.rpm ......................................................................................................[done]
Installing: libv8-3-3.16.4.0-1.12.1 .............................................................................................................[done]
Installing: nodejs-0.6.19-1.1.2 .................................................................................................................[done]

susebox:~ # npm
node: symbol lookup error: node: undefined symbol: _ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE
susebox:~ # node
node: symbol lookup error: node: undefined symbol: _ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE

susebox:~ # rpm -qi nodejs
Name        : nodejs
Version     : 0.6.19
Release     : 1.1.2
Architecture: x86_64
Install Date: Wed Feb  6 12:49:05 2013
Group       : Development/Languages/Other
Size        : 3993730
License     : MIT
Signature   : RSA/SHA256, Mon Jul 16 13:25:19 2012, Key ID b88b2fd43dbdc284
Source RPM  : nodejs-0.6.19-1.1.2.src.rpm
Build Date  : Mon Jul 16 13:24:42 2012
Build Host  : build21
Relocations : (not relocatable)
Packager    : http://bugs.opensuse.org
Vendor      : openSUSE
URL         : http://www.nodejs.org
Summary     : Evented I/O for V8 JavaScript
Description :
Provides an easy way to build scalable network programs
http://nodejs.org
Distribution: openSUSE 12.2

susebox:~ # rpm -qa | grep node
nodejs-debuginfo-0.6.19-1.1.2.x86_64
nodejs-0.6.19-1.1.2.x86_64

susebox:~ # gdb --quiet node
(gdb) run
Starting program: /usr/bin/node
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff7ff9700 (LWP 8143)]
/usr/bin/node: symbol lookup error: /usr/bin/node: undefined symbol: _ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE
[Thread 0x7ffff7ff9700 (LWP 8143) exited]
[Inferior 1 (process 8140) exited with code 0177]
Missing separate debuginfos, use: zypper install glibc-debuginfo-2.15-22.6.4.x86_64 libgcc47-debuginfo-4.7.1_20120723-1.1.1.x86_64 libopenssl1_0_0-debuginfo-1.0.1c-2.1.3.x86_64 libstdc++47-debuginfo-4.7.1_20120723-1.1.1.x86_64 zlib-debuginfo-1.2.7-2.1.2.x86_64
(gdb) quit

susebox:~ # zypper install glibc-debuginfo-2.15-22.6.4.x86_64 libgcc47-debuginfo-4.7.1_20120723-1.1.1.x86_64 libopenssl1_0_0-debuginfo-1.0.1c-2.1.3.x86_64 libstdc++47-debuginfo-4.7.1_20120723-1.1.1.x86_64 zlib-debuginfo-1.2.7-2.1.2.x86_64

susebox:~ # gdb --quiet node
Reading symbols from /usr/bin/node...Reading symbols from /usr/lib/debug/usr/bin/node.debug...done.
done.
(gdb) run
Starting program: /usr/bin/node
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff7ff9700 (LWP 8194)]
/usr/bin/node: symbol lookup error: /usr/bin/node: undefined symbol: _ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE
[Thread 0x7ffff7fd4740 (LWP 8191) exited]
[Inferior 1 (process 8191) exited with code 0177]


susebox:~ # ldd /usr/bin/node 
        linux-vdso.so.1 (0x00007fff7d561000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fb7a3612000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fb7a340a000)
        libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007fb7a31a2000)
        libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007fb7a2dcf000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fb7a2bcb000)
        libv8.so.3 => /usr/lib64/libv8.so.3 (0x00007fb7a2385000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fb7a207e000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fb7a1d86000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb7a1b70000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb7a1954000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fb7a15af000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb7a3828000)


Just build nodejs from source and it’s all good. So long broken package, rest in peace.

The binaries from this page also work

node.js

The unresolved symbol _ZN2v816FunctionTemplate3NewEPFNS_6HandleINS_5ValueEEERKNS_9ArgumentsEES3_NS1_INS_9SignatureEEE seems to be a v8 function.

So, downgrading libv8-3 from 3.16.4.0-1.12.1 to 3.12.19.1-1.9.1 also works:

zypper in --force libv8-3=3.12.19.1-1.9.1

While that’s an option, any chance somebody could get current node.js
stuff into the repo? I’d be willing to give it a shot if somebody could
grant me access. node.js appears to be on 0.10 so if versions are any
indication, this is pretty old stuff out there still.

Good luck.

you need not wait. head over to obs (https://build.opensuse.org/) and start building packages in your home directory and then you may opt to push the packages into factory from where it will go into the official repos.obs accepts your forum credentials.
https://en.opensuse.org/openSUSE:How_to_contribute_to_Factory
https://en.opensuse.org/openSUSE:Build_Service_Collaboration
https://en.opensuse.org/openSUSE:Documentation_Contribute