Comments (21)
How did you install eventmachine? It did not install correctly, and is trying to use the pure ruby reactor.
from amqp.
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.
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.
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.
interesting. what happens if you ruby -e' require "/usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.8/lib/rubyeventmachine" '
from amqp.
$ 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.
g++ -version ?
from amqp.
$ 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.
$ 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.
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.
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.
if I clone the git project and try to build it manually I get he following output: http://pastie.org/659872
from amqp.
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.
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.
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.
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.
Ok, so rubyeventmachine worked even without the LOCAL_LIBS, or was that required? I'll update the gem accordingly.
from amqp.
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.
Thanks again for all the help.
from amqp.
Sounds like latest em gem worked.
from amqp.
Correct.
from amqp.
Related Issues (20)
- With ruby 1.9, Queue#publish wouldn't work for multi-byte characters. HOT 8
- gemspec not valid in HEAD HOT 1
- Problems with JRuby and eventmachine >= 0.12.6 HOT 4
- stdout error msgs, unrecoverable state of client/consumer, apparent corruption of RabbitMQ database HOT 2
- Empty (zero-length) bodies are never delivered to subscribers HOT 2
- How to ensure that a single message is published? HOT 1
- Subscriptions and services falling over HOT 2
- eventmachine not initialized in thin HOT 5
- Pops receiving Basic.GetEmpty behave unintuitively HOT 5
- CHANNEL_ERROR - unexpected method in connection state running in AMQP::Protocol::Channel::Open HOT 4
- No support for accessing server-generated Queue/Exchange names & crash with name: "" and {nowait: false} HOT 2
- Do not declare the queue if it already exist, raise an error if it exists, but has different options HOT 2
- Message count for MQ::Queue isn't reported properly, it's always 0 HOT 1
- User more AMQP-compliant terminology HOT 1
- Expose sync API for MQ#close (Channel.Close) HOT 2
- Raising an exception within AMQP HOT 1
- MQ.queue and MQ::Queue.new doco incorrect for :passive option HOT 1
- Reasonable error handling HOT 1
- Bug in MQ.reset HOT 1
- Nil pointer error in AMQP::Queue.new HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from amqp.