-
Notifications
You must be signed in to change notification settings - Fork 16
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
Fix fwrite() error handling and other minor build fixes #11
base: master
Are you sure you want to change the base?
Conversation
Add HTSLIB/htslib_static.mk rule so that make will regenerate it if it does not already exist. Change libhts.a rule to only build what is needed, i.e., libhts.a.
Hi John,
Yes, sorry, the fwrite check was blown (I made a pass modifying all
writes, both stdio and system, to
make sure they succeeded). Thanks I pushed the fix to the master.
I tend to let people develop their own .gitignore, hopefully that's OK.
The third set of changes around HTSLIB I did not understand. I'm not
very good with OS level
issues, could you explain what this does, and most importantly will it
work universally?
Best, Gene
…On 5/11/21, 4:24 PM, John Marshall wrote:
Prevent a warning by fixing the error handling on one of the
|fwrite()| calls.
Also remove generated files in /HTSLIB/*/ and add to /Makefile/ so
that it regenerates /HTSLIB/htslib_static.mk/ if necessary. Ignore
generated files so they don't clutter |git status| output.
------------------------------------------------------------------------
You can view, comment on, or merge this pull request online at:
#11
Commit Summary
* Remove generated HTSlib files
* Ignore object files and other built files
* Correct fwrite() error handling
File Changes
* *A* .gitignore
<https://github.com/thegenemyers/FASTK/pull/11/files#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947>
(23)
* *D* HTSLIB/config.h
<https://github.com/thegenemyers/FASTK/pull/11/files#diff-e0f094273c785f8c2ec5b45bd6d10ae917018bd52e56f7eca2a58985096e64db>
(8)
* *D* HTSLIB/htslib-uninstalled.pc
<https://github.com/thegenemyers/FASTK/pull/11/files#diff-6ac9f011fe08d14e397d1cc7c2b6735135e45f26549500fb454a1a1eaa4ec42c>
(15)
* *D* HTSLIB/htslib.pc.tmp
<https://github.com/thegenemyers/FASTK/pull/11/files#diff-5f44fc29ca463e4b9b42817f61a2614c4f03b160d3255b92f867f6c92244d699>
(15)
* *D* HTSLIB/htslib_static.mk
<https://github.com/thegenemyers/FASTK/pull/11/files#diff-eb871add009f794cb1e31c886d2f8a1cda23054c1ce80b40afe2358460cbf66b>
(2)
* *M* Makefile
<https://github.com/thegenemyers/FASTK/pull/11/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52>
(5)
* *M* split.c
<https://github.com/thegenemyers/FASTK/pull/11/files#diff-0eb475f3c2d0662e93f65f0c025398152ccfbd7e8086bd44fcb69762ed4d9ffb>
(2)
Patch Links:
* https://github.com/thegenemyers/FASTK/pull/11.patch
* https://github.com/thegenemyers/FASTK/pull/11.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#11>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABUSINVZJGY446ZCVG4BSDTTNE42TANCNFSM44VU5JGQ>.
|
I usually see platform-universal project-specific ignores in .gitignore, leaving .git/info/exclude available for people's local additions. But it's not a big deal. Re the HTSLIB changes: the four files removed are generated by HTSLIB/Makefile and will have some differences on different people's machines. (e.g. there's a So removing them from git is basically for the same reason as removing the object files from git: they're expected to differ for other people. The files are regenerated by the HTSLIB/Makefile as needed anyway, but the one that is included by the top-level Makefile does need to be regenerated sooner so that it can be included by Make. Adding the rule enables that: GNU Make will remake that file immediately so that it can be included if it doesn't already exist. I believe this remaking of makefiles is specific to GNU Make, but the LIBDEFLATE makefile is already very GNU Make-specific anyway. So this does not further restrict universality. The addition of |
Hi John, |
Hello Gene
I am copying John Marshall, who perhaps you meant to send this message to. I am pretty sure that you can build htslib in a way that tests for the existence of all the dependencies and only tries to link them in when they are present. I would guess this uses ./configure. Are you doing that?
Richard
… On 16 Aug 2021, at 21:08, Eugene W Myers Jr ***@***.***> wrote:
Hi John,
I'm at Rockefeller and my colleague Giulio Formenti is trying to install FastK on their cluster.
It fails as it can't find "bzlib.h" while in the midst of building htslib.a.
Is there any way to circumvent this? Cram wants a huge laundry list of compressors, and I'd imagine
often these are not all installed on a given machine. I thought that a change Richard Durbin had made
to my Makefile had fixed this [[$(HTSLIB_static_LIBS) on the gcc line]] but I don't know where this file
is or how it is made by the library make. I did incorporate all the changes you suggested with this pull
but it still doesn't work. Any help would be greatly appreciated.
Best, Gene
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#11 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AA2FXZTTIIRJJYOH4AXDKPLT5FV3PANCNFSM44VU5JGQ>.
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>.
|
Hi Richard,
Thanks for forwarding. Giulio has in the mean time solved his
problem -- it had something to do
with Conda.
Honestly, I hate systems where the builds are so complicated that
one can't easily figure it
out. I'm sure your right about configuration options.
…-- Gene
On 8/16/21, 10:48 PM, Richard Durbin wrote:
Hello Gene
I am copying John Marshall, who perhaps you meant to send this message
to. I am pretty sure that you can build htslib in a way that tests for
the existence of all the dependencies and only tries to link them in
when they are present. I would guess this uses ./configure. Are you
doing that?
Richard
> On 16 Aug 2021, at 21:08, Eugene W Myers Jr ***@***.***> wrote:
>
>
> Hi John,
> I'm at Rockefeller and my colleague Giulio Formenti is trying to
install FastK on their cluster.
> It fails as it can't find "bzlib.h" while in the midst of building
htslib.a.
> Is there any way to circumvent this? Cram wants a huge laundry list
of compressors, and I'd imagine
> often these are not all installed on a given machine. I thought that
a change Richard Durbin had made
> to my Makefile had fixed this [[$(HTSLIB_static_LIBS) on the gcc
line]] but I don't know where this file
> is or how it is made by the library make. I did incorporate all the
changes you suggested with this pull
> but it still doesn't work. Any help would be greatly appreciated.
> Best, Gene
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
<#11 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA2FXZTTIIRJJYOH4AXDKPLT5FV3PANCNFSM44VU5JGQ>.
> Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>.
>
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#11 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABUSINQWXW6KJ6A2I7L7WZTT5F2TLANCNFSM44VU5JGQ>.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email>.
|
Prevent a warning by fixing the error handling on one of the
fwrite()
calls.Also remove generated files in HTSLIB/* and add to Makefile so that it regenerates HTSLIB/htslib_static.mk if necessary. Ignore generated files so they don't clutter
git status
output.