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

[FMUComplianceChecker] Add builder #4284

Merged
merged 19 commits into from
Jan 21, 2022

Conversation

sharanry
Copy link
Contributor

No description provided.


# Collection of sources required to complete build
sources = [
ArchiveSource("https://github.com/modelica-tools/FMUComplianceChecker/releases/download/2.0.4/FMUChecker-2.0.4-linux64.zip", "02f6d1a175fe4c51d5840ef40fcd05ca7fb3ceec170d7825d9c946d75eae12eb"),
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
ArchiveSource("https://github.com/modelica-tools/FMUComplianceChecker/releases/download/2.0.4/FMUChecker-2.0.4-linux64.zip", "02f6d1a175fe4c51d5840ef40fcd05ca7fb3ceec170d7825d9c946d75eae12eb"),
ArchiveSource("https://github.com/modelica-tools/FMUComplianceChecker/releases/download/$(version)/FMUChecker-$(version)-linux64.zip", "02f6d1a175fe4c51d5840ef40fcd05ca7fb3ceec170d7825d9c946d75eae12eb"),

Copy link
Member

Choose a reason for hiding this comment

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

I don't think this binary would work on a Musl-based system

@jeremiahpslewis
Copy link
Contributor

@sharanry Hey! Maybe I'm missing something here, but have you thought about building this project from source, so that you can generate binaries for all supported_platforms()?

Copy link
Member

@giordano giordano left a comment

Choose a reason for hiding this comment

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

Although we occasionally redistribute pre-built binaries, I agree that it may be better (and actually easier) to build from source.


# Collection of sources required to complete build
sources = [
ArchiveSource("https://github.com/modelica-tools/FMUComplianceChecker/releases/download/2.0.4/FMUChecker-2.0.4-linux64.zip", "02f6d1a175fe4c51d5840ef40fcd05ca7fb3ceec170d7825d9c946d75eae12eb"),
Copy link
Member

Choose a reason for hiding this comment

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

I don't think this binary would work on a Musl-based system

@sharanry
Copy link
Contributor Author

sharanry commented Jan 19, 2022

@jeremiahpslewis I tried doing that. But the I am facing a subversion certificate error while checking out when trying to build from source. Maybe I will give it a go in the CI once?

@jeremiahpslewis
Copy link
Contributor

jeremiahpslewis commented Jan 19, 2022

@sharanry You might look at one of the existing cmake build scripts (maybe this one https://github.com/JuliaPackaging/Yggdrasil/blob/master/C/Chuffed/build_tarballs.jl) and take things from there?

(And afaik, no harm in sending things through CI and checking what you get) :)

@sharanry
Copy link
Contributor Author

sharanry commented Jan 19, 2022

@giordano @jeremiahpslewis This is the error I am facing with subversion. Have you come across this before?

@giordano
Copy link
Member

It's an upstream bug: modelica-tools/FMUComplianceChecker#62

@sharanry
Copy link
Contributor Author

@giordano Could we redistribute pre-built binaries until that is resolved upstream?

@jeremiahpslewis
Copy link
Contributor

@sharanry What about working with a patch for this section of the CMake file which uses an env var or hardcodes the version? https://github.com/modelica-tools/FMUComplianceChecker/blob/master/CMakeLists.txt#L171:L186

@sharanry
Copy link
Contributor Author

@giordano Linux builds successfully. However, I am facing issues with Windows.
The build instructions for Windows suggest using either of the following.

  • MSYS terminal with g++/gcc on Windows OR
    mkdir build; cd build
    cmake -DFMUCHK_INSTALL_PREFIX=<dir name> -G "MSYS Makefiles" <checker dir>
    make install test
  • Microsoft Visual Studio 10 compilers on Windows
    mkdir build; cd build
    cmake -DFMUCHK_INSTALL_PREFIX=<dir name> -G "Visual Studio 10" <checker dir>    
    cmake --build . --config MinSizeRel --target install

I didn't see them in the generators list. Any way those mentioned above can be supported?

@giordano
Copy link
Member

Ignore those instructions. And their CMake script is crap. You have to do something similar to 5d61d0d (#4269)

@giordano
Copy link
Member

It's a castle of crap CMake files, also https://github.com/modelon-community/fmi-library doesn't forward the toolchain file

@giordano giordano force-pushed the sy/FMUComplianceChecker branch 2 times, most recently from 66c94ff to 5205692 Compare January 20, 2022 21:57
@giordano giordano force-pushed the sy/FMUComplianceChecker branch from 5205692 to ddd2b82 Compare January 20, 2022 22:07
@giordano giordano changed the title [New Package] FMUComplianceChecker [FMUComplianceChecker] Add builder Jan 20, 2022
@giordano giordano force-pushed the sy/FMUComplianceChecker branch 3 times, most recently from 15de59d to 68f1a37 Compare January 20, 2022 22:23
@giordano giordano force-pushed the sy/FMUComplianceChecker branch from 68f1a37 to 3394a92 Compare January 20, 2022 22:30
@giordano
Copy link
Member

For the time being 14 platforms out of 16 working.

@giordano
Copy link
Member

All green now. It wasn't that hard after all, right? 😉

@sharanry
Copy link
Contributor Author

Thanks a lot, @giordano! That was just amazing to watch 😅.

@giordano giordano merged commit dc7fd34 into JuliaPackaging:master Jan 21, 2022
simeonschaub pushed a commit to simeonschaub/Yggdrasil that referenced this pull request Feb 23, 2022
* [New Package] FMUComplianceChecker

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* Update build_tarballs.jl

* fix typo

* Updates based on review

* Update checksum

* Move binaries manually

* [FMUComplianceChecker] Add patches and build for all platforms

* [FMUComplianceChecker] Use proper libtool for macOS

* [FMUComplianceChecker] Remove extra stuff from the tarball

* Update F/FMUComplianceChecker/build_tarballs.jl

Co-authored-by: Mosè Giordano <[email protected]>
Co-authored-by: Mosè Giordano <[email protected]>
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.

3 participants