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

Added a build recipe for Simbody 3.5.3. #1076

Merged
merged 30 commits into from
Jul 22, 2016
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
e29d9c4
Added a build recipe for Simbody 3.5.3.
moorepants Jul 17, 2016
6271d12
Merge branch 'master' into simbody
moorepants Jul 17, 2016
f850086
Added a test to check for Simbody.h.
moorepants Jul 17, 2016
5ff19ed
Added unix toolchain, default conda env, and build dir.
moorepants Jul 17, 2016
795ba77
Fixed Simbody.h check.
moorepants Jul 17, 2016
c8acc2d
Fixed a number of things to reflect review comments.
moorepants Jul 18, 2016
f07d508
Changed build number to 200.
moorepants Jul 18, 2016
40cfc2c
Removed lapack dep.
moorepants Jul 18, 2016
13383fb
No nproc for darwin.
moorepants Jul 19, 2016
5a2f1e3
Call cmake in parent dir on windows.
moorepants Jul 19, 2016
32a403e
so -> dylib
moorepants Jul 19, 2016
ab47fcd
Enabled visualizer on linux.
moorepants Jul 19, 2016
c958858
Set yum packages to develop and added mesa.
moorepants Jul 19, 2016
f1a81b0
Build viz on all platforms.
moorepants Jul 19, 2016
3c123a1
Make makefile verbose.
moorepants Jul 19, 2016
3ae4485
Trying to find glut.
moorepants Jul 19, 2016
53afd15
Put optional bash arg into bash array.
moorepants Jul 19, 2016
10c42b7
Only override GLUT on linux.
moorepants Jul 19, 2016
1553db2
Fixed the ctest variable expansion.
moorepants Jul 19, 2016
100d57a
Moved cmake optional arg back to same line.
moorepants Jul 19, 2016
509d657
Trying only more var expansion.
moorepants Jul 19, 2016
da01756
Another try at expanding args for ctest.
moorepants Jul 19, 2016
7d7e24e
Final fix to get ctest arg expansion working.
moorepants Jul 19, 2016
7a260f5
Print the version of bash to help debug the ctest arg error.
moorepants Jul 19, 2016
351d092
eval the ctest command to deal with the arg expansion.
moorepants Jul 19, 2016
b1d6b7a
Fix paths to the simbody-visualizer binary.
moorepants Jul 19, 2016
9ed61f2
Disable windows builds for now [skip appveyor].
moorepants Jul 20, 2016
21e91ef
Added more file tests in the meta.yaml.
moorepants Jul 20, 2016
9ee89cb
Fixed visualizer binary location.
moorepants Jul 20, 2016
fd28fd3
Force the linux lib dir to be lib instead of lib64.
moorepants Jul 21, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions recipes/simbody/bld.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
mkdir build
cd build
cmake -G "%CMAKE_GENERATOR%" -DBUILD_VISUALIZER=OFF -DCMAKE_INSTALL_PREFIX="%LIBRARY_PREFIX%"
Copy link
Member

Choose a reason for hiding this comment

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

I think %CMAKE_GENERATOR% can't be quoted.

cmake --build . --target install --config Release -- /verbosity:quiet
REM NOTE: Run just one test here in the build directory to make sure things
REM built correctly. This cannot be specified in the meta.yml:test section
REM because it won't be run in the build directory.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it possible to cd <dir>; ctest ...; cd - in the meta.yml:test? I looked to see if ctest could be run from another directory, and it does not seem so :/.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not quite sure, but the build directory may not exist at that point. I can try though.

Copy link
Member

Choose a reason for hiding this comment

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

At that point, CI is using the newly created package and therefore the tests are not found

ctest --build-config Release --output-on-failure -R TestMassMatrix
Copy link
Contributor

Choose a reason for hiding this comment

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

It would be best to run all the tests. They should only take about ~30 seconds to run. Sometimes, one of them will fail on platforms that have not received as much testing from us (e.g. Red Hat).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok. I'll just run them all here.

5 changes: 5 additions & 0 deletions recipes/simbody/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash
cmake -DCMAKE_INSTALL_PREFIX="$PREFIX" -DBUILD_VISUALIZER=off
make
ctest -R TestMassMatrix
make install
44 changes: 44 additions & 0 deletions recipes/simbody/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{% set version = "3.5.3" %}
Copy link
Member

Choose a reason for hiding this comment

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

Add this {% set variant = "openblas" %} below.

Copy link
Member

Choose a reason for hiding this comment

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

Done below.


package:
name: simbody
version: {{ version }}

source:
fn: Simbody-{{ version }}.tar.gz
url: https://github.com/simbody/simbody/archive/Simbody-{{ version }}.tar.gz
sha256: 8005fbdb16c6475f98e13b8f1423b0e9951c193681c2b0d19ae5b711d7e24ec1

build:
number: 0
Copy link
Member

Choose a reason for hiding this comment

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

Change to 200.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Why is this?

Copy link
Member

Choose a reason for hiding this comment

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

See this hackpad.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok.

skip: true # [win and py35]
Copy link
Member

Choose a reason for hiding this comment

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

This should be win and not py35

features:
- vc14 # [win and py35]
Copy link
Member

Choose a reason for hiding this comment

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

Add this.

        - blas_{{ variant }}  # [unix]


# NOTE: This installs the minimum dependencies for Simbody, i.e., no
# visualizer. I'm also not completely sure if blas and lapack are necessary for
# the unix builds because they are supposedly included with Simbody. Once
Copy link
Contributor

Choose a reason for hiding this comment

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

blas/lapack are not included on UNIX; they are only included on Windows.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, I'll remove this note.

# FreeGLUT, Xi, and Xmu are avaliable via Anaconda.org (free or conda-forge)
# they can be added.
requirements:
build:
- cmake
- blas # [not win]
- lapack # [not win]
- vc 14 # [win]
run:
- blas # [not win]
- lapack # [not win]
Copy link
Member

Choose a reason for hiding this comment

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

Same story as above.

- vc 14 # [win]

Copy link
Member

Choose a reason for hiding this comment

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

@moorepants you can add a simple "file exists" test here. See an example in:

https://github.com/conda-forge/hdfeos2-feedstock/blob/master/recipe/meta.yaml#L26-L27

about:
home: https://simtk.org/home/simbody
license: Apache-2.0
summary: >
High-performance C++ multibody dynamics/physics library for simulating
articulated biomechanical and mechanical systems like vehicles, robots,
and the human skeleton.

extra:
recipe-maintainers:
- moorepants