Undefined reference to symbol 'inflate' HDF5

1,012 views
Skip to first unread message

phillip mobley

unread,
Dec 5, 2015, 3:25:04 PM12/5/15
to deal.II User Group
Hello everyone,

I think that I have a more legitimate question. For a coursera course that I am taking over FEM, they are having us use dealii and compiling the HDF5 library.

I believe that I have compiled HDF5 correctly because at cmake, it listed that the HDF5 was an external dependency. 

Now, when I compile my dealii script, when g++ is linking, I recieved this error message:

/usr/bin/ld: /home/phillip/bin/HDF5/HDF_Group/HDF5/1.8.16/lib/libhdf5.a(H5Zdeflate.c.o): undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line


Any thoughts?

Timo Heister

unread,
Dec 5, 2015, 4:26:50 PM12/5/15
to dea...@googlegroups.com
Can you tell us how you are configuring hdf5 and deal.II?

> Now, when I compile my dealii script

You mean that you are compiling deal.II? Operating system? Compiler?
What version of deal.II are you using?
> --
> The deal.II project is located at http://www.dealii.org/
> For mailing list/forum options, see
> https://groups.google.com/d/forum/dealii?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to dealii+un...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Timo Heister
http://www.math.clemson.edu/~heister/

phillip mobley

unread,
Dec 5, 2015, 7:10:47 PM12/5/15
to dea...@googlegroups.com

Hello Timo.

Compiling may not be the best word. Maybe building? I used cmake 3.2 on ubuntu 14.04. I built with dealii 8.3

As for HDRF5, I used the latest version and when through their building instructions. After HDRF5 was built, I then built dealii using the marco to specify the folder of the built HDRF5

You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/mwMXm7HbezQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.

Bruno Turcksin

unread,
Dec 7, 2015, 10:03:23 AM12/7/15
to deal.II User Group
Hi,


On Saturday, December 5, 2015 at 2:25:04 PM UTC-6, phillip mobley wrote:


Now, when I compile my dealii script, when g++ is linking, I recieved this error message:

/usr/bin/ld: /home/phillip/bin/HDF5/HDF_Group/HDF5/1.8.16/lib/libhdf5.a(H5Zdeflate.c.o): undefined reference to symbol 'inflate'
/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libz.so: error adding symbols: DSO missing from command line


Can you try to add -DEAL_II_CXX_FLAGS=-lz when you configure deal.II.

Best,

Bruno

phillip mobley

unread,
Dec 7, 2015, 10:08:48 AM12/7/15
to dea...@googlegroups.com
Ok, so "rebuild" Deal.II with the -DEAL_II_CXX_FLAGS=-lz flag? Yes, I can try that today

--

Bruno Turcksin

unread,
Dec 7, 2015, 10:13:57 AM12/7/15
to dea...@googlegroups.com
Sorry it's -DDEAL_II_CXX_FLAGS=-lz with two D. What happens is that you built hdf5 with libz support but deal.II is unaware of it and does not send the flag to the compiler.

Best,

Bruno

phillip mobley

unread,
Dec 7, 2015, 11:14:13 PM12/7/15
to deal.II User Group
Hey Bruno,

I have tried using the macro; however, I think that I have ran into a small issue, I am unable to determine if -lz contains an uppercase i or a lowercase L as they look the same (Il). Becuase, when I compiled again with the macro, I recieved the same error

So, just to confirm, here are the commands that I am using to build deal.II:

cmake -DHDF5_DIR=~/bin/HDF5/HDF_Group/HDF5/1.8.16 -DDEAL_II_CXX_FLAGS=-lz -DDEAL_II_WITH_HDF5=ON -DCMAKE_INSTALL_PREFIX=~/bin/dealii/build ..

I used a lowercase L on this run.

I am also attaching a copy of the detailed log.
detailed.log

Bruno Turcksin

unread,
Dec 8, 2015, 10:04:34 AM12/8/15
to dea...@googlegroups.com
I am not sure what's going on :-( If I were you, I would either use my package manager to install hdf5 or use candi (https://github.com/koecher/candi) This will install everything automatically.

Best

Bruno

phillip mobley

unread,
Dec 8, 2015, 10:08:49 AM12/8/15
to dea...@googlegroups.com
Ok, great, I will give this a shot shortly and let you know!

phillip mobley

unread,
Dec 11, 2015, 11:54:43 AM12/11/15
to deal.II User Group
Hey Bruno, I apologize for taking this long to get back to you. I am using the candi installer now. 

Just one quesiton, does the installer install everything with dealii (trilinos, PETsC, HDF5, etc) or am I able to select individual packages and then build dealii on my own?

Bruno Turcksin

unread,
Dec 11, 2015, 12:12:50 PM12/11/15
to dea...@googlegroups.com
Phillip,

On 12/11/2015 10:54 AM, phillip mobley wrote:
> Hey Bruno, I apologize for taking this long to get back to you. I am
> using the candi installer now.
>
> Just one quesiton, does the installer install everything with dealii
> (trilinos, PETsC, HDF5, etc) or am I able to select individual
> packages and then build dealii on my own?

in candi.cfg, you can decide which packages you want install (by default
every thing is turn on except opencascade). So you just need to comment
the packages that you don't want. candi will always install deal.II but
I guess if you want, you could just use it to install all the packages
and then build deal.II on your own. You probably don't need to do it
though because candi can install deal.II 8.3.0 or the development
version of deal.II (use STABLE_BUILD=false) and you can also use
DEAL_CONFOPTS to give to cmake the options that you want to use (for
example if you want to turn on the 64bit indices). I advise you to read
the README on github. It tells you exactly how to run candi.

Best,

Bruno

phillip mobley

unread,
Dec 11, 2015, 12:16:03 PM12/11/15
to dea...@googlegroups.com
Ok, great, thanks.

This is the first time that i have dealt with an install script. I aplogize, I am used to windows where I can select which packages to install when I install the software



Best,

Bruno

--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
--- You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/mwMXm7HbezQ/unsubscribe.

phillip mobley

unread,
Dec 11, 2015, 12:16:39 PM12/11/15
to dea...@googlegroups.com
I am currently, now installing the HDF5.

Again, I apologize for the delay.

Bruno Turcksin

unread,
Dec 11, 2015, 12:20:18 PM12/11/15
to dea...@googlegroups.com
There is no reason to apologize :-)

phillip mobley

unread,
Dec 16, 2015, 1:02:39 PM12/16/15
to deal.II User Group
Hey Bruno,

I have to apologize again with a long delay. Finals are going on for me. I have finished them up so my replies should be much faster now!

So I ran candi installer. I just had it install everything.

I tried to re-run the script and I recieved the same error. However, since I ran candi to install everything, you could say that I have 2 instances of dealii. Would this cause any issues with cmake?

phillip mobley

unread,
Dec 16, 2015, 1:03:40 PM12/16/15
to deal.II User Group
I forgot to mention, the installation for candi went fine, followed the directions and it looks like everything installed properly.

Bruno Turcksin

unread,
Dec 16, 2015, 1:06:59 PM12/16/15
to dea...@googlegroups.com
Which script are you talking about? Did you create your own CMakeList.txt? If so, can you send it.

Bruno

phillip mobley

unread,
Dec 16, 2015, 3:11:38 PM12/16/15
to deal.II User Group
Sorry, I meant my Deal.II program.

I did not create my own CMakeList.txt

I am uploading the CMakeList.txt that I am using along with the program.
CMakeLists.txt
main1.cc
writeSolutions.h
FEM1.h

Bruno Turcksin

unread,
Dec 16, 2015, 3:33:35 PM12/16/15
to deal.II User Group
1) make sure that you are using the version of deal.II compiled by candi. 
2) can you send me the detailed.log file. This should be where deal.II was built.

Thanks

Bruno

Uwe Köcher

unread,
Dec 16, 2015, 5:01:39 PM12/16/15
to deal.II User Group
Dear Phillip,

Your code can recongnize only one instance of deal.II.

After you have installed deal.II over candi in the latest version, you should have a file
  ~/apps/candi/deal.II-toolchain/share/configuration/deal.II-v8.3.0
where ~ denotes your home directory.
For ubuntu the most easiest way is to source this file *before* running cmake the first time in your application directory, e.g.
source  ~/apps/candi/deal.II-toolchain/share/configuration/deal.II-v8.3.0
cd
~/your/app/folder
cmake
.
make run

If you have run cmake in your application folder before, please remove the file CMakeCache.txt or run make distclean.

Uwe Köcher

unread,
Dec 16, 2015, 5:09:30 PM12/16/15
to deal.II User Group
for your code, everything compiles fine on my system (deal.II is compiled with the latest candi),
but you ran into an UMFPACK error and a lot of "Error: basis not defined" outputs before that...

phillip mobley

unread,
Dec 16, 2015, 10:43:52 PM12/16/15
to deal.II User Group
Hey Uwe,

Yes, I am trying this right now.

Thank you. will post results hopefully soon

phillip mobley

unread,
Dec 16, 2015, 10:48:40 PM12/16/15
to deal.II User Group
I am sorry, 

I need a quick clarification.

the cd ~/your/app/folder

is this the location of where candi installed dealii or where I installed dealii the first time?

Uwe Köcher

unread,
Dec 17, 2015, 3:26:35 AM12/17/15
to deal.II User Group
On Thursday, December 17, 2015 at 4:48:40 AM UTC+1, phillip mobley wrote:
I am sorry, 

I need a quick clarification.

the cd ~/your/app/folder

is this the location of where candi installed dealii or where I installed dealii the first time?

none of them, this where your code is...

phillip mobley

unread,
Dec 17, 2015, 10:30:23 AM12/17/15
to deal.II User Group
@Bruno 

Here is my detailed.log I pulled this from the candi installation in the app folder.

@Uwe ok, So i ran the commands while I am in my folder with the code. I deleted the CMAKECache file. When I go to run cmake, it gets into an infinite loop saying that variables have changed.

Ok, since I am having so much difficulty on my laptop with this, I am thinking I should switch switching to my desktop. With my desktop, I have a fresh installation of ubuntu 14.04 and I am going to be re-performing all of the steps on the desktop. Will report the results here. Will see which starts working first
detailed.log

Uwe Köcher

unread,
Dec 17, 2015, 4:14:30 PM12/17/15
to deal.II User Group
Dear Phillip

Sigh. There are more files from cmake. Either run "make distclean", or copy your four files you have
given before into a new folder.

phillip mobley

unread,
Dec 17, 2015, 5:15:17 PM12/17/15
to deal.II User Group
Hey Uwe,

I apologize, I am still learning cmake and ubuntu and everything. 

I deleted everything except for my program and my CMAKELISTS.txt

I ran cmake . and make run. It seems that the issue has been fixed and I am now receiving UMFPACK errors. Were you able to solve them on your end?

Uwe Köcher

unread,
Dec 17, 2015, 5:18:23 PM12/17/15
to deal.II User Group
I did not looked into your code and I will not have the time for doing this...

Kind regards
  Uwe

phillip mobley

unread,
Dec 17, 2015, 6:00:31 PM12/17/15
to deal.II User Group
Understandable,

Thank you for your help
Reply all
Reply to author
Forward
0 new messages