Skip to content
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

S.h seems to be deprecated #66

Closed
tillea opened this issue Apr 13, 2022 · 7 comments
Closed

S.h seems to be deprecated #66

tillea opened this issue Apr 13, 2022 · 7 comments

Comments

@tillea
Copy link

tillea commented Apr 13, 2022

Hi,
the Biostrings Debian package received a bug report about

gcc -I"/usr/share/R/include" -DNDEBUG  -I'/usr/lib/R/site-library/S4Vectors/include' -I'/usr/lib/R/site-library/IRanges/include' -I'/usr/lib/R/site-library/XVector/include'    -fpic  -g -O2 -ffile-prefix-map=/build/r-base-g6byQC/r-base-4.1.3.20220405=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -c BitMatrix.c -o BitMatrix.o
BitMatrix.c:9:10: fatal error: S.h: No such file or directory
    9 | #include <S.h> /* for Salloc() */
      |          ^~~~~

I've found this hint how this can be fixed and I guess you are aware of this.
Kind regards, Andreas.

@LiNk-NY
Copy link
Contributor

LiNk-NY commented Apr 13, 2022

Hi Andreas, @tillea
Note that this has been fixed here:
c334074

@LiNk-NY LiNk-NY closed this as completed Apr 13, 2022
@hpages
Copy link
Contributor

hpages commented Apr 13, 2022

@tillea And most importantly, it seems that Debian is building the wrong version of Bioconductor. The S.h file was removed from R 4.2 and they are reporting a bug for Biostrings 2.62.0, which belongs to Bioconductor 3.14 (the current release). BioC 3.14 should only be used with R 4.1: it has been expressly designed and tested against this version of R.

If you are using R 4.2, you should build Bioconductor 3.15, which is still in development and will be released on April 27. Biostrings is currently at version 2.63.3. This version belongs to BioC 3.15 and works with R 4.2.

Best,
H.

@tillea
Copy link
Author

tillea commented Apr 13, 2022 via email

@eddelbuettel
Copy link

BioC 3.14 should only be used with R 4.1: it has been expressly designed and tested against this version of R.

Debian simply does not have a facility for this type of 'pinning', which makes the bi-annual BioConductor release cycle a (regular and recurring) challenge. Debian builds (in the lingo of some other places) 'at @Head' and all current packages are expected to play together (not unlike CRAN).

Which is why R 4.2.0 snapshots are in unstable to maximize the test surface -- and which is what we've done for 20+ years with these r-base packages (unless we are in a freeze for a Debian release in which thewhen they go into experimental where they effectively remain mostly untested).

So this never was a BioC bug.

@tillea
Copy link
Author

tillea commented May 16, 2022 via email

@nileshpatra
Copy link

Hi all,

I intended to upgrade groHMM to version 1.29.1 which has remaining references to S.h
$ grep -R S.h
src/MLEfit.c:#include <S.h>
src/DecayAlgorithm.c:#include <S.h>
src/hmmMiscFunctions.c:#include <S.h>
src/hmmFwBw.c:#include <S.h>
src/hmmViterbi.c:#include <S.h>
src/hmmEM.c:#include <S.h>
src/Windowing.c:#include <S.h>
Am I missing something?

I have fixed this in our debian package, weirdly enough, it includes new R.h and S.h without any conditionals
for including either. (I'd expect a #if/#ifdef on R version for includes) -- even tests pass locally for me.

This seems like an oversight at upstream's end.

Should I use the groHMM Github issue tracker?

The authors of groHMM and biostrings atleast as listed on bioconductor are not the same, so this is sort of obvious :)
In anycase, we should be good now.

@hpages
Copy link
Contributor

hpages commented May 16, 2022

Right, I'm not the maintainer of groHMM, but, FWIW, I see that the latest stable version of groHMM (1.30.1, part of BioC 3.15) was fixed last week (i.e. no more #include <S.h>). Official URL to the latest version of groHMM in the current BioC release: https://bioconductor.org/packages/groHMM

Cheers,
H.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants