From owner-freebsd-python@freebsd.org Tue Jul 28 21:06:22 2015 Return-Path: Delivered-To: freebsd-python@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 553A69ADB3B for ; Tue, 28 Jul 2015 21:06:22 +0000 (UTC) (envelope-from r@robakdesign.com) Received: from mail-vn0-f53.google.com (mail-vn0-f53.google.com [209.85.216.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 11EACC6F for ; Tue, 28 Jul 2015 21:06:21 +0000 (UTC) (envelope-from r@robakdesign.com) Received: by vnaa140 with SMTP id a140so47827641vna.2 for ; Tue, 28 Jul 2015 14:06:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=8FYO0Vumz7p0gUk3uITmTmwTlH/siVYEMUu5NiFgToI=; b=Phm+1AvbmcIzx24cLmYcPhuTOMFXZFENmDSecrzJif8FsoIPByI2nNzzx+3z2S0/sF iklzVprd3gOfb4Jy5cgfGdbUq3E15s6hVIRnS4+riasEUno1bu4oDmo3pjjsxjgcZgsu XHcvRSv6AaLmwK0py/r3vedpYz6o28wkLXQQ82HbuivJ0PNk48CWABBzqe85i/3v1zan pHdTdXNQOry+QgYu+p3zwnjrM1pDbX/fg0h5mA7GemVkQhgZV7v4FFzx/my7zAC6hYyZ U9xMlzRLB7QFTI1cyqbhWC3lfQdFopO+bxTiOZLEXBWRom+MA6ofFdAEGM6hTP6mwlZh DZMA== X-Gm-Message-State: ALoCoQlfdcVUU+sxSaMgdwJa7xbJJ0hcHWX1whTELo9FRAzvkcYWYp0Rd4qQkodkBnN4sy/VeZV8 X-Received: by 10.52.167.105 with SMTP id zn9mr46623375vdb.83.1438117574684; Tue, 28 Jul 2015 14:06:14 -0700 (PDT) Received: from mail-vn0-f43.google.com (mail-vn0-f43.google.com. [209.85.216.43]) by smtp.gmail.com with ESMTPSA id cj9sm5868301vdd.14.2015.07.28.14.06.14 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Jul 2015 14:06:14 -0700 (PDT) Received: by vnk197 with SMTP id 197so47702931vnk.3 for ; Tue, 28 Jul 2015 14:06:14 -0700 (PDT) X-Received: by 10.52.89.240 with SMTP id br16mr39173597vdb.58.1438117574249; Tue, 28 Jul 2015 14:06:14 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.237.134 with HTTP; Tue, 28 Jul 2015 14:05:54 -0700 (PDT) In-Reply-To: <2883201.vcG9JJBxrl@dragon.local> References: <2883201.vcG9JJBxrl@dragon.local> From: =?UTF-8?Q?Bart=C5=82omiej_Rutkowski?= Date: Tue, 28 Jul 2015 22:05:54 +0100 Message-ID: Subject: Re: The mystery of the missing library. To: David Naylor Cc: FreeBSD Mailing List , freebsd-python@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-python@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FreeBSD-specific Python issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2015 21:06:22 -0000 I've checked how linux does it and it seems they're (at least Debian) doing static linking - that would fix the issue, whatever it is. Can you adjust the port to do the static instead of dynamic linking binary? Kind regards, Bartek Rutkowski On Tue, Jul 28, 2015 at 7:46 PM, David Naylor wrote: > Hi Hackers, > > > > I am busy simplifying the lang/pypy port (see > https://reviews.freebsd.org/D3209) however I have uncovered a rather > strange problem: > > > > ## BACKGROUND ## > > PyPy has it's own directory layout so we install it into $PREFIX/pypy-2.6. > In there is everything pypy needs including bin/pypy (the binary) and > bin/libpypy-c.so (the shared library). > > > > For convenience we create a symlink to the pypy binary: > > ``` > > # ln -s ../pypy-2.6/bin/pypy $PREFIX/bin/pypy > > ``` > > > > ## PROBLEM ## > > For some reason FreeBSD cannot find the library when executing the pypy > command - except under some situations: > > ``` > > # uname -a > > FreeBSD dragon.local 10.1-RELEASE-p10 FreeBSD 10.1-RELEASE-p10 #0: Wed May > 13 06:54:13 UTC 2015 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC > amd64 > > > > # cd / > > > > # pypy > > Shared object "libpypy-c.so" not found, required by "pypy" > > > > # `which pypy` > > Shared object "libpypy-c.so" not found, required by "pypy" > > > > # .`which pypy` > > Python 2.7.9 (295ee98b69288471b0fcf2e0ede82ce5209eb90b, Jul 26 2015, > 18:38:23) > > [PyPy 2.6.0 with GCC 4.2.1 Compatible FreeBSD Clang 3.4.1 > (tags/RELEASE_34/dot1-final 208032)] on freebsd10 > > Type "help", "copyright", "credits" or "license" for more information. > > >>>> > > > > # ldd `which pypy` > > /usr/local/bin/pypy: > > libpypy-c.so => not found (0) > > libthr.so.3 => /lib/libthr.so.3 (0x80081d000) > > libc.so.7 => /lib/libc.so.7 (0x800a42000) > > > > # ldd .`which pypy` > > ./usr/local/bin/pypy: > > libpypy-c.so => /usr/local/pypy-2.6/bin//libpypy-c.so (0x80081d000) > > libthr.so.3 => /lib/libthr.so.3 (0x804337000) > > libc.so.7 => /lib/libc.so.7 (0x80455c000) > > libbz2.so.4 => /usr/lib/libbz2.so.4 (0x804906000) > > libm.so.5 => /lib/libm.so.5 (0x804b18000) > > libintl.so.8 => /usr/local/lib/libintl.so.8 (0x804d40000) > > libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x804f4a000) > > libz.so.6 => /lib/libz.so.6 (0x805170000) > > libssl.so.7 => /usr/lib/libssl.so.7 (0x805386000) > > libcrypto.so.7 => /lib/libcrypto.so.7 (0x8055f1000) > > libffi.so.6 => /usr/local/lib/libffi.so.6 (0x8059e5000) > > libcrypt.so.5 => /lib/libcrypt.so.5 (0x805bec000) > > librt.so.1 => /usr/lib/librt.so.1 (0x805e0c000) > > libutil.so.9 => /lib/libutil.so.9 (0x806012000) > > libncurses.so.8 => /lib/libncurses.so.8 (0x806224000) > > ``` > > > > Why would the shared library be found when using a relative path but not > when using an absolute path? Is this a bug in FreeBSD? > > > > Regards > > > > David >