-
Notifications
You must be signed in to change notification settings - Fork 160
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
Improve nanopolish build suite #145
Comments
Hi, Thanks for the feedback, I'd like to improve the build script. A few comments on the issues you raised:
Jared |
Hi Jared,
OK, please move them but keep them called by default as you wish. It would be nice if an automated check for $PREFIX/usr/lib64/libhdf5.settings could check the system-wide installation support threads. Mine not:
Currently on Gentoo we support the following configure options. In my case I opted for mpi but no threads support but that can be changed.
OK, works for me.
Please do, I will test afterwards. Currently, I compiled eigen with:
|
7834207 adds support for |
Hi, The following still does not work for me:
as it still used git to fetch the sources and used wget to the hdf5 and eigen tarballs. I want to ensure none of the bundled versions has a chance to sneak into the final binaries so I want to run
before calling I would also like to call I am not familiar with the internals of hdf5 but do you really require threads support enabled? Unfortunately one cannot enable mpi support concurrently with threads or cxx or even fortran.
Basically, if I opt for threads support then all other features are in a conflict and are disabled. |
Here is the package definition file for Gentoo Linux, not yet pushed out into the official tree for reasons above: |
the commit IDs are visible from the main page of the repo (
You are assigning environment variables, not assigning make variables. The assignments must come after
I have tested this with GNU make, not emake.
HDF5 is not thread safe by default and nanopolish currently requires a threadsafe HDF5. This is one reason we download and compile it in the Makefile (the main reason is to make it easier for most users). The other options Jared |
That still does not answer what release versions are needed. Or do you depend on pre-release snapshots?
I will have to figure out why threads AND cxx AND mpi are mutually exclusive during hdf5's configure calling. Thank you for the note on env/args handling by Now I get due to the
So I cannot really drop the bundled sources. |
I don't depend on pre-release snapshots but the git submodule system uses commit IDs so I use them. If you require a defined release I would expect that the next release after those commits would work.
I will fix this. |
6918f65 allows you to set the EIGEN include path using |
That has helped, thanks. |
Hi,
I would like to prepare a package definition file for nanopolish in Gentoo Linux. I see several problems here which prevent me to do that actually.
make
calls wget to download file. That should be moved todownload
orfetch
target and not called by default.a top-level configure would ideally be used or at least, Makefile be more configurable so that it would use my system-wide installed hdf5 library (no reason to fetch and compile this for me at all).
compile process breaks on hdf5 anyway:
Also eigen is downloaded by wget from http://eigen.tuxfamily.org/ . Again, this shoudl be disabled by default. I already have dev-cpp/eigen-3.3.3 installed, site-wide.
Makefile should not override users CC, CXX, CFLAGS, CXXFLAGS. I could append to it important options. I propose the following:
This way I could use:
CFLAGS="-O2 -pipe -march=native -ftree-vectorize" CXXFLAGS="-O2 -pipe -march=native -ftree-vectorize" make
This is less agressive than
-O3
while making AVX instructions use the respective YMM registers (instead of XMM).clean
target in the Makefile.The text was updated successfully, but these errors were encountered: