-
Notifications
You must be signed in to change notification settings - Fork 65
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
Conda package for cpptraj #1125
Open
dacase
wants to merge
26
commits into
Amber-MD:conda
Choose a base branch
from
dacase:conda
base: conda
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 21 commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
6c3d897
first complete cpptraj build--still needs packaging work
dacase 0546fe9
tweaks to readline for first conda build
dacase 3110aca
tweaks to build.sh: no -openmp, include activate
dacase 44e4b19
to first version 0.1 on linux
dacase bba2b94
include <algorithm> header, needed for the copy() and fill() methods
dacase d81868f
defined NEED_EXTERN_PC to prevent duplicate symbols in libreadine.a. …
dacase ed4f9a6
use clang for Darwin, gnu for Linux
dacase 5a0e164
fix typos in build.sh; add arpack, openmm and openmp libraries
dacase dbd119e
Revert "defined NEED_EXTERN_PC to prevent duplicate symbols in librea…
dacase 3523e66
Revert "tweaks to readline for first conda build"
dacase 8d5d4b8
use -lncurses rather than ltermcap for external readline; will this b…
dacase 40e0ddc
look for readline headers in readline subdirectory, as I think should…
dacase 3b476d9
add readline to build, test to package
dacase c4e5807
bump to version 0.3, mpi, pnetcdf, readline
dacase 4698ed7
build mpi, cuda and serial variants on Linux
dacase a92de0f
fix glitch in build.sh that led to cpptraj itself not getting built
dacase 5c28c8e
update location and sha to version 0.4
dacase 6814bbb
minor tweaks to mkrelease
dacase d4344f8
only use coreutils and nvcc_linux-64 on linux
dacase 466deca
seems to be able to compile on osx with openmp enabled
dacase aa8cd72
go back to using path: rather than url:/sha: for now
dacase 1a7f1a8
mostly working, but need to get recursive headers into include/cpptra…
dacase 07d6c59
Try to improve compatibility with system readline libraries (#1126)
drroe 14d4b0d
no longer need to skip aarch64
dacase a2a43ea
Have configure and cmake install headers for libcpptraj (#1129)
drroe f7493ef
Merge branch 'master' into conda
dacase File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#!/bin/sh | ||
|
||
version=$1 | ||
|
||
tar cvf ../cpptraj-$version.tar configure dat get_library.sh \ | ||
LICENSE Makefile src test doc README.md | ||
cd .. | ||
gzip cpptraj-$version.tar | ||
|
||
rsync -av cpptraj-$version.tar.gz \ | ||
[email protected]:ambermd-website.rcsb.rutgers.edu/downloads | ||
|
||
curl -sL https://ambermd.org/downloads/cpptraj-$version.tar.gz | openssl sha256 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
|
||
export CPPTRAJHOME=${CONDA_PREFIX} | ||
|
||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
#!/bin/sh | ||
|
||
export NVCC=nvcc | ||
# export SHADER_MODEL=sm_89 | ||
|
||
arch=`uname` | ||
|
||
if [ "$arch" == "Darwin" ]; then | ||
|
||
./configure -openmp -readline -openmm -openblas -fftw3 -zlib -bzlib -shared -arpack clang | ||
make install | ||
make clean | ||
./configure -mpi -readline -openmm -openblas -fftw3 -zlib -bzlib -shared -arpack clang | ||
make install | ||
make clean | ||
./configure -readline -openmm -openblas -fftw3 -zlib -bzlib -shared -arpack clang | ||
make install | ||
|
||
else | ||
|
||
./configure -cuda -readline -openmm -openblas -fftw3 -zlib -bzlib -shared -arpack gnu | ||
make install | ||
make clean | ||
./configure -mpi -readline -openmm -openblas -fftw3 -zlib -bzlib -shared -arpack gnu | ||
make install | ||
make clean | ||
./configure -readline -openmm -openblas -fftw3 -zlib -bzlib -shared -arpack gnu | ||
make install | ||
|
||
fi | ||
|
||
|
||
rsync -a README.md config.h LICENSE dat bin lib test $PREFIX | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
mkdir -p $PREFIX/doc | ||
rsync -a doc/CpptrajManual.pdf $PREFIX/doc | ||
|
||
# Export CPPTRAJHOME automatically | ||
mkdir -p ${PREFIX}/etc/conda/{activate,deactivate}.d | ||
cp ${RECIPE_DIR}/activate.sh ${PREFIX}/etc/conda/activate.d/cpptraj.sh | ||
cp ${RECIPE_DIR}/deactivate.sh ${PREFIX}/etc/conda/deactivate.d/cpptraj.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
c_compiler_version: | ||
- 11.4.0 # [linux] | ||
|
||
cxx_compiler_version: | ||
- 11.4.0 # [linux] | ||
|
||
fortran_compiler_version: | ||
- 11.4.0 # [linux] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
|
||
unset CPPTRAJHOME | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
{% set version = "0.4" %} | ||
{% set mpi = "mpich" %} | ||
|
||
package: | ||
name: cpptraj | ||
# version 0.1 trying to adapt recipe from AmberClassic | ||
# version 0.2 small tweaks get allow osx-64 build | ||
# version 0.3 add mpi and pnetcdf support | ||
# version 0.4 build from url; add cuda | ||
version: {{ version }} | ||
|
||
source: | ||
path: ../ | ||
# url: https://ambermd.org/downloads/cpptraj-{{ version }}.tar.gz | ||
# sha256: 6be4dda3f6f59610d97b2cdb8f6745ca05cff60705ba95dbcfc07c10fd083d95 | ||
|
||
build: | ||
number: 1 | ||
skip: True # [win or ppc65le or aarch64] | ||
|
||
mpi: | ||
- {{ mpi }} | ||
|
||
requirements: | ||
build: | ||
- make | ||
- {{ compiler('fortran') }} | ||
- {{ compiler('c') }} | ||
- {{ compiler('cxx') }} | ||
- {{ mpi }} # [ mpi == "mpich" ] | ||
- libpnetcdf | ||
- {{ compiler('nvcc') }} # [ linux ] | ||
- coreutils # [ linux ] | ||
- nvcc_linux-64 # [ linux ] | ||
- llvm-openmp # [osx] | ||
- libgomp # [linux] | ||
- fftw | ||
- readline | ||
- libnetcdf | ||
- netcdf-fortran | ||
|
||
host: | ||
- openblas | ||
- arpack | ||
- openmm | ||
- libnetcdf | ||
- netcdf-fortran | ||
- llvm-openmp # [osx] | ||
- libgomp # [linux and not aarch64] | ||
- {{ mpi }} # [ mpi == "mpich" ] | ||
- libpnetcdf | ||
- fftw | ||
- readline | ||
|
||
run: | ||
- llvm-openmp # [osx] | ||
- libgomp # [linux and not aarch64] | ||
- openblas | ||
- arpack | ||
- openmm | ||
- libnetcdf | ||
- netcdf-fortran | ||
- {{ mpi }} # [ mpi == "mpich" ] | ||
- libpnetcdf | ||
- fftw | ||
- readline | ||
|
||
test: | ||
commands: | ||
- cpptraj --help | ||
|
||
about: | ||
home: https://github.com/Amber-MD/cpptraj.git | ||
license: GPL-3.0-or-later | ||
license_file: | ||
- LICENSE | ||
summary: 'Performs analysis of MD trajectories, especially for biomolecules' | ||
description: | | ||
CPPTRAJ is a program designed to process and analyze molecular | ||
dynamics trajectories and relevant data sets derived from their | ||
analysis. CPPTRAJ supports many popular MD software packages including | ||
Amber, CHARMM, Gromacs, and NAMD. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also add
export CPPTRAJ_HEADERDIR=${CONDA_PREFIX}/include/cpptraj
sopytraj
can find the header files. Ideally, we should useCPPTRAJHOME/include
but the header files might overwrite other library's headers, so we make "cpptraj" folder.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hainm do a
conda install dacase::cpptraj
(only for linux-64 right now), and see if libraries and headers seem to be in the proper places with the proper information.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dacase I confirm that I do see
$PREFIX/lib/libcpptraj.so and $PREFIX/include/cpptraj/*.h
Thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dacase It seems we need to recursively include the .h files too. pytraj only uses a subset of them but one header refers another/other header file(s), so think we need to include all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.