2017-07-09 6 views
0

J'ai beaucoup de mal à compiler une bibliothèque. La bibliothèque est ESFlib disponible sur la page this. Cela dépend des bibliothèques Mescach et Ckit, qui peuvent toutes deux être trouvées sur la page Web précédemment liée. Je n'ai aucun problème à construire la bibliothèque Ckit, mais je rencontre des problèmes avec la bibliothèque Meschach, qui a quelques problèmes avec un fichier nommé zmachine. Malgré cela, j'ai réussi à construire un fichier de bibliothèque mesach.a en utilisant le fichier rebuild.sh. Cependant, lorsque j'essaie de générer le fichier ESFlib, j'obtiens une erreur de compilation interne. J'utilise une machine virtuelle avec Ubuntu 64, si cela est pertinent. Je suis assez nouveau dans ce genre de choses, donc toute aide serait très appréciée car le contenu de cette bibliothèque me ferait gagner beaucoup de temps!Problème de construction d'une bibliothèque

Cordialement, Stephen

Résultats de ./configure et faire

./configure 
"\n   Note: \n  configure can be run with the option --enable-SECOND_DERIVATIVES=t\n  to build the ESFLIB version which supports second derivatives.\n" 
"\n   Note: \n  configure can be run with the option --enable-WRAP_AROUND=t\n  to build the ESFLIB version which supports the wrap-around \n  \(diffraction\) method of weight function smoothing at crack tips.\n" 
checking build system type... x86_64-pc-linux-gnu 
checking host system type... x86_64-pc-linux-gnu 
checking whether make sets $(MAKE)... yes 
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 for library containing strerror... none required 
checking whether ln -s works... yes 
checking how to run the C preprocessor... gcc -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 minix/config.h usability... no 
checking minix/config.h presence... no 
checking for minix/config.h... no 
checking whether it is safe to define __EXTENSIONS__... yes 
checking for ranlib... ranlib 
checking for gcc... yes 
checking compile with prototypes... yes (gcc) 
checking preprocessor... gcc -E 
checking for _get_list_next in -lckit... yes 
checking ckitcfg.h usability... yes 
checking ckitcfg.h presence... yes 
checking for ckitcfg.h... yes 
checking for LUfactor in -lmeschach... no 
checking /home/stephen/Documents/ESFLib/src/../../Meschach/x86_64-pc-linux-gnu/libmeschach.a... no 
checking /home/stephen/Documents/ESFLib/src/../../Meschach/x86_64-pc-linux-gnu/meschach.a... checking /home/stephen/Documents/ESFLib/src/../../Meschach/libmeschach.a... no 
checking /home/stephen/Documents/ESFLib/src/../../Meschach/meschach.a... yes 
checking matrix2.h usability... yes 
checking matrix2.h presence... yes 
checking for matrix2.h... yes 
checking for unistd.h... (cached) yes 
checking for ANSI C header files... (cached) yes 
checking for an ANSI C-conforming const... yes 
checking for random... yes 
checking for rand... yes 
checking for isnan... yes 
configure: creating ./config.status 
config.status: creating Makefile 

make 
arch=`./config.guess`; arch=`config.sub $arch`; \ 
if test "xx86_64-pc-linux-gnu" != "x$arch" ; then \ 
    make reconfigure; \ 
fi 
/bin/sh: 1: config.sub: not found 
make[1]: Entering directory '/home/stephen/Documents/ESFLib/src' 
make clean; ./configure 
make[2]: Entering directory '/home/stephen/Documents/ESFLib/src' 
for n in 1 2 3 ; do \ 
     make SPDIM=$n ESFLIB_LANG="" clean_${n}d; \ 
     make SPDIM=$n ESFLIB_LANG=f clean_${n}d; \ 
done 
make[3]: Entering directory '/home/stephen/Documents/ESFLib/src' 
Cleaning build files 
make[3]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
make[3]: Entering directory '/home/stephen/Documents/ESFLib/src' 
Cleaning build files 
make[3]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
make[3]: Entering directory '/home/stephen/Documents/ESFLib/src' 
Cleaning build files 
make[3]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
make[3]: Entering directory '/home/stephen/Documents/ESFLib/src' 
Cleaning build files 
make[3]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
make[3]: Entering directory '/home/stephen/Documents/ESFLib/src' 
Cleaning build files 
make[3]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
make[3]: Entering directory '/home/stephen/Documents/ESFLib/src' 
Cleaning build files 
make[3]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
make[2]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
"\n   Note: \n  configure can be run with the option --enable-SECOND_DERIVATIVES=t\n  to build the ESFLIB version which supports second derivatives.\n" 
"\n   Note: \n  configure can be run with the option --enable-WRAP_AROUND=t\n  to build the ESFLIB version which supports the wrap-around \n  \(diffraction\) method of weight function smoothing at crack tips.\n" 
checking build system type... x86_64-pc-linux-gnu 
checking host system type... x86_64-pc-linux-gnu 
checking whether make sets $(MAKE)... yes 
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 for library containing strerror... none required 
checking whether ln -s works... yes 
checking how to run the C preprocessor... gcc -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 minix/config.h usability... no 
checking minix/config.h presence... no 
checking for minix/config.h... no 
checking whether it is safe to define __EXTENSIONS__... yes 
checking for ranlib... ranlib 
checking for gcc... yes 
checking compile with prototypes... yes (gcc) 
checking preprocessor... gcc -E 
checking for _get_list_next in -lckit... yes 
checking ckitcfg.h usability... yes 
checking ckitcfg.h presence... yes 
checking for ckitcfg.h... yes 
checking for LUfactor in -lmeschach... no 
checking /home/stephen/Documents/ESFLib/src/../../Meschach/x86_64-pc-linux-gnu/libmeschach.a... no 
checking /home/stephen/Documents/ESFLib/src/../../Meschach/x86_64-pc-linux-gnu/meschach.a... checking /home/stephen/Documents/ESFLib/src/../../Meschach/libmeschach.a... no 
checking /home/stephen/Documents/ESFLib/src/../../Meschach/meschach.a... yes 
checking matrix2.h usability... yes 
checking matrix2.h presence... yes 
checking for matrix2.h... yes 
checking for unistd.h... (cached) yes 
checking for ANSI C header files... (cached) yes 
checking for an ANSI C-conforming const... yes 
checking for random... yes 
checking for rand... yes 
checking for isnan... yes 
configure: creating ./config.status 
config.status: creating Makefile 
make[1]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
Removing dim dependent files 
make SPDIM=1 make_1d 
make[1]: Entering directory '/home/stephen/Documents/ESFLib/src' 
Running make for dim=1 
make[2]: Entering directory '/home/stephen/Documents/ESFLib/src' 
Creating esflibtop.h from template 
Creating esflib1.h 
Compiling sf.c 
In file included from sf.c:19:0: 
esflibpriv.h:1:0: internal compiler error: Segmentation fault 
#ifndef ESFLIBPRIV_H 
^ 
Please submit a full bug report, 
with preprocessed source if appropriate. 
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions. 
Makefile:203: recipe for target 'sf.o' failed 
make[2]: *** [sf.o] Error 1 
make[2]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
Makefile:112: recipe for target 'make_c1d' failed 
make[1]: *** [make_c1d] Error 2 
make[1]: Leaving directory '/home/stephen/Documents/ESFLib/src' 
Makefile:100: recipe for target '1d' failed 
make: *** [1d] Error 2 
+1

Les bibliothèques ont plus de 15 ans, cela pourrait-il être un problème? – Stephen

Répondre

0

Je l'ai vu l'accident gcc quand il est à court de mémoire - augmenter la mémoire de votre instance de VirtualBox et essayez à nouveau.

+0

Merci pour la réponse. J'ai augmenté la mémoire à 12 Go mais je suis toujours confronté au même problème. – Stephen

+0

J'ai eu des problèmes avec une compilation à 16Go et augmenté à 32 – lostbard

+0

Hmmf, je suis tout à ram, je vais devoir l'essayer sur un autre PC quand j'ai l'occasion. – Stephen