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

[Draft] CI and Public library #5

Merged
merged 7 commits into from
Apr 5, 2024
Merged

Conversation

filipeom
Copy link
Member

@filipeom filipeom commented Apr 4, 2024

This is a work in progress. Currently, my build is failing to install due to these errors:

Current problems

File "api/dune", line 11, characters 9-20:
11 |   (names build_enums)
              ^^^^^^^^^^^
In file included from build_enums.cpp:5:
../vendor/cvc5/include/cvc5/cvc5.h:16:10: fatal error: cvc5/cvc5_export.h: No such file or directory
   16 | #include <cvc5/cvc5_export.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
File "dune", line 7, characters 9-19:
7 |   (names cvc5_stubs)
             ^^^^^^^^^^
In file included from cvc5_stubs.cpp:10:
vendor/cvc5/include/cvc5/cvc5.h:16:10: fatal error: cvc5/cvc5_export.h: No such file or directory
   16 | #include <cvc5/cvc5_export.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.

It seems to be complaining that cvc5_export.h doesn't exist. Maybe I'm missing some include?

Public library

Also, when I made the cvc5 library public (with the public_name cvc5) it seems that is it also raising new errors complaining about missing shared libraries:

File "dune", line 1, characters 0-454:
 1 | (library
 2 |  (public_name cvc5)
 3 |  (name cvc5)
....
17 |   vendor/picpolyxx)
18 |  (library_flags -linkall)
19 |  (c_library_flags :standard -std=c++17 -L/opt/homebrew/lib -lgmp))
Error: No rule found for vendor/dllcadical.so
File "dune", line 1, characters 0-454:
 1 | (library
 2 |  (public_name cvc5)
 3 |  (name cvc5)
....
17 |   vendor/picpolyxx)
18 |  (library_flags -linkall)
19 |  (c_library_flags :standard -std=c++17 -L/opt/homebrew/lib -lgmp))
Error: No rule found for vendor/dllcvc5.so
File "dune", line 1, characters 0-454:
 1 | (library
 2 |  (public_name cvc5)
 3 |  (name cvc5)
....
17 |   vendor/picpolyxx)
18 |  (library_flags -linkall)
19 |  (c_library_flags :standard -std=c++17 -L/opt/homebrew/lib -lgmp))
Error: No rule found for vendor/dllpicpoly.so
File "dune", line 1, characters 0-454:
 1 | (library
 2 |  (public_name cvc5)
 3 |  (name cvc5)
....
17 |   vendor/picpolyxx)
18 |  (library_flags -linkall)
19 |  (c_library_flags :standard -std=c++17 -L/opt/homebrew/lib -lgmp))
Error: No rule found for vendor/dllpicpolyxx.so

This second problem seems to be more problematic, as using ./configure.sh with --static will only generate static library archives (i.e., .a) and using the configuration script without --static only generates shared library archives (i.e., .so) there's no option to use configure to generate both.

@filipeom filipeom changed the title CI and Public library [Draft] CI and Public library Apr 4, 2024
@filipeom filipeom requested a review from joaomhmpereira April 4, 2024 00:06
@filipeom
Copy link
Member Author

filipeom commented Apr 4, 2024

I'll leave this issue here as I think it might be relevant to me ocaml/dune#4409

dune Outdated Show resolved Hide resolved
Copy link
Member Author

@filipeom filipeom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, can you add some ocamlformat configuration to the project and run dune fmt? Just so things are a bit more consistent

I recommend https://github.com/formalsec/encoding/blob/main/.ocamlformat but you can choose whatever you like most

dune Show resolved Hide resolved
Copy link
Member

@joaomhmpereira joaomhmpereira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for all the help @filipeom!
Merging!

@joaomhmpereira joaomhmpereira merged commit d301b13 into main Apr 5, 2024
1 check passed
@joaomhmpereira joaomhmpereira deleted the portable-installation branch April 5, 2024 18:07
@joaomhmpereira joaomhmpereira linked an issue Apr 5, 2024 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add ocamlformat configuration
2 participants