ImperialCollegeLondon / pnextract

Pore network extraction from micro-CT images of porous media
http://www.imperial.ac.uk/earth-science/research/research-groups/perm/research/pore-scale-modelling
55 stars 28 forks source link

Error on compilation in linux #1

Closed alek- closed 3 years ago

alek- commented 5 years ago

when running AllMake, I get the following error:

pnextract-master/voxelImage/voxelImageI.h:24:22: fatal error: zfstream.h: No such file or directory
 #include "zfstream.h"

zfstream.h is in "./thirdparty/zlib-1.2.11/build/include" as well as in "./thirdparty/zlib-1.2.11/contrib/iostream3/" folders.

aliraeini commented 5 years ago

Can you double check if the thirdparty folder exists in the folder you run the AllMake? Run the command ls thirdparty/zlib-1.2.11/contrib/iostream3/zfstream.h # and it shouldn't say "no such file or directory"

alek- commented 5 years ago

yes, it exists. I downloaded zip of master and unpacked it. ls thirdparty/zlib-1.2.11/contrib/iostream3/zfstream.h doesn't return any error.

fabricix commented 5 years ago

@alek- If you rename the unzipped folder pnextract-master to pnextract, what the error message after compilation is?

aliraeini commented 5 years ago

One thing I can think of is that the bash variable PoreScaleDir is somehow set from to different directory. This can happen if you source the bashrc file from a different folder and then rename/delete the folder, or if it is set in $HOME/.bashrc file to an inconsistent directory. Please check this and run the compilation in a new terminal, and report the error message if it persists

alek- commented 5 years ago

i checked my .bashrc, source command is pointing to the right file, which is in pnextract-master folder. here is the part of AllMake log when the errors start to appear. alias, I'm on Ubuntu 16.04.

make[3]: Leaving directory '/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build'
[100%] Built target zlibstatic
make[2]: Leaving directory '/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build'
Install the project...
-- Install configuration: ""
-- Installing: /home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/lib/libzxx.a
-- Installing: /home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/include/zconf.h
-- Installing: /home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/include/zlib.h
-- Installing: /home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/include/zfstream.h
-- Installing: /home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/share/man/man3/zlib.3
-- Installing: /home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/share/pkgconfig/zlib.pc
make[1]: Leaving directory '/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build'
* skipping bin/
* skipping build/
* skipping doc/

* cd pnextract/ && make:
PoreScaleDir is /home/alexandr/pnextract-master
PS3rdParty set to /home/alexandr/pnextract-master/thirdparty
g++-6  -I/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/include -I/home/alexandr/pnextract-master/thirdparty/libtiff/build/include -I/home/alexandr/pnextract-master/voxelImage -std=c++11   -DTIFLIB  -DZLIB -O3     -Wall -pedantic -MMD -MP  -std=c++0x  -I../voxelImage  -I.   -c blockNet.cpp -o ../build/pnextract/blockNet.o
g++-6  -I/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/include -I/home/alexandr/pnextract-master/thirdparty/libtiff/build/include -I/home/alexandr/pnextract-master/voxelImage -std=c++11   -DTIFLIB  -DZLIB -O3     -Wall -pedantic -MMD -MP  -std=c++0x  -I../voxelImage  -I.   -c medialSurf.cpp -o ../build/pnextract/medialSurf.o
g++-6  -I/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/include -I/home/alexandr/pnextract-master/thirdparty/libtiff/build/include -I/home/alexandr/pnextract-master/voxelImage -std=c++11   -DTIFLIB  -DZLIB -O3     -Wall -pedantic -MMD -MP  -std=c++0x  -I../voxelImage  -I.   -c nextract.cpp -o ../build/pnextract/nextract.o
g++-6  -I/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/include -I/home/alexandr/pnextract-master/thirdparty/libtiff/build/include -I/home/alexandr/pnextract-master/voxelImage -std=c++11   -DTIFLIB  -DZLIB -O3     -Wall -pedantic -MMD -MP  -std=c++0x  -I../voxelImage  -I.   -c writers_vtk.cpp -o ../build/pnextract/writers_vtk.o
g++-6  -I/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/include -I/home/alexandr/pnextract-master/thirdparty/libtiff/build/include -I/home/alexandr/pnextract-master/voxelImage -std=c++11   -DTIFLIB  -DZLIB -O3     -Wall -pedantic -MMD -MP  -std=c++0x  -I../voxelImage  -I.   -c writers_vxl.cpp -o ../build/pnextract/writers_vxl.o
g++-6  ../build/pnextract/blockNet.o ../build/pnextract/medialSurf.o ../build/pnextract/nextract.o ../build/pnextract/writers_vtk.o ../build/pnextract/writers_vxl.o -o /home/alexandr/pnextract-master/bin/pnextract -L/home/alexandr/pnextract-master/thirdparty/zlib-1.2.11/build/lib     -L/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff     -L/home/alexandr/pnextract-master/bin      -ltiff -ltiffxx -lstdc++ -lm  -ljpeg   -llzma   -lzxx -static-libgcc -static-libstdc++  
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_jbig.c.o): In function `JBIGDecode':
tif_jbig.c:(.text+0xea): undefined reference to `jbg_dec_init'
tif_jbig.c:(.text+0x11d): undefined reference to `jbg_dec_in'
tif_jbig.c:(.text+0x139): undefined reference to `jbg_strerror'
tif_jbig.c:(.text+0x17b): undefined reference to `jbg_dec_free'
tif_jbig.c:(.text+0x196): undefined reference to `jbg_dec_getimage'
tif_jbig.c:(.text+0x1ac): undefined reference to `jbg_dec_getsize'
tif_jbig.c:(.text+0x1d7): undefined reference to `jbg_dec_free'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_jbig.c.o): In function `JBIGEncode':
tif_jbig.c:(.text+0x46a): undefined reference to `jbg_enc_init'
tif_jbig.c:(.text+0x47d): undefined reference to `jbg_enc_out'
tif_jbig.c:(.text+0x48c): undefined reference to `jbg_enc_free'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDSetupDecode':
tif_zstd.c:(.text+0x6a): undefined reference to `ZSTD_freeCStream'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDPreDecode':
tif_zstd.c:(.text+0x130): undefined reference to `ZSTD_freeDStream'
tif_zstd.c:(.text+0x144): undefined reference to `ZSTD_createDStream'
tif_zstd.c:(.text+0x19e): undefined reference to `ZSTD_initDStream'
tif_zstd.c:(.text+0x1ae): undefined reference to `ZSTD_isError'
tif_zstd.c:(.text+0x1be): undefined reference to `ZSTD_getErrorName'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDDecode':
tif_zstd.c:(.text+0x2d0): undefined reference to `ZSTD_decompressStream'
tif_zstd.c:(.text+0x2e0): undefined reference to `ZSTD_isError'
tif_zstd.c:(.text+0x2f0): undefined reference to `ZSTD_getErrorName'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDSetupEncode':
tif_zstd.c:(.text+0x454): undefined reference to `ZSTD_freeDStream'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDPreEncode':
tif_zstd.c:(.text+0x518): undefined reference to `ZSTD_freeCStream'
tif_zstd.c:(.text+0x52c): undefined reference to `ZSTD_createCStream'
tif_zstd.c:(.text+0x595): undefined reference to `ZSTD_initCStream'
tif_zstd.c:(.text+0x5a5): undefined reference to `ZSTD_isError'
tif_zstd.c:(.text+0x5b5): undefined reference to `ZSTD_getErrorName'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDEncode':
tif_zstd.c:(.text+0x6e6): undefined reference to `ZSTD_compressStream'
tif_zstd.c:(.text+0x6f6): undefined reference to `ZSTD_isError'
tif_zstd.c:(.text+0x706): undefined reference to `ZSTD_getErrorName'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDPostEncode':
tif_zstd.c:(.text+0x81b): undefined reference to `ZSTD_endStream'
tif_zstd.c:(.text+0x82b): undefined reference to `ZSTD_isError'
tif_zstd.c:(.text+0x83b): undefined reference to `ZSTD_getErrorName'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDCleanup':
tif_zstd.c:(.text+0x988): undefined reference to `ZSTD_freeDStream'
tif_zstd.c:(.text+0x9ba): undefined reference to `ZSTD_freeCStream'
/home/alexandr/pnextract-master/thirdparty/libtiff/build/libtiff/libtiff.a(tif_zstd.c.o): In function `ZSTDVSetField':
tif_zstd.c:(.text+0xa90): undefined reference to `ZSTD_maxCLevel'
tif_zstd.c:(.text+0xa99): undefined reference to `ZSTD_maxCLevel'
collect2: error: ld returned 1 exit status
Makefile:51: recipe for target 'Linux' failed
make: *** [Linux] Error 1

* skipping voxelImage/
aliraeini commented 3 years ago

Old issue and no longer applicable, but in case, this can probably be fixed by installing libzstd-dev libjbig-dev, in Ubuntu: sudo apt install libzstd-dev libjbig-dev