Forum: Ruby on Rails harmony gem issue

1c8a5d8dea6c3e1739f75263687528a2?d=identicon&s=25 saravanan p (Guest)
on 2014-02-24 11:51
(Received via mailing list)
Hello everyone,

saravanan@ubuntu:~$ ruby -v
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]
saravanan@ubuntu:~$ rails -v
Rails 4.0.3
saravanan@ubuntu:~$ rvm -v

rvm 1.24.4 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal
Papis <mpapis@gmail.com> [https://rvm.io/]

*I am trying to install "harmony" gem for data scraping.*

saravanan@ubuntu:~$ gem install harmony
Building native extensions.  This could take a while...
ERROR:  Error installing harmony:
ERROR: Failed to build gem native extension.

    /home/saravanan/.rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb
creating cache ./config.cache
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking build system type... x86_64-unknown-linux-gnu
checking for mawk... mawk
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for c++... c++
checking whether the C++ compiler (c++  ) works... yes
checking whether the C++ compiler (c++  ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether c++ accepts -g... yes
checking for ranlib... ranlib
checking for as... /usr/bin/as
checking for ar... ar
checking for ld... ld
checking for strip... strip
checking for windres... no
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking how to run the C++ preprocessor... c++ -E
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for perl5... no
checking for perl... /usr/bin/perl
checking for minimum required perl version >= 5.006... 5.014002
checking for full perl installation... yes
checking for python... /usr/bin/python
checking for doxygen... :
checking for whoami... /usr/bin/whoami
checking for autoconf... /usr/bin/autoconf
checking for unzip... /usr/bin/unzip
checking for zip... /usr/bin/zip
checking for makedepend... no
checking for xargs... /usr/bin/xargs
checking for gmake... no
checking for make... /usr/bin/make
checking for X... libraries , headers
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking whether the compiler supports -Wno-invalid-offsetof... yes
checking whether the compiler supports -Wno-variadic-macros... yes
checking whether ld has archive extraction flags... yes
checking that static assertion macros used in autoconf tests work... yes
checking for 64-bit OS... yes
checking for ANSI C header files... yes
checking for working const... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for st_blksize in struct stat... yes
checking for siginfo_t... yes
checking for stdint.h... yes
checking for the size of void*... 8
checking for the alignment of void*... 8
checking for the size of double... 8
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for int64... no
checking for uint... yes
checking for uint_t... no
checking for uint16_t... no
checking for uname.domainname... yes
checking for uname.__domainname... no
checking for visibility(hidden) attribute... yes
checking for visibility(default) attribute... yes
checking for visibility pragma support... yes
checking For gcc visibility bug with class-level attributes (GCC bug
26905)... no
checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)...
no
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for sys/byteorder.h... no
checking for compat.h... no
checking for getopt.h... yes
checking for sys/bitypes.h... yes
checking for memory.h... yes
checking for unistd.h... yes
checking for gnu/libc-version.h... yes
checking for nl_types.h... yes
checking for malloc.h... yes
checking for X11/XKBlib.h... yes
checking for sys/statvfs.h... yes
checking for sys/statfs.h... yes
checking for sys/vfs.h... yes
checking for sys/mount.h... yes
checking for mmintrin.h... yes
checking for new... yes
checking for sys/cdefs.h... yes
checking for gethostbyname_r in -lc_r... no
checking for atan in -lm... yes
checking for dlopen in -ldl... yes
checking for dlfcn.h... yes
checking for dladdr... yes
checking for socket in -lsocket... no
checking for pthread_create in -lpthreads... no
checking for pthread_create in -lpthread... yes
checking whether gcc accepts -pthread... yes
checking whether mmap() sees write()s... yes
checking whether gcc needs -traditional... no
checking for 8-bit clean memcmp... yes
checking for fchmod... yes
checking for flockfile... yes
checking for getc_unlocked... yes
checking for _getc_nolock... no
checking for getpagesize... yes
checking for lchown... yes
checking for localtime_r... yes
checking for lstat64... yes
checking for memmove... yes
checking for random... yes
checking for rint... yes
checking for sbrk... yes
checking for snprintf... yes
checking for stat64... yes
checking for statvfs... yes
checking for statvfs64... yes
checking for strerror... yes
checking for strtok_r... yes
checking for truncate64... yes
checking for wcrtomb... yes
checking for mbrtowc... yes
checking for res_ninit()... yes
checking for gnu_get_libc_version()... yes
checking for iconv in -lc... yes
checking for iconv()... yes
checking for iconv() with const input... no
checking for an implementation of va_copy()... yes
checking for an implementation of __va_copy()... yes
checking whether va_lists can be copied by value... no
checking for C++ exceptions flag... -fno-exceptions
checking for gcc 3.0 ABI... yes
checking for C++ "explicit" keyword... yes
checking for C++ "typename" keyword... yes
checking for modern C++ template specialization syntax support... yes
checking whether partial template specialization works... yes
checking whether operators must be re-defined for templates derived from
templates... no
checking whether we need to cast a derived template to pass as its base
class... no
checking whether the compiler can resolve const ambiguities for
templates... yes
checking whether the C++ "using" keyword can change access... yes
checking whether the C++ "using" keyword resolves ambiguity... yes
checking for "std::" namespace... yes
checking whether standard template operator!=() is ambiguous...
unambiguous
checking for C++ reinterpret_cast... yes
checking for C++ dynamic_cast to void*... yes
checking whether C++ requires implementation of unused virtual
methods...
yes
checking for trouble comparing to zero near std::operator!=()... no
checking for LC_MESSAGES... yes
checking for valid optimization flags... yes
checking for __cxa_demangle... yes
checking for unwind.h... yes
checking for _Unwind_Backtrace... yes
checking for gcc -pipe support... yes
checking whether compiler supports -Wno-long-long... yes
checking whether C compiler supports -fprofile-generate... yes
checking whether C++ compiler has -pedantic long long bug... no
checking for correct temporary object destruction order... yes
checking for correct overload resolution with const and templates... no
checking for tm_zone tm_gmtoff in struct tm... yes
checking for setlocale... yes
creating js-confdefs.h
==== js-confdefs.h =================================
/* List of defines generated by configure. Included with preprocessor
flag,
 * -include, to avoid long list of -D defines on the compile
command-line.
 * Do not edit.
 */

#ifndef _JS_CONFDEFS_H_
#define _JS_CONFDEFS_H_

#define CPP_THROW_NEW throw()
#define D_INO d_ino
#define EDITLINE 1
#define HAVE_64BIT_OS 1
#define HAVE_CPP_ACCESS_CHANGING_USING 1
#define HAVE_CPP_AMBIGUITY_RESOLVING_USING 1
#define HAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR 1
#define HAVE_CPP_EXPLICIT 1
#define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX 1
#define HAVE_CPP_NAMESPACE_STD 1
#define HAVE_CPP_NEW_CASTS 1
#define HAVE_CPP_PARTIAL_SPECIALIZATION 1
#define HAVE_CPP_TYPENAME 1
#define HAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL 1
#define HAVE_DIRENT_H 1
#define HAVE_DLADDR 1
#define HAVE_FCHMOD 1
#define HAVE_FLOCKFILE 1
#define HAVE_GETC_UNLOCKED 1
#define HAVE_GETOPT_H 1
#define HAVE_GETPAGESIZE 1
#define HAVE_GNU_GET_LIBC_VERSION 1
#define HAVE_GNU_LIBC_VERSION_H 1
#define HAVE_I18N_LC_MESSAGES 1
#define HAVE_ICONV 1
#define HAVE_INT16_T 1
#define HAVE_INT32_T 1
#define HAVE_INT64_T 1
#define HAVE_LCHOWN 1
#define HAVE_LIBDL 1
#define HAVE_LIBM 1
#define HAVE_LOCALTIME_R 1
#define HAVE_LSTAT64 1
#define HAVE_MALLOC_H 1
#define HAVE_MBRTOWC 1
#define HAVE_MEMMOVE 1
#define HAVE_MEMORY_H 1
#define HAVE_MMINTRIN_H 1
#define HAVE_NL_TYPES_H 1
#define HAVE_RANDOM 1
#define HAVE_RES_NINIT 1
#define HAVE_RINT 1
#define HAVE_SBRK 1
#define HAVE_SETLOCALE 1
#define HAVE_SIGINFO_T 1
#define HAVE_SNPRINTF 1
#define HAVE_STAT64 1
#define HAVE_STATVFS 1
#define HAVE_STATVFS64 1
#define HAVE_STRERROR 1
#define HAVE_STRTOK_R 1
#define HAVE_ST_BLKSIZE 1
#define HAVE_SYS_BITYPES_H 1
#define HAVE_SYS_CDEFS_H 1
#define HAVE_SYS_MOUNT_H 1
#define HAVE_SYS_STATFS_H 1
#define HAVE_SYS_STATVFS_H 1
#define HAVE_SYS_VFS_H 1
#define HAVE_TM_ZONE_TM_GMTOFF 1
#define HAVE_TRUNCATE64 1
#define HAVE_UINT 1
#define HAVE_UNAME_DOMAINNAME_FIELD 1
#define HAVE_UNISTD_H 1
#define HAVE_VA_COPY 1
#define HAVE_VA_LIST_AS_ARRAY 1
#define HAVE_VISIBILITY_ATTRIBUTE 1
#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
#define HAVE_WCRTOMB 1
#define HAVE_X11_XKBLIB_H 1
#define HAVE__UNWIND_BACKTRACE 1
#define HAVE___CXA_DEMANGLE 1
#define JS_ALIGN_OF_POINTER 8
#define JS_BITS_PER_WORD_LOG2 6
#define JS_BYTES_PER_DOUBLE 8
#define JS_BYTES_PER_WORD 8
#define JS_HAVE_STDINT_H 1
#define MOZ_DLL_SUFFIX ".so"
#define NEED_CPP_UNUSED_IMPLEMENTATIONS 1
#define NEW_H <new>
#define STDC_HEADERS 1
#define UNIX_ASYNC_DNS 1
#define VA_COPY va_copy
#define XP_UNIX 1
#define _REENTRANT 1

#endif /* _JS_CONFDEFS_H_ */

creating Makefile
creating shell/Makefile
creating lirasm/Makefile
creating jsapi-tests/Makefile
creating tests/Makefile
creating config/Makefile
creating config/mkdepend/Makefile
creating editline/Makefile
updating cache ./config.cache
creating ./config.status
creating config/autoconf.mk
creating js-config.h
invoking make to create js-config script
rm -f js-config.tmp
sed < js-config.in > js-config.tmp \
-e 's|@prefix@|/usr/local|' \
-e 's|@exec_prefix@|/usr/local|' \
-e 's|@includedir@|/usr/local/include|' \
-e 's|@libdir@|/usr/local/lib|' \
-e 's|@MOZILLA_VERSION@||' \
-e 's|@LIBRARY_NAME@|mozjs|' \
-e 's|@NSPR_CFLAGS@||' \
-e 's|@JS_CONFIG_LIBS@| -ldl -lm  -lm -ldl |' \
-e 's|@MOZ_JS_LIBS@|-L/usr/local/lib -lmozjs|' \
&& mv js-config.tmp js-config && chmod +x js-config
make export
make[1]: Entering directory
`/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey'
make -C config/ nsinstall
make[2]: Entering directory
`/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/config'
nsinstall.c
gcc -o host_nsinstall.o -c -DXP_UNIX -O3  -DUNICODE -D_UNICODE  -I. -I.
-I../dist/include -I../dist/include/nsprpub      nsinstall.c
pathsub.c
gcc -o host_pathsub.o -c -DXP_UNIX -O3  -DUNICODE -D_UNICODE  -I. -I.
-I../dist/include -I../dist/include/nsprpub      pathsub.c
gcc -o nsinstall -DXP_UNIX -O3  -DUNICODE -D_UNICODE  host_nsinstall.o
host_pathsub.o
make[2]: Leaving directory
`/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/config'
Creating
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/.deps
make[2]: Entering directory
`/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/config'
rm -f nfspwd
cp nfspwd.pl nfspwd
chmod +x nfspwd
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/config/nsinstall
-R nsinstall ../dist/bin
if test ! -d system_wrappers_js; then mkdir system_wrappers_js; fi
/usr/bin/perl ./preprocessor.pl -DOSTYPE=\"Linux3.8\" -DOSARCH=Linux
-DHAVE_64BIT_OS=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1
-DHAVE_SIGINFO_T=1 -DJS_HAVE_STDINT_H=1 -DJS_BYTES_PER_WORD=8
-DJS_BITS_PER_WORD_LOG2=6 -DJS_ALIGN_OF_POINTER=8
-DJS_BYTES_PER_DOUBLE=8
-DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1
-DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1
-DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1
-DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1
-DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1
-DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1
-DHAVE_SYS_VFS_H=1 -DHAVE_SYS_MOUNT_H=1 -
..
..
..
..
..

make[2]: Nothing to be done for `tools'.
make[2]: Leaving directory
`/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/jsapi-tests'
make[2]: Entering directory
`/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/tests'
make[2]: Nothing to be done for `tools'.
make[2]: Leaving directory
`/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/tests'
make[1]: Leaving directory
`/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey'
checking for jsautocfg.h in
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey...
yes
checking for jsapi.h in
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey...
yes
creating Makefile

make "DESTDIR="
compiling immutable_node.cc
In file included from
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/jsinterp.h:48:0,
                 from
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/jscntxt.h:53,
                 from immutable_node.h:5,
                 from immutable_node.cc:1:
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/jsfun.h:
In function ‘js_ArgsPrivateNative* js_GetArgsPrivateNative(JSObject*)’:
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/vendor/tracemonkey/jsfun.h:233:55:
warning: converting to non-pointer type ‘long unsigned int’ from NULL
[-Wconversion-null]
compiling global.cc
compiling js_land_proxy.cc
In file included from js_land_proxy.cc:1:0:
js_land_proxy.h:11:18: fatal error: node.h: No such file or directory
compilation terminated.
make: *** [js_land_proxy.o] Error 1


Gem files will remain installed in
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3
for
inspection.
Results logged to
/home/saravanan/.rvm/gems/ruby-2.0.0-p353@pjtat/gems/johnson-2.0.0.pre3/ext/tracemonkey/gem_make.out
saravanan@ubuntu:~$
Af2ce6689213fdb78913a9662b18da6b?d=identicon&s=25 Rick Lloyd (ricklloyd)
on 2014-02-27 16:56
(Received via mailing list)
looks like the harmony gem depends on the  johnson gem which depends on
nodejs which, of course, isn't a gem. try installing nodejs - see:
nodejs.org.

rick
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.