Comments (7)
Thanks for the pointers @jgraham and @luser! I changed the linux wheels to use the musl toolchains instead, and this issue should be resolved in py-spy 0.1.5.
from py-spy.
I haven't thought deeply about the tradeoffs in this case, but maybe it makes sense to set TARGET=x86_64-unknown-linux-musl
and similar to get a staticaly linked libc?
from py-spy.
related to #16
from py-spy.
I haven't thought deeply about the tradeoffs in this case, but maybe it makes sense to set TARGET=x86_64-unknown-linux-musl and similar to get a staticaly linked libc?
In case it's helpful, I configured Travis and AppVeyor to build binary releases of sccache when I tag releases, and I'm building the Linux binaries against musl so they're more portable. Feel free to crib from my config files (and I'm happy to answer any questions you have, it took me a while to get this all working properly):
https://github.com/mozilla/sccache/blob/master/.travis.yml
https://github.com/mozilla/sccache/blob/master/appveyor.yml
from py-spy.
I probably should have mentioned that is also what we did for geckodriver:
https://github.com/mozilla/geckodriver/blob/release/.travis.yml
https://github.com/mozilla/geckodriver/blob/release/build.sh
(in case you need a second example to crib from :)
from py-spy.
I tried to run py-spy after pip-installing it on a raspberry pi running latest Raspbian/Raspberry Pi OS (Buster).
I get
$ py-spy
py-spy: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.29' not found (required by py-spy)
$ ldd --version
ldd (Debian GLIBC 2.28-10+rpt2+rpi1) 2.28
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
$ uname -a
Linux raspberrypi 5.10.63-v7+ #1457 SMP Tue Sep 28 11:25:31 BST 2021 armv7l GNU/Linux
Installation was:
$ sudo python3 -m pip install py-spy
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting py-spy
Downloading https://www.piwheels.org/simple/py-spy/py_spy-0.3.10-py3-none-linux_armv7l.whl (4.0MB)
100% |████████████████████████████████| 4.0MB 40kB/s
Installing collected packages: py-spy
Successfully installed py-spy-0.3.10
$ py-spy
py-spy: error while loading shared libraries: libunwind-ptrace.so.0: cannot open shared object file: No such file or directory
$ sudo apt install libunwind8
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
libunwind8
0 upgraded, 1 newly installed, 0 to remove and 65 not upgraded.
Need to get 47.1 kB of archives.
After this operation, 161 kB of additional disk space will be used.
Get:1 http://ftp.agdsn.de/pub/mirrors/raspbian/raspbian buster/main armhf libunwind8 armhf 1.2.1-10~deb10u1 [47.1 kB]
Fetched 47.1 kB in 0s (96.4 kB/s)
Selecting previously unselected package libunwind8:armhf.
(Reading database ... 68724 files and directories currently installed.)
Preparing to unpack .../libunwind8_1.2.1-10~deb10u1_armhf.deb ...
Unpacking libunwind8:armhf (1.2.1-10~deb10u1) ...
Setting up libunwind8:armhf (1.2.1-10~deb10u1) ...
Processing triggers for libc-bin (2.28-10+rpt2+rpi1) ...
EDIT: Ok, with the "manylinux"/musl
fix it works.
from py-spy.
@mueslo I don't maintain the package at https://www.piwheels.org/simple/py-spy/py_spy-0.3.10-py3-none-linux_armv7l.whl
. I'm guessing if you want to use this, you'll have to also install libunwind-ptrace through something like sudo apt-get install libunwind-dev
, since the dependencies aren't getting bundled with the package at piwheels.org.
The armv7 packages we have on pypi (https://pypi.org/project/py-spy/#files) will have a statically linked version of all dependencies, including libc/libunwind-ptrace though - and should work without installing any extras.
from py-spy.
Related Issues (20)
- Failed to take profile inside docker with pyston based uwsgi HOT 1
- Docker detection code fails with cgroups v2
- Profiling multiple PIDs
- Potential misaligned pointer passed to `slice`
- Failing to get stacktrace for native on Linux
- Permission denied in CentOS7 when creating a new process HOT 1
- Python 3.12 support HOT 2
- Elf sbss issue HOT 1
- Option to get native thread ID with best effort HOT 2
- Encounter os error 31 with py-spy record
- Python 3.12 support HOT 10
- Python 3.11 --native profiling fails because of bpo-45256 HOT 1
- Seg fault on py-spy record --subprocesses
- Test `--native` option in CI
- redirect to stdoutput
- py_spy fails to find interpreter on Windows HOT 4
- Assertion errors when HOT 2
- `--native` HOT 2
- Consider moving CLI functionality behind a feature flag
- attempt to subtract with overflow in console_viewer.rs
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 py-spy.