Здравствуйте!
Есть система Debian Squeeze x64.
Туда поставлен комерческий софт (распространяется в виде исходников) для квантого-химических рассчетов.
Я её скомпилировал использую ACML в качестве Blas и Lapack библиотек, openmpi, fftw2 (компилил сам) и scalapack (компилил сам).
Во время компиляции ошибок не было. В результате большая часть софта работает, но несколько прог падает. Пока нашли 2:
kgen и tetra. Вот что я смог про них найти:
root@host /opt/wien_2k # ldd kgen
linux-vdso.so.1 => (0x00007fff46d7a000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00002b0d86432000)
libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00002b0d8664e000)
libm.so.6 => /lib/libm.so.6 (0x00002b0d8693b000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002b0d86bbd000)
libc.so.6 => /lib/libc.so.6 (0x00002b0d86dd3000)
/lib64/ld-linux-x86-64.so.2 (0x00002b0d86212000)
dmesg:
[506583.894669] kgen[12028] trap divide error ip:40576a sp:7fff1c8f45a0 error:0 in kgen[400000+a000]
root@thunder /opt/wien_2k # ldd tetra
linux-vdso.so.1 => (0x00007fffaafff000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00002b175df06000)
libgfortran.so.3 => /usr/lib/libgfortran.so.3 (0x00002b175e122000)
libm.so.6 => /lib/libm.so.6 (0x00002b175e40f000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002b175e691000)
libc.so.6 => /lib/libc.so.6 (0x00002b175e8a7000)
/lib64/ld-linux-x86-64.so.2 (0x00002b175dce6000)
dmesg:
[506609.316764] tetra[12095]: segfault at 4 ip 00000000004073ba sp 00007fff95de75e0 error 6 in tetra[400000+a000]
Опции компиляции:
current:FOPT:-ffree-form -O2
current:FPOPT:-ffree-form -O2
current:LDFLAGS:$(FOPT) -lpthread
current:DPARALLEL:'-DParallel'
current:R_LIBS:-L/opt/acml4.4.0/gfortran64/lib -lacml
current:RP_LIBS:-L/opt/scalapack/lib -lscalapack -lblacsF77 -lblacsC -lblacs -lblacsF77 -lblacsC -L/usr/lib/openmpi/lib -lmpi -L/opt/acml4.4.0/gfortran64/lib -lacml -L/opt/fftw2/lib -lfftw_mpi -lfftw -lm -lpthread
current:MPIRUN:mpirun -n _NP_ -machinefile _HOSTS_ _EXEC_
Может кто-нибудь помочь разобраться в чем проблема?
Не хочу ставить ifort и mkl, потому что это будет нарушением лицензии.