#!/usr/bin/env ruby require 'rubygems' require 'nokogiri' The above works when built with USE="-ffi", but when built with USE="ffi", the require fails with the latest version in portage and ruby & RUBY_TARGETS = ruby18. Reproducible: Always Steps to Reproduce: 1. USE=ffi emerge nokogiri 2. try 'require nokogiri' Actual Results: #begin output /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- nokogiri/nokogiri (LoadError) from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /usr/lib64/ruby/gems/1.8/gems/nokogiri-1.4.4/lib/nokogiri.rb:13 from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/lib64/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from ./main.rb:4 #end output Expected Results: no output, thus working don't think that `emerge --info` is required here. please request if I'm wrong.
(In reply to comment #0) > don't think that `emerge --info` is required here. please request if I'm wrong. It won't hurt anything.
ok, here you go... emerge --info Portage 2.1.9.25 (default/linux/amd64/10.0/desktop, gcc-4.5.1, glibc-2.12.1-r3, 2.6.34-gentoo-r12 x86_64) ================================================================= System uname: Linux-2.6.34-gentoo-r12-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.0.1 Timestamp of tree: Fri, 17 Dec 2010 13:45:01 +0000 app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.1, 3.1.3 dev-util/cmake: 2.8.3 sys-apps/baselayout: 2.0.1-r1 sys-apps/openrc: 0.6.8 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.68 sys-devel/automake: 1.10.3, 1.11.1 sys-devel/binutils: 2.21 sys-devel/gcc: 4.5.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82 virtual/os-headers: 2.6.36.1 (sys-kernel/linux-headers) ABI="amd64" ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" ACCEPT_PROPERTIES="*" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="*" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ARCH="amd64" ASFLAGS_x86="--32" AUTOCLEAN="yes" BROWSER="/usr/bin/opera" CAMERAS="casio_qv" CBUILD="x86_64-pc-linux-gnu" CDEFINE_amd64="__x86_64__" CDEFINE_x86="__i386__" CFLAGS="-march=native -mtune=native -msse4 -mcx16 -msahf -mpopcnt -O2 -pipe -fomit-frame-pointer" CFLAGS_x86="-m32" CHOST="x86_64-pc-linux-gnu" CHOST_amd64="x86_64-pc-linux-gnu" CHOST_x86="i686-pc-linux-gnu" CLEAN_DELAY="2" CLI_BROWSER="/usr/bin/elinks" COLLECTD_PLUGINS="" COLLISION_IGNORE="/lib/modules" COLORFGBG="default;0" COLORTERM="rxvt" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CVS_RSH="ssh" CXXFLAGS="-march=native -mtune=native -msse4 -mcx16 -msahf -mpopcnt -O2 -pipe -fomit-frame-pointer" DBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-H4WbOiC2M4,guid=4ebcc2ddccb7ca889ae3a6d40000011d" DEFAULT_ABI="amd64" DESKTOP_STARTUP_ID="awesome/urxvt/6269-37-hikaru_TIME146209900" DISPLAY=":0" DISTDIR="/usr/portage/distfiles" EDITOR="/usr/bin/vim" ELIBC="glibc" EMERGE_DEFAULT_OPTS="--ask --deep --jobs=4 --keep-going --nospinner --quiet --quiet-build --tree --verbose --with-bdeps=y" EMERGE_WARNING_DELAY="10" EPREFIX="" EROOT="/" FEATURES="assume-digests binpkg-logs collision-protect distlocks fail-clean fixlafiles fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FETCHCOMMAND="/usr/bin/aria2c --check-certificate=false -q -d "${DISTDIR}" -o "${FILE}" "${URI}"" FETCHCOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}"" FETCHCOMMAND_SFTP="bash -c "x=\${2#sftp://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec sftp -P \${port} \"\${host}:/\${x#*/}\" \"\$1\"" sftp "${DISTDIR}/${FILE}" "${URI}"" FETCHCOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}"" GCC_SPECS="" GDK_USE_XFT="1" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://distfiles.gentoo.org" GPSD_PROTOCOLS="" GSETTINGS_BACKEND="gconf" GUI_BROWSER="/usr/bin/opera" HG="/usr/bin/hg" HOME="/home/avx" HUSHLOGIN="FALSE" INFOPATH="/usr/share/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.21/info:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.1/info" INPUT_DEVICES="evdev joystick wacom" JAVAC="/etc/java-config-2/current-system-vm/bin/javac" JAVA_HOME="/etc/java-config-2/current-system-vm" JDK_HOME="/etc/java-config-2/current-system-vm" KERNEL="linux" LANG="de_DE.utf8" LCD_DEVICES="" LC_MESSAGES="en_US.utf8" LDFLAGS="-Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed -Wl,--sort-common" LDFLAGS_x86="-m elf_i386" LESS="-R -M --shift 5" LESSOPEN="|lesspipe.sh %s" LIBDIR_amd64="lib64" LIBDIR_amd64_fbsd="lib64" LIBDIR_ppc="lib32" LIBDIR_ppc64="lib64" LIBDIR_sparc32="lib32" LIBDIR_sparc64="lib64" LIBDIR_x86="lib32" LIBDIR_x86_fbsd="lib32" LIBRARY_PATH="/opt/intel/Compiler/11.1/056/lib/intel64" LINGUAS="de de_DE en en_US" LOGNAME="avx" MAIL="/var/mail/avx" MAKEOPTS="-j9 --quiet" MANPATH="/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.21/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/4.5.1/man:/opt/intel/Compiler/11.1/056/man/en_US:/etc/java-config/system-vm/man/" MULTILIB_ABIS="amd64 x86" MULTILIB_STRICT_DENY="64-bit.*shared object" MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib" MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)" NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset fastcgi gzip gzip_static rewrite" NLSPATH="/opt/intel/Compiler/11.1/056/lib/locale/en_US/%N" OLDPWD="/home/avx" OPENGL_PROFILE="nvidia" PAGER="/usr/bin/less" PATH="/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.1:/opt/intel/Compiler/11.1/056/bin/intel64:/usr/games/bin:/opt/vmware/bin" PHP_TARGETS="" PKGDIR="/usr/portage/packages" PORTAGE_ARCHLIST="ppc sparc64-freebsd ppc-openbsd x86-openbsd ppc64 x86-winnt x86-fbsd ppc-aix alpha arm x86-freebsd s390 amd64 arm-linux x86-macos x64-openbsd ia64-hpux hppa x86-netbsd x86-cygwin amd64-linux ia64-linux x86 sparc-solaris x64-freebsd sparc64-solaris x86-linux x64-macos sparc m68k-mint ia64 mips ppc-macos x86-interix hppa-hpux amd64-fbsd x64-solaris mips-irix m68k sh x86-solaris sparc-fbsd" PORTAGE_BINHOST_CHUNKSIZE="3000" PORTAGE_BIN_PATH="/usr/lib64/portage/bin" PORTAGE_COMPRESS_EXCLUDE_SUFFIXES="css gif htm[l]? jp[e]?g js pdf png" PORTAGE_COMPRESS_FLAGS="-9" PORTAGE_CONFIGROOT="/" PORTAGE_DEBUG="0" PORTAGE_DEPCACHEDIR="/var/cache/edb/dep" PORTAGE_ELOG_CLASSES="log warn error" PORTAGE_ELOG_MAILFROM="portage@localhost" PORTAGE_ELOG_MAILSUBJECT="[portage] ebuild log for ${PACKAGE} on ${HOST}" PORTAGE_ELOG_MAILURI="root" PORTAGE_ELOG_SYSTEM="save_summary echo" PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS="5" PORTAGE_FETCH_RESUME_MIN_SIZE="350K" PORTAGE_GID="250" PORTAGE_INST_GID="0" PORTAGE_INST_UID="0" PORTAGE_PYM_PATH="/usr/lib64/portage/pym" PORTAGE_QUIET="1" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_RSYNC_RETRIES="-1" PORTAGE_SANDBOX_COMPAT_LEVEL="16" PORTAGE_SYNC_STALE="30" PORTAGE_TMPDIR="/var/tmp" PORTAGE_TMPFS="/dev/shm" PORTAGE_VERBOSE="1" PORTAGE_WORKDIR_MODE="0700" PORTDIR="/usr/portage/gentoo/" PORTDIR_OVERLAY="/var/lib/layman/vmware /usr/portage/phorcix" PRELINK_PATH_MASK="/usr/lib64/libfreebl3.so:/usr/lib64/libnssdbm3.so:/usr/lib64/libsoftokn3.so" PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND" PS2="%{%}> ..%{%} " PWD="/home/avx" PYTHONDONTWRITEBYTECODE="1" RESUMECOMMAND="/usr/bin/aria2c --check-certificate=false -c -d "${DISTDIR}" -o "${FILE}" "${URI}"" RESUMECOMMAND_RSYNC="rsync -avP "${URI}" "${DISTDIR}/${FILE}"" RESUMECOMMAND_SSH="bash -c "x=\${2#ssh://} ; host=\${x%%/*} ; port=\${host##*:} ; host=\${host%:*} ; [[ \${host} = \${port} ]] && port=22 ; exec rsync --rsh=\"ssh -p\${port}\" -avP \"\${host}:/\${x#*/}\" \"\$1\"" rsync "${DISTDIR}/${FILE}" "${URI}"" ROOT="/" ROOTPATH="/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.5.1:/opt/intel/Compiler/11.1/056/bin/intel64:/opt/vmware/bin" RPMDIR="/usr/portage/rpm" RPROMPT2="┃" RUBYOPT="-rauto_gem" RUBY_TARGETS="ruby18" SHELL="/bin/zsh" SHLVL="3" STAGE1_USE="multilib nptl nptlonly unicode" SYMLINK_LIB="yes" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" TERM="rxvt-unicode" TMP="/tmp/.private/avx" TMPDIR="/tmp/.private/avx" USE="X acl alsa amd64 attr caps crypt idn mmx multilib nls nptl openmp pam pic sse sse2 sse3 ssl ssse3 unicode xcomposite xinerama xrandr" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="*" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="casio_qv" ELIBC="glibc" INPUT_DEVICES="evdev joystick wacom" KERNEL="linux" LINGUAS="de de_DE en en_US" NGINX_MODULES_HTTP="access auth_basic autoindex browser charset fastcgi gzip gzip_static rewrite" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" USER="avx" USERLAND="GNU" USE_EXPAND="ALSA_CARDS ALSA_PCM_PLUGINS APACHE2_MODULES APACHE2_MPMS CAMERAS COLLECTD_PLUGINS CROSSCOMPILE_OPTS DVB_CARDS ELIBC FCDSL_CARDS FOO2ZJS_DEVICES FRITZCAPI_CARDS GPSD_PROTOCOLS INPUT_DEVICES KERNEL LCD_DEVICES LINGUAS LIRC_DEVICES MISDN_CARDS NETBEANS_MODULES NGINX_MODULES_HTTP NGINX_MODULES_MAIL PHP_TARGETS QEMU_SOFTMMU_TARGETS QEMU_USER_TARGETS RUBY_TARGETS SANE_BACKENDS USERLAND VIDEO_CARDS XFCE_PLUGINS XTABLES_ADDONS" USE_EXPAND_HIDDEN="CROSSCOMPILE_OPTS ELIBC KERNEL USERLAND" USE_ORDER="env:pkg:conf:defaults:pkginternal:env.d" USE_PYTHON="2.7 3.1" VIDEO_CARDS="nvidia" VISUAL="/usr/bin/vim" VMWARE_USE_SHIPPED_GTK="force" WINDOWID="20971529" WINDOWPATH="7" XAUTHORITY="/home/avx/.Xauthority" XDG_CACHE_HOME="/home/avx/.cache" XDG_CONFIG_DIR="/home/avx/.config" XDG_CONFIG_DIRS="/etc/xdg" XDG_DATA_DIRS="/usr/local/share:/usr/share" XDG_DATA_HOME="/home/avx/.config/share" XSESSION="awesome" XTABLES_ADDONS="" XZ_OPT="--memory=max" _="/usr/bin/emerge" http_proxy="http://127.0.0.1:8118" https_proxy="http://127.0.0.1:8118"
If I understand correctly you will need to set the NOKOGIRI_FFI environment variable for this to work. See lib/nokogiri.rb. It doesn't sound ideal but I think the place to look for improvements here is upstream.
> you will need to set the NOKOGIRI_FFI environment variable for this to work. Ok, now that I know that, it works. But at least for me that's not been obvious and I also found no hits for 'NOKOGIRI_FFI' on their homepage. So maybe we should have some einfo/ewarn about this in the ebuild?
I think upstream should document it properly.