Coder Social home page Coder Social logo

Comments (21)

tmm1 avatar tmm1 commented on June 23, 2024

How did you install eventmachine? It did not install correctly, and is trying to use the pure ruby reactor.

from amqp.

charl avatar charl commented on June 23, 2024

Via the gem:


$ ls -la eventmachine-0.12.8.gem 
-rw------- 1 cmatthee other 214528 Oct 15 09:16 eventmachine-0.12.8.gem
$ md5sum eventmachine-0.12.8.gem
379f839bd32ee2ada63a2d4ba5e978e3  eventmachine-0.12.8.gem

from amqp.

tmm1 avatar tmm1 commented on June 23, 2024

Can you paste the output of gem install? Also what happens if you go into /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/ and type make? Can you also pastie.org the mkmf.log file in that directory?

from amqp.

charl avatar charl commented on June 23, 2024

Gem install output: http://pastie.org/657064

Manual make:


$ cd /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/ 
$ pwd
/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8
$ make
make: *** No targets specified and no makefile found.  Stop.

Make logs: http://pastie.org/657072

from amqp.

tmm1 avatar tmm1 commented on June 23, 2024

interesting. what happens if you ruby -e' require "/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine" '

from amqp.

charl avatar charl commented on June 23, 2024

$ ruby -e' require "/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine" '
/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine.so: ld.so.1: ruby: fatal: relocation error: file /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine.so: symbol _ZNSs4_Rep20_S_empty_rep_storageE: referenced symbol not found - /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine.so (LoadError)
        from -e:1
$ ruby -v
ruby 1.8.7 (2008-06-20 patchlevel 22) [sparc-solaris2.10]
$ gem --version
1.3.5
$ uname -a
SunOS poller01 5.10 Generic_137111-02 sun4u sparc SUNW,Sun-Fire-V440 Solaris

from amqp.

tmm1 avatar tmm1 commented on June 23, 2024

g++ -version ?

from amqp.

charl avatar charl commented on June 23, 2024

$ g++ -v
Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.6

from amqp.

charl avatar charl commented on June 23, 2024

$ g++ -dumpspecs -dumpversion -dumpmachine
*asm:
%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Wa,*:%*} -s %{fpic|fpie|fPIC|fPIE:-K PIC} %(asm_cpu) 

*asm_debug:


*asm_final:


*asm_options:
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}

*invoke_as:
%{!S:-o %|.s |
 as %(asm_options) %|.s %A }

*cpp:
%(cpp_cpu) %(cpp_arch) %(cpp_endian) %(cpp_subtarget)

*cpp_options:
%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w} %{f*} %{g*:%{!g0:%{!fno-working-directory:-fworking-directory}}} %{O*} %{undef}

*cpp_debug_options:
%{d*}

*cpp_unique_options:
%{C|CC:%{!E:%eGCC does not support -C or -CC without -E}} %{!Q:-quiet} %{nostdinc*} %{C} %{CC} %{v} %{I*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}} %{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*} %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i %{E|M|MM:%W{o*}}

*trad_capable_cpp:
cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}

*cc1:
%{sun4:} %{target:} %{mcypress:-mcpu=cypress} %{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} %{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} %{m32:%{m64:%emay not use both -m32 and -m64}} %{m64:-mptr64 -mstack-bias -mno-v8plus   %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8*:%{!msupersparc:-mcpu=v9}}}}}}}} 

*cc1_options:
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} %{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} %{f*} %{undef} %{Qn:-fno-ident} %{--help:--help} %{--target-help:--target-help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*}

*cc1plus:


*link_gcc_c_sequence:
%G %L %G %L

*endfile:
%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}    crtend.o%s crtn.o%s

*link:
%{h*} %{v:-V}    %{b} %{Wl,*:%*}    %{static:-dn -Bstatic}    %{shared:-G -dy %{!mimpure-text:-z text}}    %{symbolic:-Bsymbolic -G -dy -z text}    %(link_arch)    %{Qy:} %{!Qn:-Qy}

*lib:
%{compat-bsd:-lucb -lsocket -lnsl -lelf -laio}    %{!shared:     %{!symbolic:       %{pthreads:-lpthread}        %{!pthreads:%{threads:-lthread}}        %{p|pg:-ldl} -lc}}

*libgcc:
%{static|static-libgcc:-lgcc -lgcc_eh}%{!static:%{!static-libgcc:%{!shared:%{!shared-libgcc:-lgcc -lgcc_eh}%{shared-libgcc:-lgcc_s%M -lgcc}}%{shared:-lgcc_s%M}}}

*startfile:
%{!shared:                       %{!symbolic:                     %{p:mcrt1.o%s}                           %{!p:                            %{pg:gcrt1.o%s gmon.o%s}                             %{!pg:crt1.o%s}}}}                     crti.o%s %(startfile_arch)                      crtbegin.o%s

*switches_need_spaces:


*cross_compile:
0

*version:
3.4.6

*multilib:
. !m32 !m64;sparcv7:. m32 !m64;sparcv9:sparcv9 !m32 m64;

*multilib_defaults:
m32

*multilib_extra:


*multilib_matches:
m32 m32;m64 m64;

*multilib_exclusions:


*multilib_options:
m32/m64

*linker:
collect2

*link_libgcc:
%D

*md_exec_prefix:
/usr/ccs/bin/

*md_startfile_prefix:
/usr/ccs/lib/

*md_startfile_prefix_1:


*startfile_prefix_spec:


*sysroot_suffix_spec:


*sysroot_hdrs_suffix_spec:


*cpp_cpu:
%{mcypress:} %{msparclite|mf930|mf934:-D__sparclite__} %{mv8:%{!m64:-D__sparcv8}} %{msupersparc:-D__supersparc__ %{!m64:-D__sparcv8}} %{mcpu=sparclet|mcpu=tsc701:-D__sparclet__} %{mcpu=sparclite|mcpu-f930|mcpu=f934:-D__sparclite__} %{mcpu=v8:%{!m64:-D__sparcv8}} %{mcpu=supersparc:-D__supersparc__ %{!m64:-D__sparcv8}} %{mcpu=v9|mcpu=ultrasparc|mcpu=ultrasparc3:%{!m64:-D__sparcv8}} %{!mcpu*:%{!mcypress:%{!msparclite:%{!mf930:%{!mf934:%{!mv8:%{!msupersparc:%(cpp_cpu_default)}}}}}}} 

*cpp_cpu_default:
%{m64:} %{!m64:} 

*cpp_arch32:


*cpp_arch64:
-D__arch64__ -D__sparcv9

*cpp_arch_default:


*cpp_arch:
%{m32:%(cpp_arch32)} %{m64:%(cpp_arch64)} %{!m32:%{!m64:%(cpp_arch_default)}} 

*cpp_endian:
%{mlittle-endian:-D__LITTLE_ENDIAN__} %{mlittle-endian-data:-D__LITTLE_ENDIAN_DATA__}

*cpp_subtarget:
%{pthreads:-D_REENTRANT -D_PTHREADS} %{!pthreads:%{threads:-D_REENTRANT -D_SOLARIS_THREADS}} %{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude} 

*asm_cpu:
%{mcpu=v9:%{!m64:-xarch=v8plus}%{m64:-xarch=v9}} %{mcpu=ultrasparc:%{!m64:-xarch=v8plusa}%{m64:-xarch=v9a}} %{mcpu=ultrasparc3:%{!m64:-xarch=v8plusb}%{m64:-xarch=v9b}} %{!mcpu=ultrasparc3:%{!mcpu=ultrasparc:%{!mcpu=v9:%{mcpu*:%{!m64:-xarch=v8}%{m64:-xarch=v9}}}}} %{!mcpu*:%(asm_cpu_default)} 

*asm_cpu_default:
%{m64:-xarch=v9} %{!m64:} 

*asm_arch32:


*asm_arch64:


*asm_relax:


*asm_arch_default:


*asm_arch:


*startfile_arch:
%{ansi:values-Xc.o%s}                       %{!ansi:values-Xa.o%s}

*link_arch32:
%{G:-G}    %{YP,*}    %{R*}    %{compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib}              %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}}              -R /usr/ucblib}    %{!compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib}              %{!p:%{!pg:-Y P,/usr/ccs/lib:/usr/lib}}}}

*link_arch64:
%{mcmodel=medlow:-M /usr/lib/ld/sparcv9/map.below4G}    %{G:-G}    %{YP,*}    %{R*}    %{compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/libp/sparcv9:/usr/lib/sparcv9}        %{!p:%{!pg:-Y P,/usr/ucblib/sparcv9:/usr/lib/sparcv9}}}      -R /usr/ucblib/sparcv9}    %{!compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/lib/libp/sparcv9:/usr/lib/sparcv9}        %{!p:%{!pg:-Y P,/usr/lib/sparcv9}}}}

*link_arch_default:
%{G:-G}    %{YP,*}    %{R*}    %{compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib}              %{!p:%{!pg:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}}}              -R /usr/ucblib}    %{!compat-bsd:      %{!YP,*:%{p|pg:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib}              %{!p:%{!pg:-Y P,/usr/ccs/lib:/usr/lib}}}}

*link_arch:
%{m32:%(link_arch32)} %{m64:%(link_arch64)} %{!m32:%{!m64:%(link_arch_default)}} 

*link_command:
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:    %(linker) %l %{pie:} %X %{o*} %{A} %{d} %{e*} %{m} %{N} %{n} %{r}    %{s} %{t} %{u*} %{x} %{z} %{Z} %{!A:%{!nostdlib:%{!nostartfiles:%S}}}    %{static:} %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate:-lgcov}    %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}    %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}

from amqp.

tmm1 avatar tmm1 commented on June 23, 2024

Interesting.. any chance you can update gcc? Can you try editing the makefile so it links with -lstdc++ and see if that fixes the missing symbol?

from amqp.

charl avatar charl commented on June 23, 2024

Unfortunately I cannot update gcc (this is the latest version available from sunfreeware.com for this platform). Which file would you like me to edit specifically? There's no Makefile so I presume it must be something that forms part of the ruby makefile generation subsystem.

from amqp.

charl avatar charl commented on June 23, 2024

if I clone the git project and try to build it manually I get he following output: http://pastie.org/659872

from amqp.

tmm1 avatar tmm1 commented on June 23, 2024

Alright can you try the following:

git clone git://github.com/eventmachine/eventmachine.git
cd eventmachine
wget http://pastie.org/659901.txt
patch -p1 < 659901.txt
cd ext
ruby extconf.rb
make
ruby -I. -e' require "rubyeventmachine" '

I think this will cause the _ZNSs4_Rep20_S_empty_rep_storageE error from before. If so, can you try:

rm rubyeventmachine.so
make LOCAL_LIBS="-lstdc++"
ruby -I. -e' require "rubyeventmachine" '

from amqp.

charl avatar charl commented on June 23, 2024

The first make fails with the following: http://pastie.org/660136

rubyeventmachine.so was never created but I did also try the second make with the environment variable and that also failed in a similar way (as can be seen in the same pastie).

from amqp.

tmm1 avatar tmm1 commented on June 23, 2024

Ok, try this new patch instead:

cd eventmachine/ext
git checkout .
wget http://pastie.org/660173.txt
patch -p1 < 660173.txt
ruby extconf.rb
make
ruby -I. -e' require "rubyeventmachine" '

and if that doesn't work:

rm rubyeventmachine.so
make LOCAL_LIBS="-lstdc++"
ruby -I. -e' require "rubyeventmachine" '

from amqp.

charl avatar charl commented on June 23, 2024

The patch seemed to do the trick and everything builds fine and I can require rubyeventmachine.so without any issues.

The machine in question must have some deeper problems though as I am unable now to install (gem install just hangs without any output even when I specify -V) certain gems (tmm1-amqp) while others (snmp, rake, etc.) install without a hitch.

I'll have to get to the botom of this first before I am able to once again run the primes.rb test to confirm everything is operation on this platform.

Thanks for your help so far.

from amqp.

tmm1 avatar tmm1 commented on June 23, 2024

Ok, so rubyeventmachine worked even without the LOCAL_LIBS, or was that required? I'll update the gem accordingly.

from amqp.

charl avatar charl commented on June 23, 2024

That's correct, LOCAL_LIBS was not required.

I have fixed the issue mentioned (stupid sudo/proxy environment variable bug) and the prime.rb test and my own service based on eventmachine/amqp is working perfectly.

from amqp.

charl avatar charl commented on June 23, 2024

Thanks again for all the help.

from amqp.

tmm1 avatar tmm1 commented on June 23, 2024

Sounds like latest em gem worked.

from amqp.

charl avatar charl commented on June 23, 2024

Correct.

from amqp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.