[angr] Z3 pip package

Christoph Wintersteiger cwinter at microsoft.com
Thu Jan 28 01:55:15 PST 2016


Hi Yan,

Fantastic, thanks a lot! I agree, that name should make it pretty clear to everybody.

Cheers,
Christoph


Christoph M. Wintersteiger | Researcher | Tel: +44 1223 479724 | Fax: +44 1223 479999 | research.microsoft.com/people/cwinter<http://research.microsoft.com/people/cwinter>

[MSFT_logo_Gray DE sized SIG1.png]
Microsoft Research Limited (company number 03369488) is a company registered in England and Wales whose registered office is at 21 Station Road, Cambridge, CB1 2FB

From: Yan [mailto:zardus at gmail.com]
Sent: 27 January 2016 19:59
To: Christoph Wintersteiger <cwinter at microsoft.com>
Cc: Andrew Dutcher <andrew at andrewdutcher.com>; angr at lists.cs.ucsb.edu
Subject: Re: [angr] Z3 pip package

Hi Christoph,

I finally got around to renaming this! It is now "angr-only-z3-custom". Hopefully that'll get the point across.

Sorry for the delay on this!
- Yan

On Fri, Dec 18, 2015 at 9:32 AM, Christoph Wintersteiger <cwinter at microsoft.com<mailto:cwinter at microsoft.com>> wrote:
Hi,

Sounds good. I was wondering about the binaries as well, as you’d have to expect a lot of problems with the system libraries libc, omp, etc. I think it’s fine if we add –custom to the package name, that should hopefully trigger the right thinking patterns in users. “unsupported” isn’t completely right either, because you do at least support the angr-relevant parts. Perhaps ‘z3-angr-only’ would be another alternative?

Cheers,
Christoph


Christoph M. Wintersteiger | Researcher | Tel: +44 1223 479724<tel:%2B44%201223%20479724> | Fax: +44 1223 479999<tel:%2B44%201223%20479999> | research.microsoft.com/people/cwinter<https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fresearch.microsoft.com%2fpeople%2fcwinter&data=01%7c01%7ccwinter%40064d.mgd.microsoft.com%7cb8ea8130cd024cd0276508d327545bd8%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=3lk5l0zIQwmGGKj3c6KAeTXy8NVR0Ti6gSGiRxrCGBs%3d>

[MSFT_logo_Gray DE sized SIG1.png]
Microsoft Research Limited (company number 03369488) is a company registered in England and Wales whose registered office is at 21 Station Road, Cambridge, CB1 2FB

From: Yan [mailto:zardus at gmail.com<mailto:zardus at gmail.com>]
Sent: 18 December 2015 17:18

To: Christoph Wintersteiger <cwinter at microsoft.com<mailto:cwinter at microsoft.com>>
Cc: Andrew Dutcher <andrew at andrewdutcher.com<mailto:andrew at andrewdutcher.com>>; angr at lists.cs.ucsb.edu<mailto:angr at lists.cs.ucsb.edu>
Subject: Re: [angr] Z3 pip package

We definitely need the angr installation procedure to be automateable, so we'd prefer to rename the package rather than have user interaction as a requirement. Let me know which ("unsupported" or "custom") you would prefer, and I'll rename it to that.

As for the binaries, that was a typo on my part. We haven't been pushing binaries for Z3 (until this last time yesterday by accident) because it was causing issues with specific versions of libgomp. We might, in the future, but that makes the crossplatform support even more problematic because of the way pip handles binary distributions. I cleared the binary version from pip, so the install should trigger a compilation now (alternatively, you can do `pip install --no-use-wheel angr-z3`).

Anyways, for the time being, let me know which new naming you would prefer for "angr-z3"!

- Yan

On Fri, Dec 18, 2015 at 5:03 AM, Christoph Wintersteiger <cwinter at microsoft.com<mailto:cwinter at microsoft.com>> wrote:
Hi all,

In the case of the Python API we really have to insist on all platforms being supported, because there are lots of newbie users who have no clue what’s going on when something goes wrong, and many (if not most) are on Windows and OSX.

That said, I think it’s OK to publish your own custom packages, but it must be absolutely obvious that this is a modified version that doesn’t support many things. For instance, we could pop up a message during installation so users have to click on the “OK, I know what I’m doing” button. However, since you’re packaging binaries anyways, you could just include that in the actual angr package, couldn’t you?

Otherwise, we should find a package name that makes it clear that this is not a full and supported thing… maybe angr-custom-z3, or maybe even just angr-z3-unsupported?

I agree, the best solution is a properly maintained package, but so far we couldn’t find a person or group of people willing to do that. It looks like at least cao, delcypher, and asmeurer are interested, but it looks like none of them has a lot of time to spend on this project so far.

Cheers,
Christoph


Christoph M. Wintersteiger | Researcher | Tel: +44 1223 479724<tel:%2B44%201223%20479724> | Fax: +44 1223 479999<tel:%2B44%201223%20479999> | research.microsoft.com/people/cwinter<https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fresearch.microsoft.com%2fpeople%2fcwinter&data=01%7c01%7ccwinter%40064d.mgd.microsoft.com%7c6bb5faaeb3374729fecc08d307cf31b5%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=xobILcE3hLMtPeZ7NmZskOEvTJsA7XzLtbdW0s7TihI%3d>

[MSFT_logo_Gray DE sized SIG1.png]
Microsoft Research Limited (company number 03369488) is a company registered in England and Wales whose registered office is at 21 Station Road, Cambridge, CB1 2FB

From: Yan [mailto:zardus at gmail.com<mailto:zardus at gmail.com>]
Sent: 18 December 2015 03:55
To: Christoph Wintersteiger <cwinter at microsoft.com<mailto:cwinter at microsoft.com>>
Cc: Andrew Dutcher <andrew at andrewdutcher.com<mailto:andrew at andrewdutcher.com>>; angr at lists.cs.ucsb.edu<mailto:angr at lists.cs.ucsb.edu>
Subject: Re: [angr] Z3 pip package

Yeap, I'm in the new discussion as well (as zardus). I looked into making a separate repo for the pip-installability, but ran out of time to spend on it. Like I said, it's hard to prioritize time on exporting the setup.py when angr-z3 works for our usecase.

We currently don't support angr for Windows or OSX. I can try to smoke-test the pip installation of whatever solution we come up with for z3 on those platforms (by asking people who have access to them, as I have access to neither a Windows nor an OSX dev environment), but to be completely honest, we don't have the resources to make any guarantees. We do, however, *need* a pip-installable z3 for Linux. If you're not comfortable with the name "z3" being in "angr-z3" (which is probably leading to you getting support requests like the one that sparked this email), we can rename it to "angr-solver" or something. I am uncomfortable that this makes it seem like we are trying to "hide" the fact that we use Z3 (you guys created and released an awesome system and deserve credit and recognition), but we can do it if that's what you would prefer. I assume that this is what you mean by "pulling them"?

The best solution, for us, would be an official, pip-installable "z3" package, but I understand that this comes with a support burden for you guys. Again, my long term plan is to eventually find some time to work on this (unless someone else does first, which would be awesome), but as I'd said, I can't personally commit to supporting it on Windows and OSX.

- Yan

On Thu, Dec 17, 2015 at 5:08 AM, Christoph Wintersteiger <cwinter at microsoft.com<mailto:cwinter at microsoft.com>> wrote:
Hi Yan,

Great, thanks for taking a closer look at this!

Your PR was not rejected, Github just closed it when the base branch (unstable) was removed. We still want people to publish packages (for Python but also for everything else), so yes, it’s definitely worth thinking about it again. The discussion is still going on here: https://github.com/Z3Prover/z3/issues/288

The consensus is pretty much that we want system-packages for the native parts (libz3.dll) and separate API packages for whatever other package repositories there are (like z3.py and the other APIs).

However, from my position it’s an absolutely hard constraint that you have to be able to support Windows and OSX. If your packages are not installable on recent versions of those, then we have to pull them. The core Z3 team decided not to publish any packages at all because we don’t have enough resources to support the cross product of all package systems, but we definitely don’t have enough resources to support everybody’s broken Windows installers/builds either. So, if you can’t/don’t want to support that, you will have to find somebody who will to do that for you in a timely manner. (Apart from all that, none of us has access to those package systems anyways, so we couldn’t even pull the packages ourselves…)

Cheers,
Christoph


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.ucsb.edu/pipermail/angr/attachments/20160128/87e42a66/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 1168 bytes
Desc: image001.jpg
URL: <http://lists.cs.ucsb.edu/pipermail/angr/attachments/20160128/87e42a66/attachment-0001.jpg>


More information about the angr mailing list