PTSG 오류에서 Xoopic 컴파일


0

아래에서 볼 수 있듯이 hdf5.h fftw.h 및 dfttw.h에 오류가 있습니다. 이들 중 어느 것도 발견되지 않았으며 어디에서나 이것을 찾을 수 없으므로 dfttw.h를 제외한 위치를 지정했습니다. 또한 엄청난 양의 버전 오류가 있지만 필요한 버전을 정확하게 찾을 수없는 것 같습니다.

~/Documents/xoopic$ TCL_LIBDIR_PATH=/usr/lib/x86_64-linux-gnu/ TK_LIBDIR_PATH=/usr/lib/x86_64-linux-gnu/ ./configure --with-tclsh=/usr/bin/tclsh8.5 --with-tclconfig=/usr/lib/tcl8.5 --with-tkconfig=/usr/lib/tk8.5 --with-tclhdir=/usr/include/tcl8.5 --with-tkhdir=/usr/include/tcl8.5 --with-sfftw-incdir=/usr/include/sfftw.h --with-hdf5-incdir=/usr/include/hdf5/serial/hdf5.h
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
using HDF5? ... yes
checking for hdf5.h... no
configure: WARNING: hdf5.h not found in /usr/include/hdf5/serial/hdf5.h.  Use --with-hdf5-incdir=
grep: /usr/include/hdf5/serial/hdf5.h/H5pubconf.h: Not a directory
Failed to find serial build of HDF5 in obvious location. Setting _SERIAL vars
to be the same as the parallel vars so as not to break the vpdatanal builds.
configure: WARNING: hdf5 not properly installed -- Turning off hdf5.
Using C++ compiler g++
Using C compiler gcc
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for library containing strerror... none required
checking whether time.h and sys/time.h may both be included... yes
checking for BSD-compatible nm... 
install-sh/usr/bin/nm -B
Setting the flags per system and C++ compiler: g++
checking for g++... /usr/bin/g++
Serial C++ compiler is `g++'
checking g++ version... g++
configure: WARNING: Caution: version  is not known to work.
checking for -fsquangle... no
checking how to build libraries... with ar cr  
checking for gcc... /usr/bin/gcc
Serial C compiler is `gcc'
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking iostream usability... yes
checking iostream presence... yes
checking for iostream... yes
checking strstream usability... yes
checking strstream presence... yes
checking for strstream... yes
checking fstream usability... yes
checking fstream presence... yes
checking for fstream... yes
checking sstream usability... yes
checking sstream presence... yes
checking for sstream... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
Calling config/macros.m4
Calling config/cxx.m4
checking whether c++ compiler supports exception handling... yes
checking whether c++ compiler supports typename... yes
checking whether c++ compiler can explicitly instantiate templates... yes
checking whether c++ compiler supports RTTI... yes
checking whether c++ compiler supports namespaces... yes
checking whether c++ compiler has complex in the namespace std... yes
checking whether c++ compiler has streams in the namespace std... yes
checking whether c++ compiler can overload const type conversions... yes
checking whether c++ compiler knows mutable... yes
checking whether template friends need brackets... yes
checking whether nontype template operators are allowed... no
checking whether static variables can be declared generally... yes
config/cxx.m4 finished
checking whether make sets $(MAKE)... (cached) yes
checking whether ln -s works... yes
checking for ranlib... ranlib
checking what the library suffix is... .a
checking how to install libraries... with ${INSTALL} -m 644
configure: WARNING: x11.m4 is obsolete.  Please use AC_PATH_X or AC_PATH_XTRA.
checking for X11/Xlib.h... /usr/include/X11/Xlib.h
checking for libX11.a... /usr/lib/x86_64-linux-gnu/libX11.a
checking for libXpm.a... /usr/lib/x86_64-linux-gnu/libXpm.a
checking for libXGC250.a... /usr/local/lib/libXGC250.a
checking for xgrafix.h... /usr/local/include/xgrafix.h
checking for xgscalar.h... /usr/local/include/xgscalar.h
checking for SCALAR in /usr/local/include/xgscalar.h... #define SCALAR double
checking for tclsh... /usr/bin/tclsh8.5
checking for tclConfig.sh... /usr/lib/tcl8.5/tclConfig.sh
checking for tkConfig.sh... /usr/lib/tk8.5/tkConfig.sh
checking for libtcl8.5.a... /usr/lib/x86_64-linux-gnu/
checking for libtk8.5.a... /usr/lib/x86_64-linux-gnu/
checking for up-to-date Tcl version in tcl.h... 8.5
Warning: The Tcl version in /usr/include/tcl8.5/tcl.h is not in the legal Tcl versions list!
tcl_version:  NONE
TCL_MAJOR_VERSION:  8
TCL_MINOR_VERSION:  5
checking for up-to-date Tk version in tk.h... 8.5
Warning: The Tk version in /usr/include/tcl8.5/tcl.h is not in the legal Tk versions list!
tk_version:  NONE
TK_MAJOR_VERSION:  8
TK_MINOR_VERSION:  5
Checking for fftw...
checking for dfftw.h... no
configure: WARNING: dfftw.h not found in /home/nickallen/include:/usr/local/fftw/include:/loc/fftw/include:/local/fftw/include:/usr/common/usg/include:/usr/include.  Set location with --with-dfftw-incdir=
checking for sfftw.h... no
configure: WARNING: sfftw.h not found in /usr/include/sfftw.h.  Set location with --with-sfftw-incdir=
Making Makefiles
configure: creating ./config.status
config.status: creating Makefile
config.status: creating otools/Makefile
config.status: creating advisor/Makefile
config.status: creating physics/Makefile
config.status: creating xg/Makefile
config.status: creating config/Makefile
config.status: creating ./config.h
config.status: ./config.h is unchanged
config.status: executing depfiles commands

fftw.h, dfftw.h 및 hdf5와 관련된 문제를 해결했습니다. 내가 남은 유일한 질문은 gawk와 h5diff를 찾지 못한다는 것입니다. 이것이 어떤 식 으로든 영향을 미치는지 알고 있습니까?

        ~/Documents/xoopic$ TCL_LIBDIR_PATH=/usr/lib/x86_64-linux-gnu/ \
> TK_LIBDIR_PATH=/usr/lib/x86_64-linux-gnu/  \
> ./configure \
> --with-tclsh=/usr/bin/tclsh8.5 \
> --with-tclconfig=/usr/lib/tcl8.5 \
> --with-tkconfig=/usr/lib/tk8.5 \
> --with-tclhdir=/usr/include/tcl8.5 \
> --with-tkhdir=/usr/include/tcl8.5 \
> --with-dfftw-incdir=/usr/local/include \
> --with-sfftw-incdir=/usr/include \
> --enable-hdf5 \
>  --with-hdf5-incdir=/usr/include/hdf5/serial \
>  --with-hdf5-libdir=/usr/lib/x86_64-linux-gnu/hdf5/serial
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
using HDF5? ... yes
checking for hdf5.h... /usr/include/hdf5/serial/hdf5.h
checking for libhdf5.a... /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.a
checking for h5diff... no
Using C++ compiler g++
Using C compiler gcc
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for library containing strerror... none required
checking whether time.h and sys/time.h may both be included... yes
checking for BSD-compatible nm... 
install-sh/usr/bin/nm -B
Setting the flags per system and C++ compiler: g++
checking for g++... /usr/bin/g++
Serial C++ compiler is `g++'
checking g++ version... g++
configure: WARNING: Caution: version  is not known to work.
checking for -fsquangle... no
checking how to build libraries... with ar cr  
checking for gcc... /usr/bin/gcc
Serial C compiler is `gcc'
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C preprocessor... gcc -E
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking iostream usability... yes
checking iostream presence... yes
checking for iostream... yes
checking strstream usability... yes
checking strstream presence... yes
checking for strstream... yes
checking fstream usability... yes
checking fstream presence... yes
checking for fstream... yes
checking sstream usability... yes
checking sstream presence... yes
checking for sstream... yes
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
Calling config/macros.m4
Calling config/cxx.m4
checking whether c++ compiler supports exception handling... yes
checking whether c++ compiler supports typename... yes
checking whether c++ compiler can explicitly instantiate templates... yes
checking whether c++ compiler supports RTTI... yes
checking whether c++ compiler supports namespaces... yes
checking whether c++ compiler has complex in the namespace std... yes
checking whether c++ compiler has streams in the namespace std... yes
checking whether c++ compiler can overload const type conversions... yes
checking whether c++ compiler knows mutable... yes
checking whether template friends need brackets... yes
checking whether nontype template operators are allowed... no
checking whether static variables can be declared generally... yes
config/cxx.m4 finished
checking whether make sets $(MAKE)... (cached) yes
checking whether ln -s works... yes
checking for ranlib... ranlib
checking what the library suffix is... .a
checking how to install libraries... with ${INSTALL} -m 644
configure: WARNING: x11.m4 is obsolete.  Please use AC_PATH_X or AC_PATH_XTRA.
checking for X11/Xlib.h... /usr/include/X11/Xlib.h
checking for libX11.a... /usr/lib/x86_64-linux-gnu/libX11.a
checking for libXpm.a... /usr/lib/x86_64-linux-gnu/libXpm.a
checking for libXGC250.a... /usr/local/lib/libXGC250.a
checking for xgrafix.h... /usr/local/include/xgrafix.h
checking for xgscalar.h... /usr/local/include/xgscalar.h
checking for SCALAR in /usr/local/include/xgscalar.h... #define SCALAR double
checking for tclsh... /usr/bin/tclsh8.5
checking for tclConfig.sh... /usr/lib/tcl8.5/tclConfig.sh
checking for tkConfig.sh... /usr/lib/tk8.5/tkConfig.sh
checking for libtcl8.5.a... /usr/lib/x86_64-linux-gnu/
checking for libtk8.5.a... /usr/lib/x86_64-linux-gnu/
checking for up-to-date Tcl version in tcl.h... 8.5
Warning: The Tcl version in /usr/include/tcl8.5/tcl.h is not in the legal Tcl versions list!
tcl_version:  NONE
TCL_MAJOR_VERSION:  8
TCL_MINOR_VERSION:  5
checking for up-to-date Tk version in tk.h... 8.5
Warning: The Tk version in /usr/include/tcl8.5/tcl.h is not in the legal Tk versions list!
tk_version:  NONE
TK_MAJOR_VERSION:  8
TK_MINOR_VERSION:  5
Checking for fftw...
checking for dfftw.h... /usr/local/include/dfftw.h
checking for libdfftw.a... /usr/local/lib/libdfftw.a
checking for sfftw.h... /usr/include/sfftw.h
checking for libsfftw.a... /usr/lib/libsfftw.a
Making Makefiles
configure: creating ./config.status
config.status: creating Makefile
config.status: creating otools/Makefile
config.status: creating advisor/Makefile
config.status: creating physics/Makefile
config.status: creating xg/Makefile
config.status: creating config/Makefile
config.status: creating ./config.h
config.status: ./config.h is unchanged
config.status: executing depfiles commands

h5diff 문제를 해결 한 후 hdf5와 관련하여 더 많은 문제가 발생한 make로 이동했습니다.

    ~/Documents/xoopic$ make
make  all-recursive
make[1]: Entering directory '/home/nickallen/Documents/xoopic'
Making all in otools
make[2]: Entering directory '/home/nickallen/Documents/xoopic/otools'
g++ -DHAVE_CONFIG_H -I. -I../. -I../advisor -I../physics -I../otools -I../otools -I../config  -I/usr/local/include  -I/usr/local/include  -I/usr/include/hdf5/serial    -Wall -Wno-unused  -g -O2 -pipe -g -O2 -pipe   -DUNIX  -DSCALAR_DOUBLE   -c -o dumpHDF5.o dumpHDF5.cpp
dumpHDF5.cpp: In member function ‘void dumpHDF5::readSimple(std::string, double*, int&)’:
dumpHDF5.cpp:126:46: error: too few arguments to function ‘hid_t H5Dopen2(hid_t, const char*, hid_t)’
   datasetId = H5Dopen(fileId,dataPath.c_str());
                                              ^
In file included from /usr/include/hdf5/serial/hdf5.h:27:0,
                 from dumpHDF5.h:20,
                 from dumpHDF5.cpp:12:
/usr/include/hdf5/serial/H5Dpublic.h:123:14: note: declared here
 H5_DLL hid_t H5Dopen2(hid_t file_id, const char *name, hid_t dapl_id);
              ^
dumpHDF5.cpp: In member function ‘void dumpHDF5::writeSimple(std::string, double*, int, int*)’:
dumpHDF5.cpp:161:84: error: too few arguments to function ‘hid_t H5Dcreate2(hid_t, const char*, hid_t, hid_t, hid_t, hid_t, hid_t)’
  datasetId = H5Dcreate(fileId, dataPath.c_str(), h5Scalar, dataspaceId, H5P_DEFAULT);
                                                                                    ^
In file included from /usr/include/hdf5/serial/hdf5.h:27:0,
                 from dumpHDF5.h:20,
                 from dumpHDF5.cpp:12:
/usr/include/hdf5/serial/H5Dpublic.h:119:14: note: declared here
 H5_DLL hid_t H5Dcreate2(hid_t loc_id, const char *name, hid_t type_id,
              ^
Makefile:484: recipe for target 'dumpHDF5.o' failed
make[2]: *** [dumpHDF5.o] Error 1
make[2]: Leaving directory '/home/nickallen/Documents/xoopic/otools'
Makefile:389: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/nickallen/Documents/xoopic'
Makefile:327: recipe for target 'all' failed
make: *** [all] Er

ror 2


아마도 그렇지는 않지만 계속 설치하십시오. apt-file로 설치할 패키지를 파악할 수 있습니다.
user3113723

답변:


0

올바른 패키지를 설치하십시오.

sudo apt-get install sfftw-dev
sudo apt-get install libhdf5-dev

0
sudo apt-get 설치 apt 파일
sudo apt 파일 업데이트
적절한 파일 검색 -x /hdf5.h$

양보해야한다

libflann-dev : /usr/include/flann/io/hdf5.h
libhdf5-dev : /usr/include/hdf5/serial/hdf5.h
libhdf5-mpich-dev : /usr/include/hdf5/mpich/hdf5.h
libhdf5-openmpi-dev : /usr/include/hdf5/openmpi/hdf5.h
libopencv-flann-dev : /usr/include/opencv2/flann/hdf5.h

나는 당신이 원하는 것 중 하나를 모르지만 libhdf5-dev좋은 내기처럼 들립니다.

필요에 따라 반복하십시오.


나는 이것을 시도했지만 같은 결과를 얻었습니다. 그래도 다른 두 가지 문제를 해결 한 후 업데이트 된 코드를 게시했습니다
cgnick

0

참고 : 기본 문제는 빌드하려는 소프트웨어의 구성이 오래된 버전의 GNU autotools 시스템을 기반으로하는 것일 수 있습니다. 바로 그것을 해결하는 방법은 스크립트를 수정하고 더 적절한 재생하는 아마 ./configure내가 제대로 과정을 이해하는 경우 : 스크립트를 autoreconf이 도움이해야하지만, 그것을 해결보다 더 많은 문제를 일으킬 것으로 보인다. 다음은 실제로 최선의 해킹입니다.


내가 아는 한, sd접두사는 fftw단 정밀도 및 배정 밀도를 나타냅니다.

적어도 현재 Ubuntu 버전에서는 단 정밀도 개발 헤더 및 라이브러리가로 패키지되어 sfftw-dev있지만 (기본) 배정도 개발 패키지가 간단히 호출 fftw-dev되고 해당 헤더 파일 및 라이브러리에도 d접두사가 없습니다.

내가 생각하는 수용 가능한 해결 방법은 간단하게 예를 들어, 누락 된 파일을 심볼릭 링크하는 것입니다 (당신이 사용할 필요가 없습니다 / usr / 지방 여기에 - 나는 그냥 깨끗한 구분하지 생각)

sudo ln -s /usr/include/fftw.h /usr/local/include/dfftw.h
sudo ln -s /usr/include/rfftw.h /usr/local/include/drfftw.h

sudo ln -s /usr/lib/libfftw.a /usr/local/lib/libdfftw.a
sudo ln -s /usr/lib/libfftw.so /usr/local/lib/libdfftw.so

sudo ln -s /usr/lib/librfftw.a /usr/local/lib/libdrfftw.a
sudo ln -s /usr/lib/librfftw.so /usr/local/lib/libdrfftw.so

위의 예를 따르면

TCL_LIBDIR_PATH=/usr/lib/x86_64-linux-gnu/ TK_LIBDIR_PATH=/usr/lib/x86_64-linux-gnu/ ./configure \
  --with-tclsh=/usr/bin/tclsh8.5 \
  --with-tclconfig=/usr/lib/tcl8.5 \
  --with-tkconfig=/usr/lib/tk8.5 \
  --with-tclhdir=/usr/include/tcl8.5 \
  --with-tkhdir=/usr/include/tcl8.5 \
  --with-sfftw-incdir=/usr/include \
  --with-dfftw-incdir=/usr/local/include \
  --with-hdf5-libdir=/usr/lib/x86_64-linux-gnu

적어도 xoopic64 비트 우분투 14.04 에서 바이너리 를 빌드 할 수있었습니다 ./xoopic --help. 프로그램의 올바른 사용법에 익숙하지 않기 때문에 테스트 만했지만 .


나는 그것을 찾지 못하는 gawk것이 문제가 될 것이라고 생각하지 않는다 mawk. 그러나 gawk원하는 경우 리포지토리에서 설치할 수 있습니다. IIRC는 시스템 전체 기본값으로 설정 awk되지만을 mawk통해 쉽게 다시 설정할 수 있습니다 update-alternatives.

나는 h5diff분명히 성공적인 빌드를했을 때도 없었지만 설치하여 얻을 수 있습니다 hdf5-tools. 스크립트를 찾기 위해 쉘 변수 정의 H5DIFF=/usr/bin/h5diff./configure명령 행에 추가해야한다는 것을 알았 습니다.


이것은 그 두 가지 문제를 완벽하게 해결했습니다! 이제 hdf5 문제 만 해결하면됩니다. 위의 업데이트 된 코드를 게시
하겠습니다

@cgnick 아직 설치하지 않았다면 AB의 답변에libhdf5-dev 따라 설치했는지 확인하십시오
steeldriver

예, 나는 이미 그렇게했습니다. 그것은 문제가 아니었지만 문제를 해결했을 수도 있습니다. 잠깐만
cgnick

위의 코드를 업데이트했습니다. hdf5에서 작동하는 것은 작은 실수이지만 위의 질문에는 2 가지가 있습니다.
cgnick

@cgnick 업데이트 된 답변을 참조하십시오. 이것이 귀하의 나머지 문제를 해결하기를 바랍니다.
steeldriver
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.