Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multiple CUDD builds on Travis CI #160

Open
johnyf opened this issue Aug 6, 2016 · 6 comments
Open

multiple CUDD builds on Travis CI #160

johnyf opened this issue Aug 6, 2016 · 6 comments
Assignees
Labels

Comments

@johnyf
Copy link
Member

johnyf commented Aug 6, 2016

Both gr1c and dd.cudd (for testing the option of using omega with cudd) build CUDD on Travis CI, which is suboptimal. For now, we can let this be so, but in the future we may want to consider linking to a common library for all tools that use CUDD. Currently, the aforementioned tools support different CUDD versions, so this is not yet possible.

@slivingston
Copy link
Member

How difficult is adjusting dd.cudd to find CUDD in a different location?

With gr1c version >= 0.11.0, the installation location of CUDD can be manipulated by changing deps_prefix before building gr1c.

@johnyf
Copy link
Member Author

johnyf commented Aug 6, 2016

It is not very difficult to adjust dd.cudd, it can be done by changing CUDD_PATH, which is defined in download.py. One possibility is to add an optional command line argument to setup.py that defines where CUDD is located.

@slivingston
Copy link
Member

At the current tip of master branch (7647d64), a built release of gr1c that is statically linked to CUDD is used on Travis CI, thereby avoiding the need of building CUDD for gr1c. However, now the optional dependency Slugs is built using get-slugs.sh, so we have again a second (i.e., repeated) building of CUDD.

@johnyf
Copy link
Member Author

johnyf commented Sep 6, 2016

Building or fetching a binary (perhaps as is done for gr1c) for CUDD needs to happen first, because the default solver (e.g., omega) is installed before optional dependencies are tested (also, versions differ until tulip-control/dd#8 is closed). The Makefile of slugs is not parameterized wrt the path of CUDD.

@johnyf
Copy link
Member Author

johnyf commented Feb 13, 2017

dd == 0.4.3 has been released. It uses CUDD v3.0.0 and supports passing a path to the CUDD installation, so in principle it should now be possible to build CUDD v3.0.0 once, and reuse that build when building each tool that depends on CUDD.

@slivingston slivingston self-assigned this Feb 14, 2017
@slivingston
Copy link
Member

I will attempt to create a CI configuration that only builds CUDD once. Stay tuned for the PR!

@johnyf johnyf added the testing label Jun 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants