Компиляция Xoopic от ошибок PTSG

Как Вы видите ниже, у меня есть ошибки с 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. Единственный вопрос, который я оставил, это, не находит простофилю и 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.

    ~/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

0
задан 16 July 2015 в 02:02

3 ответа

Просто установите правильные пакеты:

sudo apt-get install sfftw-dev
sudo apt-get install libhdf5-dev
0
ответ дан 4 October 2019 в 00:32
sudo apt-get install apt-file
sudo apt-file update
apt-file search -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 походит на хорошую ставку.

Повторение по мере необходимости.

0
ответ дан 4 October 2019 в 00:32

Примечание: базовая проблема вероятна, что конфигурация программного обеспечения, которое Вы пытаетесь создать, основана на устаревшей версии системы автоинструментов GNU. Правильный способ зафиксировать его состоит в том, чтобы, вероятно, изменить сценарии и повторно создать более соответствующее ./configure сценарий: если я понимаю процесс правильно, autoreconf должен помочь с этим, но, кажется, вызывает больше проблем, чем это фиксирует. Следующее является действительно взломом в лучшем случае


Насколько я знаю, s и d префиксы fftw просто обозначьте единственный - и двойная точность.

По крайней мере, в текущих версиях Ubuntu, в то время как заголовки разработки с одинарной точностью и библиотеки упаковываются как sfftw-dev, пакет разработки двойной точности (по умолчанию) просто называют fftw-dev и соответствующим заголовочным файлам и библиотекам также недостает d префикс.

Я думаю, что приемлемое обходное решение является только к символьной ссылке недостающими файлами, например, (Вы не должны использовать/usr/local здесь - я просто думаю, что это делает более чистое различие):

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

По крайней мере, я смог создать xoopic двоичный файл на 64-разрядной Ubuntu 14.04 этот путь - хотя я только протестировал его использование ./xoopic --help так как я не знаком с надлежащим использованием программы.


Я не думаю отказ найти gawk должна быть проблема, так как это, кажется, довольно mawk; однако можно установить gawk из репозитория, если Вы желаете - IIRC, он примется как значение по умолчанию в масштабе всей системы awk хотя можно легко задержать его к mawk через update-alternatives.

Я не имел h5diff также, когда я сделал по-видимому успешную сборку, но можно получить ее путем установки hdf5-tools. Я нашел, что было все еще необходимо добавить определение переменной оболочки H5DIFF=/usr/bin/h5diff к ./configure командная строка, чтобы заставить сценарий находить его.

0
ответ дан 4 October 2019 в 00:32

Другие вопросы по тегам:

Похожие вопросы: