NetworkVerification / nv

A Framework for Modeling and Analyzing Network Configurations
MIT License
31 stars 2 forks source link

Test if mlcuddidl.3.0.4 requirement is still necessary #71

Closed alberdingk-thijm closed 2 years ago

alberdingk-thijm commented 2 years ago

A new version of mlcuddidl was released this past June which may perhaps help sort out some of the issues we've experienced in the past with mlcuddidl (see issue #7). Has anyone tried the newer versions of the library with NV to see if we still need to cap our version at 3.0.4? It might make installation easier if we don't need to have special instructions for Macs.

alberdingk-thijm commented 2 years ago

Just tested with the following switch on Void Linux, things seem to be working.

> opam switch show
4.12.0
> opam list
# Packages matching: installed
# Name                  # Installed # Synopsis
ANSITerminal            0.8.2       Basic control of ANSI compliant terminals and the windows shell
base-bigarray           base
base-bytes              base        Bytes library distributed with the OCaml compiler
base-threads            base
base-unix               base
base64                  3.5.0       Base64 encoding for OCaml
batteries               3.3.0       A community-maintained standard library extension
biniou                  1.2.1       Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve
camlidl                 1.09        Stub code generator for OCaml
conf-gmp                3           Virtual package relying on a GMP lib system installation
conf-gmp-powm-sec       3           Virtual package relying on a GMP lib with constant-time modular exponentiation
conf-m4                 1           Virtual package relying on m4
conf-pkg-config         2           Check if pkg-config is installed and create an opam switch local pkgconfig folder
conf-zlib               1           Virtual package relying on zlib
conf-zmq                0.1         Virtual package relying on zmq library installation
cppo                    1.6.7       Code preprocessor like cpp for OCaml
cppo_ocamlbuild         1.6.7       Plugin to use cppo with ocamlbuild
cryptokit               1.16.1      A library of cryptographic primitives
csexp                   1.5.1       Parsing and printing of S-expressions in Canonical form
dune                    2.9.0       Fast, portable, and opinionated build system
dune-configurator       2.9.0       Helper library for gathering system configuration
easy-format             1.3.2       High-level and functional interface to the Format module of the OCaml standard library
fileutils               0.6.3       API to manipulate files (POSIX like) and filenames
fix                     20201120    Facilities for memoization and fixed points
integers                0.4.0       Various signed and unsigned integer types for OCaml
logs                    0.7.0       Logging infrastructure for OCaml
lru-cache               0.3.0       A simple implementation of a LRU cache.
lwt                     5.4.1       Promises and event-driven I/O
lwt_ppx                 2.0.1       PPX syntax for Lwt, providing something similar to async/await from JavaScript
menhir                  20210419    An LR(1) parser generator
menhirLib               20210419    Runtime support library for parsers generated by Menhir
menhirSdk               20210419    Compile-time library for auxiliary tools related to Menhir
mlcuddidl               3.0.7       OCaml interface to the CUDD BDD library
mmap                    1.1.0       File mapping functionality
num                     1.4         The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml                   4.12.0      The OCaml compiler (virtual package)
ocaml-base-compiler     4.12.0      Official release 4.12.0
ocaml-config            2           OCaml Switch Configuration
ocaml-migrate-parsetree 1.8.0       Convert OCaml parsetrees between different versions
ocaml-options-vanilla   1           Ensure that OCaml is compiled with no special options enabled
ocamlbuild              0.14.0      OCamlbuild is a build system with builtin rules to easily build most OCaml projects.
ocamlfind               1.9.1       A library manager for OCaml
ocamlgraph              2.0.0       A generic graph library for OCaml
ocplib-endian           1.1         Optimised functions to read and write int16/32/64 from strings and bigarrays
ounit                   2.2.4       This is a transition package, ounit is now ounit2
ounit2                  2.2.4       OUnit testing framework
parmap                  1.2.3       Minimalistic library allowing to exploit multicore architecture
ppx_derivers            1.2.1       Shared [@@deriving] plugin registry
ppx_deriving            4.5         Type-driven code generation for OCaml >=4.02.2
ppx_deriving_argparse   0.0.5       Very simple ppx deriver of command line parser for Ocaml >=4.02
ppx_deriving_yojson     3.5.3       JSON codec generator for OCaml
ppx_tools               6.3         Tools for authors of ppx rewriters and other syntactic tools
ppx_tools_versioned     5.4.0       A variant of ppx_tools based on ocaml-migrate-parsetree
ppxfind                 1.4         Tool combining ocamlfind and ppx
result                  1.5         Compatibility Result module
seq                     base        Compatibility package for OCaml's standard iterator type starting from 4.07.
stdint                  0.7.0       Signed and unsigned integer types having specified widths
stdlib-shims            0.3.0       Backport some of the new stdlib features to older compiler
topkg                   1.0.3       The transitory OCaml software packager
uuidm                   0.9.7       Universally unique identifiers (UUIDs) for OCaml
yojson                  1.7.0       Yojson is an optimized parsing and printing library for the JSON format
zarith                  1.12        Implements arithmetic and logical operations over arbitrary-precision integers

Once we cover more OSes, I think we can safely close this issue.

alberdingk-thijm commented 2 years ago

Checked on Arch Linux with 4.12.0, works there too.

> opam list
# Packages matching: installed
# Name                  # Installed # Synopsis
ANSITerminal            0.8.2       Basic control of ANSI compliant terminals and the windows shell
astring                 0.8.5       Alternative String module for OCaml
base                    v0.14.1     Full standard library replacement for OCaml
base-bigarray           base
base-bytes              base        Bytes library distributed with the OCaml compiler
base-threads            base
base-unix               base
batteries               3.3.0       A community-maintained standard library extension
biniou                  1.2.1       Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve
camlidl                 1.09        Stub code generator for OCaml
cmdliner                1.0.4       Declarative definition of command line interfaces for OCaml
conf-gmp                3           Virtual package relying on a GMP lib system installation
conf-m4                 1           Virtual package relying on m4
cppo                    1.6.7       Code preprocessor like cpp for OCaml
cppo_ocamlbuild         1.6.7       Plugin to use cppo with ocamlbuild
csexp                   1.5.1       Parsing and printing of S-expressions in Canonical form
dot-merlin-reader       4.1         Reads config files for merlin
dune                    2.9.0       Fast, portable, and opinionated build system
dune-build-info         2.9.0       Embed build informations inside executable
dune-configurator       2.9.0       Helper library for gathering system configuration
easy-format             1.3.2       High-level and functional interface to the Format module of the OCaml standard library
fileutils               0.6.3       API to manipulate files (POSIX like) and filenames
fix                     20201120    Facilities for memoization and fixed points
fpath                   0.7.3       File system paths for OCaml
integers                0.5.0       Various signed and unsigned integer types for OCaml
lru-cache               0.3.0       A simple implementation of a LRU cache.
menhir                  20210419    An LR(1) parser generator
menhirLib               20210419    Runtime support library for parsers generated by Menhir
menhirSdk               20210419    Compile-time library for auxiliary tools related to Menhir
merlin                  4.3.1-412   Editor helper, provides completion, typing and source browsing in Vim and Emacs
mlcuddidl               3.0.7       OCaml interface to the CUDD BDD library
num                     1.4         The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml                   4.12.0      The OCaml compiler (virtual package)
ocaml-compiler-libs     v0.12.3     OCaml compiler libraries repackaged
ocaml-config            2           OCaml Switch Configuration
ocaml-migrate-parsetree 1.8.0       Convert OCaml parsetrees between different versions
ocaml-system            4.12.0      The OCaml compiler (system version, from outside of opam)
ocaml-version           3.2.0       Manipulate, parse and generate OCaml compiler version strings
ocamlbuild              0.14.0      OCamlbuild is a build system with builtin rules to easily build most OCaml projects.
ocamlfind               1.9.1       A library manager for OCaml
ocamlformat             0.19.0      Auto-formatter for OCaml code
ocamlgraph              2.0.0       A generic graph library for OCaml
ocp-indent              1.8.1       A simple tool to indent OCaml programs
odoc                    1.5.3       OCaml documentation generator
odoc-parser             0.9.0       Parser for ocaml documentation comments
ounit                   2.2.4       This is a transition package, ounit is now ounit2
ounit2                  2.2.4       OUnit testing framework
parmap                  1.2.3       Minimalistic library allowing to exploit multicore architecture
ppx_derivers            1.2.1       Shared [@@deriving] plugin registry
ppx_deriving            4.5         Type-driven code generation for OCaml >=4.02.2
ppx_deriving_argparse   0.0.5       Very simple ppx deriver of command line parser for Ocaml >=4.02
ppx_tools               6.4         Tools for authors of ppx rewriters and other syntactic tools
ppxfind                 1.4         Tool combining ocamlfind and ppx
ppxlib                  0.15.0      Standard library for ppx rewriters
re                      1.9.0       RE is a regular expression library for OCaml
result                  1.5         Compatibility Result module
seq                     base        Compatibility package for OCaml's standard iterator type starting from 4.07.
sexplib0                v0.14.0     Library containing the definition of S-expressions and some base converters
stdio                   v0.14.0     Standard IO library for OCaml
stdlib-shims            0.3.0       Backport some of the new stdlib features to older compiler
topkg                   1.0.3       The transitory OCaml software packager
tyxml                   4.5.0       A library for building correct HTML and SVG documents
uchar                   0.0.2       Compatibility library for OCaml's Uchar module
uucp                    13.0.0      Unicode character properties for OCaml
uuseg                   13.0.0      Unicode text segmentation for OCaml
uutf                    1.0.2       Non-blocking streaming Unicode codec for OCaml
yojson                  1.7.0       Yojson is an optimized parsing and printing library for the JSON format
zarith                  1.12        Implements arithmetic and logical operations over arbitrary-precision integers
alberdingk-thijm commented 2 years ago

And on Mac with 4.12.0:

> opam list
# Packages matching: installed
# Name                  # Installed # Synopsis
ANSITerminal            0.8.2       Basic control of ANSI compliant terminals and the windows shell
astring                 0.8.5       Alternative String module for OCaml
base                    v0.14.1     Full standard library replacement for OCaml
base-bigarray           base
base-bytes              base        Bytes library distributed with the OCaml compiler
base-threads            base
base-unix               base
batteries               3.3.0       A community-maintained standard library extension
biniou                  1.2.1       Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve
camlidl                 1.09        Stub code generator for OCaml
cmdliner                1.0.4       Declarative definition of command line interfaces for OCaml
conf-gmp                3           Virtual package relying on a GMP lib system installation
conf-m4                 1           Virtual package relying on m4
cppo                    1.6.7       Code preprocessor like cpp for OCaml
cppo_ocamlbuild         1.6.7       Plugin to use cppo with ocamlbuild
csexp                   1.5.1       Parsing and printing of S-expressions in Canonical form
dot-merlin-reader       4.1         Reads config files for merlin
dune                    2.9.1       Fast, portable, and opinionated build system
dune-build-info         2.9.1       Embed build informations inside executable
dune-configurator       2.9.1       Helper library for gathering system configuration
easy-format             1.3.2       High-level and functional interface to the Format module of the OCaml standard library
fileutils               0.6.3       API to manipulate files (POSIX like) and filenames
fix                     20201120    Facilities for memoization and fixed points
fpath                   0.7.3       File system paths for OCaml
integers                0.5.1       Various signed and unsigned integer types for OCaml
lru-cache               0.3.0       A simple implementation of a LRU cache.
menhir                  20210419    An LR(1) parser generator
menhirLib               20210419    Runtime support library for parsers generated by Menhir
menhirSdk               20210419    Compile-time library for auxiliary tools related to Menhir
merlin                  4.3.1-412   Editor helper, provides completion, typing and source browsing in Vim and Emacs
mlcuddidl               3.0.7       OCaml interface to the CUDD BDD library
num                     1.4         The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml                   4.12.0      The OCaml compiler (virtual package)
ocaml-base-compiler     4.12.0      Official release 4.12.0
ocaml-config            2           OCaml Switch Configuration
ocaml-migrate-parsetree 1.8.0       Convert OCaml parsetrees between different versions
ocaml-options-vanilla   1           Ensure that OCaml is compiled with no special options enabled
ocamlbuild              0.14.0      OCamlbuild is a build system with builtin rules to easily build most OCaml projects.
ocamlfind               1.9.1       A library manager for OCaml
ocamlformat             0.19.0      Auto-formatter for OCaml code
ocamlgraph              2.0.0       A generic graph library for OCaml
ocp-indent              1.8.1       A simple tool to indent OCaml programs
odoc-parser             0.9.0       Parser for ocaml documentation comments
ounit                   2.2.4       This is a transition package, ounit is now ounit2
ounit2                  2.2.4       OUnit testing framework
parmap                  1.2.3       Minimalistic library allowing to exploit multicore architecture
ppx_derivers            1.2.1       Shared [@@deriving] plugin registry
ppx_deriving            4.5         Type-driven code generation for OCaml >=4.02.2
ppx_deriving_argparse   0.0.5       Very simple ppx deriver of command line parser for Ocaml >=4.02
ppx_tools               6.4         Tools for authors of ppx rewriters and other syntactic tools
ppxfind                 1.4         Tool combining ocamlfind and ppx
re                      1.10.3      RE is a regular expression library for OCaml
result                  1.5         Compatibility Result module
seq                     base        Compatibility package for OCaml's standard iterator type starting from 4.07.
sexplib0                v0.14.0     Library containing the definition of S-expressions and some base converters
stdio                   v0.14.0     Standard IO library for OCaml
stdlib-shims            0.3.0       Backport some of the new stdlib features to older compiler
topkg                   1.0.3       The transitory OCaml software packager
uchar                   0.0.2       Compatibility library for OCaml's Uchar module
uucp                    14.0.0      Unicode character properties for OCaml
uuseg                   14.0.0      Unicode text segmentation for OCaml
uutf                    1.0.2       Non-blocking streaming Unicode codec for OCaml
yojson                  1.7.0       Yojson is an optimized parsing and printing library for the JSON format
zarith                  1.12        Implements arithmetic and logical operations over arbitrary-precision integers
alberdingk-thijm commented 2 years ago

This seems like enough to me to conclude we are fine using mlcuddidl.3.0.7.