angr / vex

A patched version of VEX to work with PyVEX.
GNU General Public License v2.0
104 stars 44 forks source link

build fails with musl libc #6

Closed rofl0r closed 7 years ago

rofl0r commented 7 years ago

for example on alpine linux.

priv/main_util.c:47:22: fatal error: execinfo.h: No such file or directory

the build error can be avoided by not defining -D LINUX_BACKTRACES in the Makefile. so it would be nice if you can check if execinfo.h is available or not before trying to use it. note: to test if a header exists, one does not search for the file in all kinds of directories as python packages usually do. you just try to compile a .c file that contains nothing but #include <execinfo.h> and if it succeeds then it means it is there.

rhelmot commented 7 years ago

Resolved in https://github.com/angr/vex/commit/058410ede7ee74231255f6ae77cae8476c8a3ef4

rofl0r commented 7 years ago

thanks @rhelmot . i may be mistaken but it appears there's a typo in the commit. (i commented in the commit).

rhelmot commented 7 years ago

You are right :( I'm sorry I didn't test this more thoroughly.

I will fix this next time I am in front of a computer, which will probably be about 45 minutes from now.

rhelmot commented 7 years ago

Fix pushed.

My tree is in a nasty state right now because I'm in the middle of a really horrible rebase/cleanup of our vex history on upstream, so the only way I was able to do this sanely was by pushing a bunch of other, only lightly tested changes to the build system. Please let me know if you run into any issues.

rofl0r commented 7 years ago

thanks a lot.

so the only way I was able to do this sanely was by pushing a bunch of other, only lightly tested changes to the build system

you may want to try out git add --patch. especially the interactive command s to shrink a patch hunk is quite practical.