From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QD3m1-0005lS-Ca for garchives@archives.gentoo.org; Thu, 21 Apr 2011 23:59:01 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5E52D1C006; Thu, 21 Apr 2011 23:57:15 +0000 (UTC) Received: from genesis.genestate.com (pathfinder.genestate.com [212.21.116.18]) by pigeon.gentoo.org (Postfix) with ESMTP id B1A0A1C006 for ; Thu, 21 Apr 2011 23:57:14 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by genesis.genestate.com (Postfix) with ESMTP id F22C728F5EE for ; Fri, 22 Apr 2011 00:57:13 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=genestate.com; h= user-agent:content-disposition:content-type:mime-version :message-id:subject:from:date:received:received; s=default; t= 1303430233; bh=6ydQGQ9AVll91dp4i05U4LRqnAf0qnwWg3nRigj1qv8=; b=m H2vRRHPWAMoKy1TmW2HkO5GrxM3OREQYqOCRtYgzW1PNd7Y8FvBTugkm3wLdHen7 clgDSRv6bNgtEEfoyeWeMwCj2xZLdj0O7A1+UeiO85hGPffCk0KHrhaeZFNCEiTJ p/rMxWsZnY5xGY7w+k38784T3eUj2ER6V7Skjr+hLg= Received: from genesis.genestate.com ([127.0.0.1]) by localhost (exodus.genestate.com [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id ZG+TRVESdrAB for ; Fri, 22 Apr 2011 00:57:13 +0100 (BST) Received: by genesis.genestate.com (Postfix, from userid 1000) id B780328F66A; Fri, 22 Apr 2011 00:57:13 +0100 (BST) Date: Fri, 22 Apr 2011 00:57:13 +0100 From: Matt Harrison To: gentoo-user@lists.gentoo.org Subject: [gentoo-user] installing ffi gem Message-ID: <20110421235713.GA18633@genestate.com> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="pvezYHf7grwyp3Bc" Content-Disposition: inline X-Operating-System: Linux/2.6.36-hardened-r9 (i686) X-Uptime: 8:11 X-GPG-Key-ID: 0xDB2B79A4 User-Agent: Mutt/1.5.21 (2010-09-15) X-Archives-Salt: X-Archives-Hash: df44ba0f439e604eec1090b860c457e9 --pvezYHf7grwyp3Bc Content-Type: multipart/mixed; boundary="UugvWAfsgieZRqgk" Content-Disposition: inline --UugvWAfsgieZRqgk Content-Type: text/plain; charset=us-ascii Content-Disposition: inline I've just tried setting up a new development machine and I'm stuck installing the ffi gem for ruby. According to a bug I found (can't find it now I'm afraid) the gentoo devs do not support installing gems via the gem command and directed the user to use the dev-ruby/ffi package. Unfortnately, that package is absolutely ancient and unusable. Anyway, I've got the ffi library install from portage, but when I try to `gem install ffi`, I get the output seen in the attachement. The same gem installs just fine on an ubuntu box, but...well it's ubuntu and I don't want to use that (besides it's just a VM). I'd really like to get this fixed so I can get started on a new project. Grateful for any help Matt --UugvWAfsgieZRqgk Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="output.txt" ERROR: Error installing ffi: ERROR: Failed to build gem native extension. /usr/bin/ruby18 extconf.rb checking for ffi_call() in -lffi... yes checking for ffi_prep_closure()... yes checking for ffi_raw_call()... yes checking for ffi_prep_raw_closure()... yes checking for rb_thread_blocking_region()... no checking for ruby_thread_has_gvl_p()... no checking for ruby_native_thread_p()... no checking for rb_thread_call_with_gvl()... no creating extconf.h creating Makefile make i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c DynamicLibrary.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Buffer.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c MemoryPointer.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c StructByReference.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c StructByValue.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c StructLayout.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Thread.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c DataConverter.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Types.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c AbstractMemory.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Platform.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c ArrayType.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c ffi.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c LastError.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c FunctionInfo.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c MappedType.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Variadic.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Function.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Call.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Type.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Pointer.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c MethodHandle.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c ClosurePool.c i686-pc-linux-gnu-gcc -I. -I. -I/usr/lib/ruby/1.8/i686-linux -I. -DRUBY_EXTCONF_H=\"extconf.h\" -D_FILE_OFFSET_BITS=64 -fPIC -O2 -march=i686 -pipe -fno-strict-aliasing -fPIC -I/usr/lib/libffi-3.0.9/include -Wno-declaration-after-statement -c Struct.c i686-pc-linux-gnu-gcc -shared -o ffi_c.so DynamicLibrary.o Buffer.o MemoryPointer.o StructByReference.o StructByValue.o StructLayout.o Thread.o DataConverter.o Types.o AbstractMemory.o Platform.o ArrayType.o ffi.o LastError.o FunctionInfo.o MappedType.o Variadic.o Function.o Call.o Type.o Pointer.o MethodHandle.o ClosurePool.o Struct.o -L. -L/usr/lib -Wl,-R/usr/lib -L. -Wl,-O1 -Wl,--as-needed -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -Wl,-R -Wl,/usr/lib -L/usr/lib -lruby18 -lffi -lffi -lrt -ldl -lcrypt -lm -lc Thread.o: In function `rbffi_thread_blocking_region': Thread.c:(.text+0x115): undefined reference to `pthread_create' Thread.c:(.text+0x159): undefined reference to `pthread_join' Thread.o: In function `cleanup_blocking_thread': Thread.c:(.text+0x2f6): undefined reference to `pthread_kill' Thread.o: In function `rbffi_blocking_thread': Thread.c:(.text+0x348): undefined reference to `pthread_testcancel' collect2: ld returned 1 exit status make: *** [ffi_c.so] Error 1 Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/ffi-1.0.7 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/ffi-1.0.7/ext/ffi_c/gem_make.out Building native extensions. This could take a while... --UugvWAfsgieZRqgk-- --pvezYHf7grwyp3Bc Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) iQEcBAEBAgAGBQJNsMRZAAoJEAy5yA3bK3mkb+4H/ix2BZRdecqTbyZ3UXr8YF+m DrZamAIazHhIe0OVOVZYq+u55EnJ9RBMncoewHNyAGIre0g3JMq6cH4XTZYo4PAV SI4w9L+6/a+A40wfDxBH/qCcVC/+llvWSBjxNnP0THWc20POjLVtdQ8a2SITGPnL RRR91KbGLz/2xwIY3bRjQkpdkHrXMY6mQelphoduYtSEGUTmdT8cRhGt2966A+7n JxTGqEuZWLXHoQB4drYmiDZeuuYcnnyFc8IOWBYgifTcD3yYvjPqVs7geUUSOTnW TtqZLXl+41vw7zysCH2Rdj1hoyCT6xgU67FIgbkpOyROu+g0vy4dK/Ijo3W3tYI= =J+l0 -----END PGP SIGNATURE----- --pvezYHf7grwyp3Bc--