diff --git a/deps/kff-cpp-api b/deps/kff-cpp-api index c490ddb603..469ecbd861 160000 --- a/deps/kff-cpp-api +++ b/deps/kff-cpp-api @@ -1 +1 @@ -Subproject commit c490ddb603074b0c4c3efecc3a3c8506b059ffaf +Subproject commit 469ecbd861ae811360b866d452354af4f8f4033d diff --git a/deps/sublinear-Li-Stephens b/deps/sublinear-Li-Stephens index 4efb2f3933..241001025d 160000 --- a/deps/sublinear-Li-Stephens +++ b/deps/sublinear-Li-Stephens @@ -1 +1 @@ -Subproject commit 4efb2f3933ea8c684fe289e8f07f626f0747436e +Subproject commit 241001025d7cf516c0c9577f94e858e76560269f diff --git a/src/main.cpp b/src/main.cpp index 514f8b8976..7d9587f216 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -75,7 +75,7 @@ int main(int argc, char *argv[]) { vg_help(argv); return 1; } - + auto* subcommand = vg::subcommand::Subcommand::get(argc, argv); if (subcommand != nullptr) { // We found a matching subcommand, so run it @@ -85,7 +85,12 @@ int main(int argc, char *argv[]) { return (*subcommand)(argc, argv); } else { // No subcommand found - string command = argv[1]; + string command; + // note: doing argv[1] = string is producing totally bizarre "error: inlining failed in call to ‘always_inline’ ..." + // error when upgrading to Ubuntu 24.04.1 / GCC 13.2. Doing the base-by-base copy seems to work around it... + for (size_t i = 0; i < strlen(argv[1]); ++i) { + command += argv[1][i]; + } cerr << "error:[vg] command " << command << " not found" << endl; vg_help(argv); return 1; diff --git a/src/multipath_mapper.cpp b/src/multipath_mapper.cpp index 23e52a7c25..fe7aa3b436 100644 --- a/src/multipath_mapper.cpp +++ b/src/multipath_mapper.cpp @@ -1836,8 +1836,10 @@ namespace vg { std::swap(rescued_secondaries[i], rescued_secondaries[end - 1]); std::swap(rescued_distances[i], rescued_distances[end - 1]); std::swap(rescued_multiplicities[i], rescued_multiplicities[end - 1]); - std::swap(duplicate[i], duplicate[end - 1]); - + // nb: cant std::swap bool vectors in new c++ + bool dupe_i = duplicate[i]; + duplicate[i] = duplicate[end - 1]; + duplicate[end - 1] = dupe_i; end--; } else {