molpopgen/libsequence

Build fails on macOS

Closed this issue · 10 comments

I tried submitting PR brewsci/homebrew-bio/pull/535 for upgrading to 1.9.6, but CI fails on macOS. I guess changes in path string (like summstats vs SummStats) is preventing proper tracking of diffs on case-insensitive file systems. On macOS, unstaged changes show up right after git clone.

git status:

On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   Sequence/SummStats.hpp
        modified:   Sequence/SummStats/Garud.hpp
        modified:   Sequence/SummStats/Makefile.am
        modified:   Sequence/SummStats/Makefile.in
        modified:   Sequence/SummStats/lHaf.hpp
        modified:   Sequence/SummStats/nSL.hpp
        modified:   src/SummStats/Garud.cc
        modified:   src/SummStats/lHaf.cc
        modified:   src/SummStats/nSL.cc

git diff Sequence/SummStats.hpp:

diff --git a/Sequence/SummStats.hpp b/Sequence/SummStats.hpp
index a0bda1a1..e9810ac8 100644
--- a/Sequence/SummStats.hpp
+++ b/Sequence/SummStats.hpp
@@ -1,13 +1,23 @@
-#ifndef __SEQUENCE_SUMMSTATS_HPP__
-#define __SEQUENCE_SUMMSTATS_HPP__
+/// @file Sequence/summstats.hpp
+/// \brief Include all summary statistic functions and types
+#ifndef SEQUENCE_SUMMSTATS_HPP__
+#define SEQUENCE_SUMMSTATS_HPP__

-/*! \file SummStats.hpp
-  Header file for summary statistic of variation data.
+/*!
+ *  \defgroup popgenanalysis Analysis of molecular population genetic data
+ *  \brief Summary statistics and other analysis of Sequence::VariantMatrix
+ *  \ingroup popgen
+ *
+ *  See @ref md_md_tutorial.
+ *
 */

-#include <Sequence/SummStats/nSL.hpp>
-#include <Sequence/SummStats/Garud.hpp>
-#include <Sequence/SummStats/lHaf.hpp>
-#include <Sequence/SummStats/Snn.hpp>
+#include "summstats/generic.hpp"
+#include "summstats/classics.hpp"
+#include "summstats/nsl.hpp"
+#include "summstats/nslx.hpp"
+#include "summstats/ld.hpp"
+#include "summstats/lhaf.hpp"
+#include "summstats/garud.hpp"

Yes, os x isn't supported right now. The issue is the annoying file system. I have no plans to fix this until 2.0, when all the old summary stats will be removed. I could rename the directory, though, prior to that, but os x is not high priority.

I see. Thank you for the reply.

Would you consider issuing a point release (1.9.7) that renames the directory, if that's all that's needed. We can also wait for 2.0 if that's forthcoming. We currently have version 1.9.2 in Brewsci/bio.

No worries, Kevin. I understand being busy. 1.9.2 worked on macOS. Do you know the most recent release that still works on macOS?

CircleCI offers free builds on macOS (and Linux), and you can ssh into their worker machines to troubleshoot. I've found it really helpful.

Going to close as thread is drifting. TL;DR is that OS X support for libsequence is not a priority right now. Sorry, but time is limited.

@heavywatal @sjackman 1.9.7 is out and I renamed the directories. The bioconda build has passed and will be available soon for linux and os x.

Existing code using deprecated summary stats will break, as the directories containing headers had to be renamed.

Excellent news! Thanks, Kevin.