как я могу скомпилировать Ortep3 на Ubuntu?

Я недавно скомпилировал ortep3 на более старом использовании сервера CentOS gfortran -o ortep3 ortep.f -lpgplot -lX11. Я думаю, что gfortran версия была 6.5 или что-то как этот. Моя версия gfortran: gcc version 9.2.1

Я хотел бы теперь скомпилировать ORTEP3 на некоторой версии 18.04 машин человечности или позже. когда я пытаюсь скомпилировать ortep, я получаю ошибки, такой как Error: Actual argument contains too few elements for dummy argument ‘itxt’ (1/72) at (1) и предупреждения, такие как: Warning: Fortran 2018 deleted feature: DO termination statement which is not END DO or CONTINUE with label 10 at (1)

я попытался использовать флаг унаследованного кода-ff2c, который не имеет никакого эффекта. libx11 и pgplot и установлены и операционные.

Я попытался компилировать с fort77 который компилирует, но скомпилированный код не будет работать. пытаясь скомпилировать с gfortran, ortep.f не скомпилирует.

LD_TRACE С сервера CentOS:

$ LD_TRACE_LOADED_OBJECTS=1 ./Working_ortep3 
    linux-vdso.so.1 (0x00007ffc82f42000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f185a9cf000)
    libgfortran.so.3 => /usr/lib/x86_64-linux-gnu/libgfortran.so.3 (0x00007f185a89d000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f185a74e000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f185a734000)
    libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f185a6ea000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f185a4f9000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f185a4ce000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f185a4c8000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f185ab51000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f185a4c2000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f185a4ba000)
    libbsd.so.0 => /usr/lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f185a4a0000)

Чтобы соответствовать месту, где я смог создать и выполнить ortep3, я прошел и установил пакеты, которые соответствуют библиотекам зависящих от рабочей версии ORTEP3. Я действительно заканчивал тем, что установил: sudo apt-get install libxdmcp-dev libbsd-dev

Ошибки все еще сохраняются.

Я больше не работаю над сервером, на котором я смог скомпилировать ortep3. Я могу спросить об этом, но я закончил, задание (установите функциональную версию ortep3), когда я смог скомпилировать его там.

Вот список просто ошибок:

ortep.f:576:36:

  576 |       CALL SIMBOL(W(2,1),W(3,1),HGT,' ',0.,-1)
      |                                    1
Error: Actual argument contains too few elements for dummy argument ‘itxt’ (1/72) at (1)
ortep.f:577:36:

  577 |       CALL SIMBOL(W(2,2),W(3,2),HGT,' ',0.,-2)
      |                                    1
Error: Actual argument contains too few elements for dummy argument ‘itxt’ (1/72) at (1)
ortep.f:3678:27:

 3678 |       CALL SIMBOL(W,W2,HGT,ITEX,THT,NC)
      |                           1
Error: Actual argument contains too few elements for dummy argument ‘itxt’ (8/72) at (1)
ortep.f:3934:48:

 3934 |   185 if (nout.ge.0) WRITE (NOUT,176)I,maksym(1,fsym)
      |                                                1
Error: Actual argument contains too few elements for dummy argument ‘gp’ (12/2304) at (1)
ortep.f:1258:19:

 1258 |       CALL AXEQB(A,V,V,1)
      |                   1
Error: Actual argument contains too few elements for dummy argument ‘x’ (3/9) at (1)
ortep.f:2084:16:

 2084 |   945 CALL PROJ(D(1,65),DP(1,65),X,XO,VIEW,1,65,L)
      |                1
Error: Actual argument contains too few elements for dummy argument ‘d’ (198/387) at (1)
ortep.f:2117:16:

 2117 |       CALL PROJ(V1,DP,X,XO,VIEW,1,1,1)
      |                1
Error: Actual argument contains too few elements for dummy argument ‘d’ (4/387) at (1)
ortep.f:2123:16:

 2123 |   988 CALL PROJ(DA,DP,X,XO,VIEW,1,3,1)
      |                1
Error: Actual argument contains too few elements for dummy argument ‘d’ (9/387) at (1)
ortep.f:2550:32:

 2550 |       CALL SIMBOL(Y(1),Y(2),HGT,' ',TH,7-NJ3)
      |                                1
Error: Actual argument contains too few elements for dummy argument ‘itxt’ (1/72) at (1)

У меня нет идеи, как это на самом деле начало работать над машиной CentOS. Код ortep3 является fortran77 насколько я знаю, но условия, SIMBOL похож на опечатку, я думал, что это мог бы быть СИМВОЛ, но я не должен был изменять код, чтобы заставить это компилировать ранее.

Конечные цели: Добавьте svg функцию вывода файла, запишите deb пакет, поддержите его.

1
задан 28 March 2020 в 23:43

1 ответ

Что я вижу от Repology - 1.0.3 версии являются последним доступным.
У хинду есть ebuild для этого приложения в 1.0.3-r1 версии.

Чтобы скомпилировать его на Ubuntu 18.04 LTS, мы должны установить необходимые инструменты сборки:

sudo apt-get install pgplot5 libx11-dev gfortran

и затем загрузите ortep.f от некоторого хинду distfiles зеркало:

wget http://ftp.corbina.net/pub/Linux/gentoo/distfiles/81/ortep.f

(^ эта версия имеют pgplot отключенный, поэтому если у Вас есть обычно работа той с 2000-х - использование ortep.f от https://github.com/ornl-ndav/ortep)

и скомпилируйте его

gfortran -O2 -o ortep3 ortep.f -lpgplot -lX11

Это будет работать:

$ ./ortep3
ORTEP-III Version 1.0.3 Jan. 25, 2000
Enter instruction set file name or "exit" [TEP.IN]:  
...

Другая возможная альтернатива должна использовать предварительно скомпилированные двоичные файлы из https://ornl-ndav.github.io/ortep/compiled.html.

1
ответ дан 7 April 2020 в 23:26

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

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