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

HDF5 download and compile error #371

Closed
conchoecia opened this issue Apr 20, 2018 · 19 comments
Closed

HDF5 download and compile error #371

conchoecia opened this issue Apr 20, 2018 · 19 comments

Comments

@conchoecia
Copy link

When I try to compile nanopolish allowing it to download and compile all of its dependencies, it fails with the following error:

config.status: executing libtool commands
	    SUMMARY OF THE HDF5 CONFIGURATION
	    =================================

General Information:
-------------------
		   HDF5 Version: 1.8.14
		  Configured on: Thu Apr 19 21:23:56 PDT 2018
		  Configured by: root@erenna
		 Configure mode: production
		    Host system: x86_64-unknown-linux-gnu
	      Uname information: Linux erenna 4.4.0-59-generic #80-Ubuntu SMP Fri Jan 6 17:47:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
		       Byte sex: little-endian
		      Libraries: static, shared
	     Installation point: /usr/local/bin/nanopolish/hdf5-1.8.14/..

Compiling Options:
------------------
               Compilation Mode: production
                     C Compiler: /usr/bin/gcc
                         CFLAGS:
                      H5_CFLAGS:   -ansi -pedantic -Wall -W -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -O -fomit-frame-pointer -finline-functions
                      AM_CFLAGS:
                       CPPFLAGS:
                    H5_CPPFLAGS: -D_POSIX_C_SOURCE=199506L   -DNDEBUG -UH5_DEBUG_API
                    AM_CPPFLAGS: -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_BSD_SOURCE
               Shared C Library: yes
               Static C Library: yes
  Statically Linked Executables: no
                        LDFLAGS:
                     H5_LDFLAGS:
                     AM_LDFLAGS:  -L/usr/local/bin/nanopolish/hdf5-1.8.14/../lib
 	 	Extra libraries:  -lpthread -lz -ldl -lm
 		       Archiver: ar
 		 	 Ranlib: ranlib
 	      Debugged Packages:
		    API Tracing: no

Languages:
----------
                        Fortran: no

                            C++: no

Features:
---------
                  Parallel HDF5: no
             High Level library: yes
                   Threadsafety: yes
            Default API Mapping: v18
 With Deprecated Public Symbols: yes
         I/O filters (external): deflate(zlib)
         I/O filters (internal): shuffle,fletcher32,nbit,scaleoffset
                            MPE: no
                     Direct VFD: no
                        dmalloc: no
Clear file buffers before write: yes
           Using memory checker: no
         Function Stack Tracing: no
      Strict File Format Checks: no
   Optimization Instrumentation: no
       Large File Support (LFS): yes
make[1]: Entering directory '/usr/local/bin/nanopolish/hdf5-1.8.14'
Making all in src
make[2]: Entering directory '/usr/local/bin/nanopolish/hdf5-1.8.14/src'
make  all-am
make[3]: Entering directory '/usr/local/bin/nanopolish/hdf5-1.8.14/src'
  CC       H5.lo
In file included from /usr/local/include/assert.h:5:0,
                 from H5private.h:50,
                 from H5.c:24:
/usr/local/include/except.h:5:44: fatal error: config.h: No such file or directory
compilation terminated.
Makefile:1222: recipe for target 'H5.lo' failed
make[3]: *** [H5.lo] Error 1
make[3]: Leaving directory '/usr/local/bin/nanopolish/hdf5-1.8.14/src'
Makefile:850: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/usr/local/bin/nanopolish/hdf5-1.8.14/src'
Makefile:586: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/local/bin/nanopolish/hdf5-1.8.14'
Makefile:88: recipe for target 'lib/libhdf5.a' failed
make: *** [lib/libhdf5.a] Error 2
@jts
Copy link
Owner

jts commented Apr 20, 2018

What operating system are you using?

Can you send me the entire log from when you run make?

Jared

@conchoecia
Copy link
Author

I have attached the log. I am using Ubuntu 16. Thank you for taking a look!

nanopolish_make_ubuntu16.txt

@jts
Copy link
Owner

jts commented Apr 20, 2018

Have you built nanopolish on this machine before?

@conchoecia
Copy link
Author

conchoecia commented Apr 20, 2018

Yes, I believe that each time I just built the package with the default command, make, and did not install the dependencies on the system otherwise.

@jts
Copy link
Owner

jts commented Apr 23, 2018

Which version of GCC are you using?

@conchoecia
Copy link
Author

conchoecia commented Apr 23, 2018

I am using:

gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904

Maybe that is the reason it isn't working, after all? I may just end up using the Docker image.

@jts
Copy link
Owner

jts commented Apr 23, 2018

I haven't tested it with that version of GCC. If you can install gcc-4.8 through your package manager, it would be very useful in figuring out where the problem is.

Jared

@conchoecia
Copy link
Author

I switched to gcc 4.8 and it appears that another problem with pthreads has cropped up.

Cheers
Darrin

compile_with_4.8.txt

@jts
Copy link
Owner

jts commented May 14, 2018

Sorry for leaving this issue. Is it still a problem or did you find a way around it?

Jared

@conchoecia
Copy link
Author

I didn't end up finding a solution, and have only lightly searched to try to solve the problem. I'm kind of a make newbie so haven't tried to edit the Makefile much, either.

@jts
Copy link
Owner

jts commented May 15, 2018

Can you try installing it as a normal user (without root privileges) in a location outside of /usr/?

@conchoecia
Copy link
Author

It failed in the same way, I think:

normal_fail.txt

@jts
Copy link
Owner

jts commented May 16, 2018

can you run ls -ltr /usr/local/include and send me the contents?

@jts
Copy link
Owner

jts commented May 16, 2018

Also can you run echo | gcc -E -Wp,-v - and send the result as well

@jts
Copy link
Owner

jts commented May 16, 2018

Ok we (I've had help from @larsgt and @usajusaj) think we know what happened. In a different repository someone reported a similar problem:

ContinuumIO/anaconda-issues#7047

The problem in this case was traced to the gmap program. I looked in the gmap source and it includes assert.h and except.h. I suspect you've installed gmap and it wrote its headers into /usr/local/include. gcc has mistakenly picked up gmap's assert.h instead of the C standard library version (this is a very unfortunate name to use). This causes the HDF5/nanopolish compilation to fail.

Unfortunately there is nothing I can do to fix this. You are likely to run into compilation issues with other software packages as well. You'll have to find a way to clean up the bad headers.

Jared

@conchoecia
Copy link
Author

conchoecia commented May 17, 2018

Yeah... @brianjohnhaas said that this was causing some issues in the Trinity install as well. Let me get back to you on this one in a few days....

Thanks for the sleuthing!

Darrin

@conchoecia
Copy link
Author

You were right! I renamed those headers and nanopolish compiled fine. Now we just need to track down those GMAP devs and talk to them about dumping headers into /usr/local/include...

@brianjohnhaas
Copy link

brianjohnhaas commented May 24, 2018 via email

@jts
Copy link
Owner

jts commented May 24, 2018

Thanks @brianjohnhaas, it is good to hear this is being fixed by gmap for everyone.

@jts jts closed this as completed May 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants