23 Commits

Author SHA1 Message Date
Noah Oblath
f24dd7629a New release: v3.4.1 (#232)
* Fixed syntax errors in checking for max python version (#208)

* Fixed syntax errors in checking for max python version

* Switch OS specification to absolute versions and reduce places where those are specified

* Update Windows config to Visual Studio 17 2022

* skip ci -- Updated releases.rst with update info

* [skip ci] Added release note

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>

* Change OS specification in build workflow (#210)

* Switch OS specification to absolute versions and reduce places where those are specified

* Update Windows config to Visual Studio 17 2022

* skip ci -- Updated releases.rst with update info

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>
Co-authored-by: Darren Curtis <Darren.Curtis@pnnl.gov>

* Nsoblath/issue 212 (#217)

* Turn off debugging steps

* Only install python in Windows for "Test Usage" job, as we'll be statically linking Python in Mac and Linux.

* Search for static python libs in linux and mac when doing a static build

* Turn on tmate to check library linking

* Find threads explicitly

* Tmate only on failure

* Verbose build for debugging

* Added two more missing libraries: libdl and libutil

* Enable tmate for the mac use-test job

* Test with Python 3.10

* Test with Python 3.10 revealed we needed libintl.  So that's added now.  Should be mac-specific

* Can't include_directories() on an empty variable

* Typo fix

* Find Iconv

* Add linking of APBS to CoreFoundation framework under macOS

* Remove debugging

* Removing some of the debugging tools used in testing the build.

* Switch back to the standard build with Python 3.9

* Removed last tmate debugging

* [skip ci] Document changes

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>

* Nsoblath/issue 222 (#223)

* First committed version of Dockerfile.centos

* Add alt config workflow

* Alt config build: test docker builds

* In Dockerfile, specify APBS_STATIC_BUILD instead of BUILD_SHARED_LIBS

* Missing backslash found

* Fixing bugs in both Dockerfiles

* Dockerfile bug fixing

* Complete missing pieces of ensuring a position-independent-code build

* Minor fixes

* Switch to a shared-library build in the Ubuntu Docker build

* Rename Dockerfile --> Dockerfile.ubuntu

* Override APBS_STATIC_BUILD when needed

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>

* Remove all mention of ENABLE_FETK (#225)

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>

* Nsoblath/issue 226: FETK update (#227)

* Address missing linkages

* Cleanup FETK import

* Multithreaded build in docker now controlled by a build argument

* Install superlu as a dependency in the Ubuntu docker build

* Update the FETK version in use by the automatic builds (still on a development branch)

* Add in debugging tmate session for mac

* Manually build arpack to get the static lib (which seems to have disappeared?)

* Remove -j flags

* Set fortran compiler for arpack build

* Engaging brain, fixing mac-build commands

* Comment out tmate session

* Update the FETK commit to be the main branch, pre-release

* Update the changelog

* Updated default FETK build to commit v1.9.3 (57195e)

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>

* Nsoblath/new issue 207: Addressing python version test (#229)

* Fix python test max-version test in apbs/CMakeLists.txt

* Turn on the alternate non-docker builds, with updates from the main build

* Fixing the python max version test in apbs/tests/CMakeLists.txt

* Fixing the python max version test in apbs/tools/python/CMakeLists.txt

* Test commit: remove python-max-version definition

* Simplify the Python search by looking for an exact version

* Add a default PYTHON_VERSION

* Adapt the various files involved in building APBS to the new Python version setup

* Didn't setup the python version correctly in the GHA builds

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>

* Updated installation documentation (#231)

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>

* Updated license, version, and release info for pending release

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>
Co-authored-by: Darren Curtis <Darren.Curtis@pnnl.gov>
2022-04-29 11:53:08 -07:00
Noah Oblath
fb6ecf9710 Nsoblath/issue 163 (#171) (#202)
* Add a Dockerfile for testing

* Switch to FETK 1.8.1 and cleanup of FETK build

* New versions of geoflow and pb_solvers for testing

* Simplified Dockerfile

* Fixing a bug for getting FETK in windows

* A little more cleanup

* Update Geoflow git tag for new release

* Test building static libs

* Update pb_solvers commit to most recent release

* Update to the latest release of pb_solvers

* Separate configure/build stage for linux and mac

* Update the build script

* Update .build.sh

* Add libopenblas-dev to the linux dependencies

* Add tmate session to debug windows packing issue

* Debugging the windows packaging failure

* Maybe it's a shell problem?

* A little more debugging of the windows cpack failure

* Separate package creation for windows to get around the cmake/chocolatey conflict

* Best if I use the proper syntax . . .

* Typo fix

* Remove debugging modifications

* Cleanup of the build workflow

* Removing AppVeyor build and badge (Windows build is now done in GitHub Actions)

* Update .build.sh

* Update index.rst

* Use software-properties-common to get python3 in the Dockerfile

* Change directory into build before running tests

* Tests don't need to be their own project

* Turning off testing and building in the build script for GHA test purposes

* Check that the geoflow tests are working with this dev branch of geoflow

* Updated to released version of Geoflow

* First attempt at a test job

* Added required dependencies for apbs linkages
Added running of an example

* Fix directory

* Fixing the path to the downloaded artifacts

* Testing for mac and windows requirements

* Syntax fix

* Mod to check mac prereqs; note about windows prereqs

* (temporarily) remove some slow tests

* Add mac prereqs for test job

* Add component specification to all install lines and use to control the package creation

* Add tmate back in for now

* Enable the build of iAPBS, with a few changes to how it's done to make sure it links into apbs

* Minor logic fix

* Removed the include/Eigen directory.  It seemed to be confusing the Windows build.

* APBS needs to know where Eigen3 is

* Geoflow updated to deconflict class name with FETK/mc.  Build of Geoflow updated, with APBS dependency moved into APBS.  Build in src is updated accordingly.

* Updating Geoflow to the new release

* Move configure_file for apbscfg.h down in the CMakeLists.txt so that it has all of the necessary info

* Enable tmate session in windows to check linking for a successful windows test

* Potential fix to incorrect arguments in calls to preRefineFE and postRefineFE

* tmate session on test job failure

* Temporarily include headers and libraries in the zip file

* Remove hardcoded apbscfg.h and maloccf.h

* Add windows dependencies to the test run

* echo the PATH variable so we can check to see if the vcpkg libraries are findable

* Add the vcpkg bin directory to the path

* Use variable ENABLE_FETK instead of FETK_ENABLED to control building with FETK

* Renaming some build variables, per some TODOs in apbscfg.h.in

* Switch use tests to using run_selected_tests.sh

* Forgot to include the script to run

* Fix permissions for the examples scripts by using the USE_SOURCE_PERMISSIONS argument

* Added CHANGELOG.md and .extract_section.sh script (copied from FETK implementation)

* Add release.yaml and release artifacts (copied implementation from FETK)

* Update version to 3.3.0.alpha

* Fix variable for tag name

* Move release of artifacts to a separate job

* Was missing the step id

* Also had the wrong id here

* Oy, hopefully the last thing I missed

* Fixing the logic of having a separate publish release job

* Reworking how the package filenames are handled

* Trigger a new build

* Attempting fix to issue with retrieving and storing the zip file name

* Use expression instead of shell expansion

* Workflow cleanup

* Back-filling the changelog's previous entries from the GitHub Releases

* Git tags are prepended with a v

* Consolidating cmake settings

* Turn PYGBE on, and a couple of associated fixes

* Stripping out Tinker support

* Enable debugging in workflows

* Add python3 to mac and linux dependencies

* Shouldn't need `vcpkg integrate install` in the use test

* Need the python library in linux

* Update .extract_section.sh to handle the rst file releases.rst

* Test conversion of release rst to md

* Oops, docker actions are linux only

* One more linux-only restriction

* Build directory and install directory check for already-set values in .build.sh

* Do initial work to accommodate building the NSIS file

* Fixing typos from the last commit

* Actually process and attempt to use the NSIS file

* Separate NSIS build into a separate step to see what's causing the job to hang

* Fixing step id

* Move release extraction to release.yaml and use setup-python@v2 for python installation

* Setup to do a little debugging

* Removing the use of git submodule updating in the build

* Remove NSIS use test for now

* Removing the use of NSIS packaging

* Setup a tmate session for container testing

* Do a test of running a windows container

* Another container test

* One more docker container attempt

* Some documentation updates

* Return to the regular build

* Copying in dependency libraries

* Fixing a library name

* Option for a fully static build (does not work when OpenMP is used)

* Try out a fully static build without OpenMP

* Working on diagnosing static build

* Two bug fixes

* Using a test version of FETK to try a static build

* YAML fix

* Not sure why it's behaving as if a git hash matches a version tag, but for now we'll force it to use the git hash FETK download

* Compile flag needed for linux, at least

* Modifying dependencies that are installed

* Updated pb_solvers for testing the use of the pbsolvers namespace; Fixed inclusion of BLAS.

* Try removing specification of compiler

* Update pb_solvers for wrapping fixes

* Enable tmate on failure

* Another pb_solvers update

* Remove openmp; I think it's screwing up finding OpenBLAS on Ubuntu

* Missing headers were causing a problem on macos

* Let's see if using libopenblas-serial-dev fixes the finding-openblas problem on linux

* Avoid some cmake warnings and use an updated pb_solvers

* Maybe the final fix to have things working?  Updating pb_solvers.

* New version of FETK

* Including some dependencies

* Added finding AMD

* git-ignore all directories that start with build

* FETK is now treated as a required dependency, much earlier in the build

* These find modules are now handled by FETK

* Updating how dependencies are searched for and handled

* Use GNU standard install directories

* Getting things in the right order

* Remove the use of EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH

* I think we deleted nanoshaper when we cleared the temp directory, so don't do this

* Install metis manually on mac and linux to get static libs

* Separate tar and gunzip calls

* Sudo make install on linux

* Fixing the TABIPB library install location and NanoShaper duplicate install issues.

* Adding Python for linux

* Add a global static-build option and set the MSVC runtime library variable to hopefully perform a static build in windows

* Run tmate for windows to check linking

* Some anticipation of the types of jobs that will be run

* Adapt to changes in FETK

* Update FETK hash

* Remove extra line and print umfpack libraries

* Verbose build, for now

* Debugging messages

* Update FETK

* Need libumfpack for the windows use tests.  And use tmate if the build fails.

* Remove the link search variables

* Enable PYGBE in Windows and add Python to use tests in all builds

* Fix copying of dlls into the Windows zip package

* Attempt at providing a windows equivalent of the use of dirname in main.c

* Typo

* We shouldn't need the installed prereqs in Windows (libraries should come with the zip file)

* Need to get rid of the extension

* Use 7z instead of zip/unzip

* Fixing the path to the package

* Need to specify the python version to CMake

* Min and max python versions

* Treat version numbers as strings until they're into CMake

* Fix python version variable

* Add ldd step for debugging windows use test

* Let's see if it's just Python/PYGBE causing problems on the windows build

* Let's see if it's the python linking or the PYGBE-enabled code is causing the Windows use test problem

* Fixing the declaration of mol_dirname for the Windows build and re-enabling the use of PYGBE

* Some documentation updates

* Try including PYGBE without doing _splitpath

* Get tmate in windows after build

* Specify Python architecture

* Revert tmate to on failure after build

* [skip ci]
Test skipping the CI process, and also minor docs update

* Retesting with all selected examples enabled

* Remove examples that fail

* Added comments on CMake policy choices

* New FETK version

* Cleanup

* Re-enable examples to check current status

* [skip ci] Updated current status of examples in run_selected_examples.sh.

* Add metis build to the Dockerfile

* Update FETK version in the Dockerfile

* Replace pbsam-auto with pbsam in a couple of examples

* Updated run_selected_examples.sh with gdb bt of geoflow/glycerol.in example

* [skip ci] Updated releases.rst

* Fixing the logic for recognizing version numbers.  The key was to put the FETK_IMPORT_VERSION variable in brackets in the if() statement.

* Fixing issues in the running and wrapping of geoflow:
* The molecule index used when calling runGeometricFlowWrapAPBS is taken from the configuration `mol` value instead of hardcoded
* The input geoflow parameters (in struct of type GeometricFlowInput) are passed by pointer instead of as a struct

* PBAM and PBSAM are now disabled by default pending further development work on their integration

* Added notes for the failure of the born/apbs-mol-fem-extmesh.in example.  Update FETK to fix the failure.

* Enable maximum verbosity in ctest to try to diagnose the weirdness in the windows ctest run

* Fix logic around finding python for cmake <v3.19 and for only having a minimum version defined

* Report test failures with raised exceptions

* See if the Windows test failures are a shell-related issue

* Adding some missing newlines

* Trying to sort the install dir for mac and linux

* Don't clean the install and build dirs.  Let cmake take care of what it needs to take care of.  And rm -rf'ing a directory passed to a script without any validation is scary.

* I do, in fact, need to create the build dir

* Un-verbose the linux and mac build

* Relative install dir

* Same thing, this time in linux too

* Non-verbose makefile in windows

* Install PYGBE if enabled

* Install in the build directory, not build/build

* Include bin directory in path for tests

* hyphens, not minuses.  fixed spaces in names

* Parse before printing

* Debugging messages for python version

* Set path to include location of libumfpack

* Fix directory name in windows

* Prevent checking of uninitialized array

* Remove the PYGBE example

* Some CMake/Python debugging

* Set swap space in Windows to handle memory-intensive tests

* Instead of setting the swap space, set the pagefile size

* Add the large-address-aware option to the linker flags under Windows

* Print the execution log on failure

* Enter tmate in windows during the build job

* Use RELEASE_TYPE variable instead of hardcoding configuration name

* Switch to debug build for debugging

* Try to catch windows build failure

* Try to resolve the python debug library issue using Python_LIBRARY_RELEASE

* Use Python3_FIND_ABI to specify non-debug library

* Undo the python ABI thing

* Test hack to get around python debug library

* Add a temporary debugging tmate session

* Let's try debugging with the mac build

* For now, just build linux and mac

* Go back to a release build to try to replicate the crashes we saw before

* Make sure all arrays get some sort of initialization

* Call destructors if pointers aren't NULL

* FETK now on 1.9.0

* Updating FETK version to 1.9.1

* Cleanup and docs updates

* Exit the build script with an error when the build fails

* Use FETK v1.9.2

* Remove -fPIE option in a strange place

* Verbose build for debug

* Skip RPATH for static builds?

* Try FETK source build instead of release download

* Switch default FETK version to the git hash at v1.9.2 (causes source build instead of binary install)

* Remove verbosity from build script

* Cleanup

* Tweaking the docs

* Updating the check for a linux build

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>
Co-authored-by: Darren Curtis <Darren.Curtis@pnnl.gov>

Co-authored-by: Noah Oblath <noah.oblath@pnnl.gov>
Co-authored-by: Darren Curtis <Darren.Curtis@pnnl.gov>
2022-01-24 15:35:09 -08:00
Nathan Baker
795f205272 De-linting. 2021-06-14 09:31:38 -07:00
Nathan Baker
48cb01c377 Linting with black. 2021-06-07 08:23:10 -07:00
intendo
dd94db6d18 reset linux changes back to last success build #77 2020-09-22 10:20:07 -07:00
intendo
80680e740c fix CMake for non-shared libs 2020-09-21 16:27:47 -07:00
intendo
eecf83cf6a fixed build, ran black and flake8 on python files 2020-08-15 17:06:26 -07:00
Curtis, Darren S
952b01fd7c Minor changes to CMakeLists.txt files 2020-04-27 12:23:17 -07:00
Curtis, Darren S
5e55fb45fc Added CMake build to replace scons 2020-04-26 17:08:39 -07:00
Curtis, Darren S
bb26fae111 Fixed CMake to find Python3 2020-04-23 17:00:02 -07:00
bran780
8a9daec03d Made a lot of updates to the version and copyright dates in preparation for the upcoming release. 2020-04-23 07:58:38 -04:00
bran780
b6fada79bd Merged the cif reading changes with the python 3.x changes. 2020-04-22 10:40:04 -04:00
bran780
6e513328af Deleted the ZSI and html folders. We are no longer supporting local or opal server. 2020-04-22 10:29:47 -04:00
bran780
54bcfa21fb Fixed the apbs/tools/python/CMakeLists for a mispelled variable. Also updated the pdb2pka/pMC_mult.py generated by newest version of SWIG. 2020-04-22 09:26:36 -04:00
kozlac
df203b6c38 Added some compatibility with older versions of CMake. 2020-02-17 13:30:29 -08:00
bran780
f02a89852a Fixed the CMakeLists.txt in abps/tools/python. Accidentally was pushed with some hardcoded windows paths. 2019-09-21 01:50:14 -07:00
bran780
89d88686ff Change cmakelist files in root and tools/python to account for new versions of swig and cmake policies. 2019-08-14 09:53:26 -07:00
Keith T. Star
11ef99981b The Python APBS lib build needed some rework to make it build libraries with the correct extensions. 2015-12-15 09:29:11 -08:00
Keith T. Star
326526b317 Fixed the CMake copy of python needs to do so after they are built! Issue #372. 2015-11-18 07:08:02 -08:00
Keith T. Star
ec2e27c865 Updated copy location to be pdb2pqr/pdb2pka for issue #372. 2015-11-18 06:26:11 -08:00
Keith T. Star
46f6ecd1a9 Copy apbslib.py and _apbslib.so to the root pdb2pqr directory; for issue #372. 2015-11-18 06:04:27 -08:00
Keith T. Star
d13740c9f6 Updated CMake build to generate apbslib.py and it's requisite shared library. 2015-11-17 12:33:12 -08:00
Nathan Baker
55301efbe4 Fixed APBS directory structure 2014-01-02 12:15:02 -08:00