wget http://cgns.sourceforge.net/CGNSFiles/Chris/bump.cgns.gz
gunzip bump.cgns.gz
pyfr import -t cgns bump.cgns bump.pyfrm
Traceback (most recent call last):
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/ctypesutil.py", line 22, in load_library
File "/op/anaconda3/lib/python3.5/ctypes/__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/libcgns.so: undefined symbol: H5T_NATIVE_SCHAR_g
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/op/anaconda3/bin/pyfr", line 11, in <module>
load_entry_point('pyfr==1.5.0', 'console_scripts', 'pyfr')()
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py", line 110, in main
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py", line 118, in process_import
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/readers/__init__.py", line 11, in get_reader_by_name
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/readers/cgns.py", line 374, in __init__
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/readers/cgns.py", line 34, in __init__
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/ctypesutil.py", line 31, in load_library
OSError: Unable to load cgns
#szip
wget https://support.hdfgroup.org/ftp/lib-external/szip/2.1/src/szip-2.1.tar.gz
tar xf szip-2.1.tar.gz
cd szip-2.1
./configure --prefix=/usr/local
make
make install
cd
#hdf5
wget -b https://support.hdfgroup.org/ftp/HDF5/current18/src/hdf5-1.8.18.tar
tar xf hdf5-1.8.18.tar
cd hdf5-1.8.18
./configure --prefix=/usr/local --enable-parallel --with-szlib
make
make install
cd
#CGNS
wget https://github.com/CGNS/CGNS/archive/v3.3.0.tar.gz
tar xf v3.3.0.tar.gz
cd CGNS-3.3.0/src
export FC=gfortran
export FCFLAGS=-fPIC
#"--with-hdf5=/usr/local" in order to avoid "-I" flag.
./configure --prefix=/usr/local --with-mpi --with-szip --with-hdf5=/usr/local --enable-64bit --enable-shared=all --enable-parallel
make
make install
cd
[root@localhost cgns_file]# mpicc --version
gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@localhost cgns_file]# uname -a
Linux localhost.localdomain 2.6.32-042stab120.11 #1 SMP Wed Nov 16 12:05:45 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost cgns_file]# mpiexec --versionmpiexec (OpenRTE) 2.0.1
Report bugs to http://www.open-mpi.org/community/help/
[root@localhost cgns_file]# nm -g /usr/local/lib/libcgns.so
nm: /usr/local/lib/libcgns.so: no symbols
[root@localhost cgns_file]# nm -gC /usr/local/lib/libcgns.so
nm: /usr/local/lib/libcgns.so: no symbols
[root@localhost cgns_file]# objdump -T /usr/local/lib/libcgns.so
/usr/local/lib/libcgns.so: file format elf64-x86-64
DYNAMIC SYMBOL TABLE:
0000000000017848 l d .init 0000000000000000 .init
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.3 __ctype_toupper_loc
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 getenv
0000000000000000 D *UND* 0000000000000000 H5T_NATIVE_SCHAR_g
0000000000000000 D *UND* 0000000000000000 H5Tget_native_type
0000000000000000 D *UND* 0000000000000000 ompi_mpi_comm_world
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 free
0000000000000000 D *UND* 0000000000000000 H5Pset_link_creation_order
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 putchar
0000000000000000 D *UND* 0000000000000000 H5Sget_simple_extent_npoints
0000000000000000 D *UND* 0000000000000000 H5Fget_access_plist
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 __errno_location
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 unlink
0000000000000000 D *UND* 0000000000000000 H5T_IEEE_F64LE_g
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 strncpy
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 strncmp
0000000000000000 w D *UND* 0000000000000000 _ITM_deregisterTMCloneTable
0000000000000000 DO *UND* 0000000000000000 GLIBC_2.2.5 stdout
0000000000000000 D *UND* 0000000000000000 H5Tcopy
0000000000000000 D *UND* 0000000000000000 H5Fopen
0000000000000000 D *UND* 0000000000000000 H5Gunlink
0000000000000000 D *UND* 0000000000000000 H5Awrite
0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 strcpy
...
[root@localhost cgns_file]# ll ` find / -name libcgns.so`
-rwxr-xr-x 1 root root 715136 Jan 12 08:30 /root/CGNS-3.3.0/lib/libcgns.so
-rw-r--r-- 1 root root 715136 Jan 12 08:27 /usr/local/lib/libcgns.so
[root@localhost cgns_file]# ldd /usr/local/lib/libcgns.so
ldd: warning: you do not have execution permission for `/usr/local/lib/libcgns.so'
linux-vdso.so.1 => (0x00007ffea41fc000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7a8fbdc000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7a90241000)
[root@localhost cgns_file]# cd /usr/local/lib
[root@localhost lib]# chmod 755 libcgns.so
[root@localhost lib]# cd ~/cgns_file/
[root@localhost cgns_file]# pyfr import -t cgns bump.cgns bump.pyfrm
Traceback (most recent call last):
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/ctypesutil.py", line 22, in load_library
File "/op/anaconda3/lib/python3.5/ctypes/__init__.py", line 347, in __init__
self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/libcgns.so: undefined symbol: H5T_NATIVE_SCHAR_g
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/op/anaconda3/bin/pyfr", line 11, in <module>
load_entry_point('pyfr==1.5.0', 'console_scripts', 'pyfr')()
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py", line 110, in main
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/__main__.py", line 118, in process_import
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/readers/__init__.py", line 11, in get_reader_by_name
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/readers/cgns.py", line 374, in __init__
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/readers/cgns.py", line 34, in __init__
File "/op/anaconda3/lib/python3.5/site-packages/pyfr-1.5.0-py3.5.egg/pyfr/ctypesutil.py", line 31, in load_library
OSError: Unable to load cgns
In [5]: ctypes.CDLL(r'/usr/local/lib/libhdf5.so')
Out[5]: <CDLL '/usr/local/lib/libhdf5.so', handle 153eb00 at 0x7fd343597518>
In [6]: ctypes.CDLL(r'/usr/local/lib/libcgns.so')
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
<ipython-input-6-5d5a10f71ece> in <module>()
----> 1 ctypes.CDLL(r'/usr/local/lib/libcgns.so')
/op/anaconda3/lib/python3.5/ctypes/__init__.py in __init__(self, name, mode, handle, use_errno, use_last_error)
345
346 if handle is None:
--> 347 self._handle = _dlopen(self._name, mode)
348 else:
349 self._handle = handle
OSError: /usr/local/lib/libcgns.so: undefined symbol: H5T_NATIVE_SCHAR_g
mkdir lib
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -o lib/cgns_error.o -c cgns_error.c
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/usr/local/include -o lib/cgns_internals.o -c cgns_internals.c
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -o lib/cgns_io.o -c cgns_io.c
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/usr/local/include -I/usr/include -o lib/cgnslib.o -c cgnslib.c
gfortran -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -o lib/cgns_f.o -c cgns_f.F90
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -Iadfh -I/usr/local/include -I/usr/include -o lib/ADFH.o -c adfh/ADFH.c
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/usr/local/include -I/usr/include -o lib/pcgnslib.o -c pcgnslib.c
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -Iadf -o lib/ADF_interface.o -c adf/ADF_interface.c
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -Iadf -o lib/ADF_internals.o -c adf/ADF_internals.c
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/usr/local/include -DLOWERCASE_ -o lib/cg_ftoc.o -c cg_ftoc.c
mpicc -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/usr/local/include -DLOWERCASE_ -o lib/cgio_ftoc.o -c cgio_ftoc.c
mpicc -shared -Wl,-rpath,/usr/local/lib:/root/CGNS-3.3.0/src/lib -o lib/libcgns.so lib/cgns_error.o lib/cgns_internals.o lib/cgns_io.o lib/cgnslib.o lib/cgns_f.o lib/ADFH.o lib/pcgnslib.o lib/ADF_interface.o lib/ADF_internals.o lib/cg_ftoc.o lib/cgio_ftoc.o
strip lib/libcgns.so
cd
git clone https://github.com/CGNS/CGNS.git
git checkout e0faea6
cd CGNS/src
export FC=mpifort
export CC=mpicc
./configure \
--prefix=/opt/cgns \
--with-hdf5=/opt/hdf5 \ # hdf5_1_8_18 installed here
--enable-lfs \
--enable-64bit \
--enable-shared \
--enable-parallel \
--enable-gcc \
--with-mpi
[root@localhost src]# make
mkdir lib
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -o lib/cgns_error.o -c c gns_error.c
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/opt/hdf5/include -o l ib/cgns_internals.o -c cgns_internals.c
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -o lib/cgns_io.o -c cgns _io.c
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/opt/hdf5/include -I/u sr/include -o lib/cgnslib.o -c cgnslib.c
mpifort -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -o lib/cgns_f.o -c cgns_f. F90
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -Iadfh -I/opt/hdf5/inclu de -I/usr/include -o lib/ADFH.o -c adfh/ADFH.c
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/opt/hdf5/include -I/u sr/include -o lib/pcgnslib.o -c pcgnslib.c
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -Iadf -o lib/ADF_interfa ce.o -c adf/ADF_interface.c
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -Iadf -o lib/ADF_interna ls.o -c adf/ADF_internals.c
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/opt/hdf5/include -DLO WERCASE_ -o lib/cg_ftoc.o -c cg_ftoc.c
mpicc -g -O2 -fPIC -I. -DBUILD_HDF5 -DBUILD_PARALLEL -I/opt/hdf5/include -DLO WERCASE_ -o lib/cgio_ftoc.o -c cgio_ftoc.c
mpicc -shared -Wl,-rpath,/opt/cgns/lib:/root/CGNS/src/lib -o lib/libcgns.so lib /cgns_error.o lib/cgns_internals.o lib/cgns_io.o lib/cgnslib.o lib/cgns_f.o lib/ ADFH.o lib/pcgnslib.o lib/ADF_interface.o lib/ADF_internals.o lib/cg_ftoc.o lib/ cgio_ftoc.o
strip lib/libcgns.so
cd tools && make
...
[root@localhost src]# ldd ./lib/libcgns.so
linux-vdso.so.1 => (0x00007ffffb76c000)
libmpi.so.20 => /usr/lib64/libmpi.so.20 (0x00007fc0bcf07000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc0bcce5000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc0bc951000)
libopen-rte.so.20 => /usr/lib64/libopen-rte.so.20 (0x00007fc0bc6d0000)
libopen-pal.so.20 => /usr/lib64/libopen-pal.so.20 (0x00007fc0bc3e5000)
librt.so.1 => /lib64/librt.so.1 (0x00007fc0bc1dd000)
libm.so.6 => /lib64/libm.so.6 (0x00007fc0bbf59000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007fc0bbd55000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc0bbb51000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc0bd4b5000)
cd
cd CGNS/src/
FC="gfortran -g -O2 -fPIC" ./configure --enable-shared
make
cd ~/cgns_files
wget http://cgns.sourceforge.net/CGNSFiles/Bruce/yf17.cgns.gz
gunzip yf17.cgns.gz
LD_LIBRARY_PATH="$HOME/CGNS/src/lib:$LD_LIBRARY_PATH" pyfr import -t cgns yf17.cgns yf17.pyfrm
[root@localhost cgns_file]# LD_LIBRARY_PATH="$HOME/CGNS/src/lib:$LD_LIBRARY_PATH" pyfr import -t cgns bump.cgns bump.pyfrm
Traceback (most recent call last):
File "/opt/rh/rh-python34/root/usr/bin/pyfr", line 11, in <module> sys.exit(main()) File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/__main__.py", line 110, in main args.process(args) File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/__main__.py", line 118, in process_import reader = get_reader_by_name(args.type, args.inmesh) File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/readers/__init__.py", line 11, in get_reader_by_name return subclass_where(BaseReader, name=name)(*args, **kwargs) File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/readers/cgns.py", line 384, in __init__ zone = CGNSZoneReader(cgns, base, 0) File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/readers/cgns.py", line 266, in __init__ zone = cgns.zone_read(base, idx) File "/opt/rh/rh-python34/root/usr/lib/python3.4/site-packages/pyfr/readers/cgns.py", line 153, in zone_read raise RuntimeError('ReadCGNS_read: Incorrect zone type for file')RuntimeError: ReadCGNS_read: Incorrect zone type for fileSegmentation fault
Hi CatDog,
Currently, PyFR supports unstructured grid CGNS file only. The bump mesh you pointed is written in structured grid CGNS format.
If you make a mesh in Pointwise and written in unstructured grid CGNS format, it should work.
You can even point your CGNS library with 'export PYFR_LIBRARY_PATH=(your CGNS library path)', instead of LD_LIBRARY_PATH.
Recent CGNS (post commit e0faea6) fixed undefined H5 symbol issues. You can also get CGNS from develop branch of CGNS github.
The procedure Yoshiaki mentioned also works for me. Please use cmake to configure your CGNS build.
Regards,
Jin Seok
tar xf CMake-hdf5-1.10.0-patch1.tar.gzcd CMake-hdf5-1.10.0-patch1#modify HDF5config.cmake to support some features as
### part of make output
mpicc -shared -Wl,-rpath,/opt/cgns/lib:/root/CGNS/src/lib -o lib/libcgns.so lib/cgns_error.o lib/cgns_internals.o lib/cgns_io.o lib/cgnslib.o lib/cgns_f.o lib/ADFH.o lib/ADF_interface.o lib/ADF_internals.o lib/cg_ftoc.o lib/cgio_ftoc.ostrip lib/libcgns.so
lib
cd
mkdir cgns_files
cd cgns_files
wget http://cgns.sourceforge.net/CGNSFiles/Bruce/yf17.cgns.gz
wget http://cgns.sourceforge.net/CGNSFiles/Bruce/yf17_hdf5.cgns.gz
gunzip yf17.cgns.gz
gunzip yf17_hdf5.cgns.gz
PYFR_LIBRARY_PATH="/root/CGNS/src/lib" pyfr import -t cgns yf17.cgns yf17.pyfrm
PYFR_LIBRARY_PATH="/root/CGNS/src/lib" pyfr import -t cgns yf17_hdf5.cgns yf17_hdf5.pyfrm
mpicc -shared -Wl,-rpath,/opt/cgns/lib:/root/CGNS/src/lib:/opt/hdf5-1.8.18/lib -o lib/libcgns.so -L/opt/hdf5-1.8.18/lib -lhdf5 lib/cgns_error.o lib/cgns_internals.o lib/cgns_io.o lib/cgnslib.o lib/cgns_f.o lib/ADFH.o lib/ADF_interface.o lib/ADF_internals.o lib/cg_ftoc.o lib/cgio_ftoc.o