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 1NLCtJ-00044V-Vy for garchives@archives.gentoo.org; Thu, 17 Dec 2009 09:43:26 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2BE94E0B25; Thu, 17 Dec 2009 09:42:31 +0000 (UTC) Received: from sauxb.salomon.at (smtp.salomon.at [193.186.16.13]) by pigeon.gentoo.org (Postfix) with ESMTP id A862DE0B38 for ; Thu, 17 Dec 2009 09:42:30 +0000 (UTC) Received: from servex01.wamas.com (servex01.salomon.at [172.28.2.2]) by sauxb.salomon.at (8.12.10/8.12.10) with ESMTP id nBH9gKaK008119 for ; Thu, 17 Dec 2009 10:42:29 +0100 (MET) Received: from [172.28.8.166] ([172.28.8.166]) by servex01.wamas.com with Microsoft SMTPSVC(6.0.3790.3959); Thu, 17 Dec 2009 10:42:13 +0100 Message-ID: <4B29FC1C.20907@gentoo.org> Date: Thu, 17 Dec 2009 10:38:36 +0100 From: Markus Duft User-Agent: Thunderbird 2.0.0.23 (X11/20090914) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-portage-dev@lists.gentoo.org Reply-to: gentoo-portage-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-portage-dev@lists.gentoo.org Subject: [gentoo-portage-dev] ia64 rpaths and python building... Content-Type: multipart/mixed; boundary="------------090205060705070108030007" X-OriginalArrivalTime: 17 Dec 2009 09:42:13.0841 (UTC) FILETIME=[366CDC10:01CA7EFD] X-Scanned-By: MIMEDefang 2.54 on 172.28.2.13 X-Archives-Salt: 96d6ad8b-a461-46a5-9e3a-3a168fd4202f X-Archives-Hash: 460e387d1fb5ffe87245ea4f28537aa3 This is a multi-part message in MIME format. --------------090205060705070108030007 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hey! I recently did some ia64-hpux hacking in prefix, and i stumbled over alittle problem: the native linker collects -L options on the command line, and python uses -L. while building. this results in . beeing in rpath. now when $PWD == $S, there is libpython-*.so, and executing the already installed python finds (through rpath ".") this local libpython. this (although binary exactly the same) refuses to load installed extensions (Fatal Python Error: ....). The problem was caused by the filter-bash-environment.py call in ebuild.sh, _only_ during the "test" phase seemingly. the attached patch fixes the problem for me - what do you think? I guess there are better ways to tackle the problem, but i needed to get this to work ;) Cheers, Markus --------------090205060705070108030007 Content-Type: text/plain; name="portage-2.2.00.14771-ia64-rpath.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="portage-2.2.00.14771-ia64-rpath.patch" Only in portage.orig/bin: .ebuild.sh.swp diff -ru portage.orig/bin/ebuild.sh portage/bin/ebuild.sh --- portage.orig/bin/ebuild.sh 2009-12-14 10:18:06 +0100 +++ portage/bin/ebuild.sh 2009-12-14 14:45:55 +0100 @@ -1791,7 +1791,15 @@ " fi - EPYTHON= "${PORTAGE_BIN_PATH}"/filter-bash-environment.py "${filtered_vars}" + ( + # at least on _some_ platforms, RPATH may contain ".". now if merging + # python, and PWD at call-time of this filter is ${S}, it can be, that + # there is a ./libpython-x.x.so, which gets loaded. Even if the to-be- + # installed is binary identical to the already-installed one: this leads + # to "Fatal Python error: Interpreter not initialized (version mismatch?)" + cd "${T}" + EPYTHON= "${PORTAGE_BIN_PATH}"/filter-bash-environment.py "${filtered_vars}" + ) } # @FUNCTION: preprocess_ebuild_env @@ -2270,7 +2284,7 @@ # Save the env only for relevant phases. if ! hasq "$EBUILD_SH_ARGS" clean help info nofetch ; then umask 002 - save_ebuild_env | filter_readonly_variables > "$T/environment" + save_ebuild_env | filter_readonly_variables > "$T/environment" || exit $? chown ${PORTAGE_USER:-portage}:${PORTAGE_GROUP:-portage} "$T/environment" &>/dev/null chmod g+w "$T/environment" &>/dev/null fi --------------090205060705070108030007--