Skip to content

augustus: fix bam2wig TABIX path (never patched, breaks under Spack) - #6274

Open
gonzabotmdp wants to merge 1 commit into
spack:developfrom
gonzabotmdp:fix/augustus-bam2wig-tabix-path
Open

augustus: fix bam2wig TABIX path (never patched, breaks under Spack)#6274
gonzabotmdp wants to merge 1 commit into
spack:developfrom
gonzabotmdp:fix/augustus-bam2wig-tabix-path

Conversation

@gonzabotmdp

Copy link
Copy Markdown
Contributor

Summary

auxprogs/bam2wig's own Makefile has:

ifndef TOOLDIR
	TOOLDIR=$(HOME)/tools
# replace with your own parent directory of samtools, htslib, bcftools, tabix
endif
...
TABIX=$(TOOLDIR)/tabix/
INCLUDES=-I$(SAMTOOLS) -I. -I$(HTSLIB) -I$(BCFTOOLS) -I$(TABIX)

The existing edit() step already patches BCFTOOLS/SAMTOOLS/HTSLIB to point at the real Spack-installed prefixes, but never patches TABIX -- it silently falls back to $HOME/tools/tabix/, which doesn't exist for anyone building via Spack. The actual symptom is bam2wig.c:18:10: fatal error: sam.h: No such file or directory, since without a working -I$(TABIX) there's no path where the bare #include "sam.h" (the old ~2012 flat htslib layout) resolves.

Modern htslib nests the same header under include/htslib/sam.h. Since TABIX here is only ever used as an extra -I search path (not an actual tabix installation), pointing it at $(HTSLIB)/include/htslib makes the bare #include "sam.h" resolve correctly without needing a real tabix package at all.

Testing

Installed augustus@3.3.2 (a busco@6.1.0 dependency, auxprogs/bam2wig is part of the default aux-tools build) with this fix applied, confirmed bam2wig compiles and links successfully.

@spackbot-triage spackbot-triage Bot added dependencies Modifications with a `depends_on()` directive update-package Modifications to packages in the repository conflicts Modifications with a `conflicts()` directive labels Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conflicts Modifications with a `conflicts()` directive dependencies Modifications with a `depends_on()` directive update-package Modifications to packages in the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant