User Tools

Site Tools


informatica:hp_xw4300_500_topspin13

This is an old revision of the document!


Instal·lació del Topspin 1.3

Preparació de TopSpin 1.3

Em descarrego el fitxer TopSpin 1.3 pl10 & (mos13.iso) (1390.9 MiB) del servidor software de Bruker, comprovo que la seva signatura sigui la correcte,

sermnadmin@sermn107:~/Downloads/Topspin-1.3$ md5sum TopSpin-1.3.10.iso 
802b0c4bf6f456d4674c6c3ba31352f4  TopSpin-1.3.10.iso

Els primers intents d'executar el programa autorun i/o install em donen errors perquè a les noves versions de Debian /bin/sh és enllaç a /bin/dash, un shell restringit que no és compatible amb la sintaxi emprada als programes d'instal·lació del Topspin-1.3. Per resoldre el problema, segueixo les instruccions a Debian wiki: dash as bin per configurar temporalment bash com a shell per defecte,

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Mar  1  2012 /bin/sh -> dash
$ sudo dpkg-reconfigure dash                                     
[sudo] password for sermnadmin: 
Removing 'diversion of /bin/sh to /bin/sh.distrib by dash'
Adding 'diversion of /bin/sh to /bin/sh.distrib by bash'
Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'
Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash'
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Aug 24 11:20 /bin/sh -> bash

Llavors executo el programa /mnt/iso/autorun per iniciar la instal·lació del Tospin, i com a setup type trio Data processing, acquisition and automation i li dic que afegeixi el directori d'instal·lació del TopSpin al PATH. El programa s'instal·larà a /opt/topspin1.3.

Creació d'usuaris

El programa d'instal·lació dóna un error un cop creat l'usuari nmrsu. Diu que no pot connectar-se a cap gestor de sessions, però comprovo que el compte d'usuari de nmrsu s'ha creat correctament. :warn: Aquest error es pot ignorar sense problemes, però s'hauria d'actualitzar el script d'instal·lació per evitar que sortís.

Instal·lació

Un cop completat el procés de configuració, s'obre una finestra amb la llista de programes que s'instal·laran,

FIXME {{ :informatica:debian-ts31:screenshot-0.png?400 |}}

i tot seguit comença el procés de còpia i instal·lació de les carpetes i fitxers dels programes.

Un cop completada la instal·lació es mostra en pantalla un resum del què s'ha fet, incloent-hi alguns errors i avisos que caldrà comprovar i corregir. Els registre de la instal·lació es guarda al fitxer /opt/topspin1.3/install.log.

Errors relacionats amb el Diskless

Aquests són els missatges d'avís i error que han aparegut durant la instal·lació del mòdul Diskless.

Fitxer creats o editats

El fitxer /opt/topspin1.3/prog/bin/install.net/install.net indica que es crearan o modificaran els següents fitxers,

  • /etc/hosts
  • /etc/bootparams
  • /etc/exports
  • /etc/services
  • /etc/inetd.conf
  • /etc/sysconfig/network-scripts/ifcfg-eth1 (Linux)
  • /etc/init.d/bfsd (if it does not exist)
  • /usr/diskless/clients/spect/swapfile
  • /usr/diskless/clients/spect/root/dev/ dins la carpeta opt/topspin1.3/conf/instr/autoshim/refmaps/
  • /opt/topspin/conf/instr/servtool/cryocontrol/ dins la carpeta opt/topspin1.3/conf/instr/servtool/

Posada en marxa del TopSpin 1.3 - Primer intent

Provo a posar en funcionament el TopSpin per primer cop.

Executo la comanda cf i trio la configuració de l'instrument spect. Després de passar les dues o tres primeres pantalles, surt una finestra amb el missatge Collecting data, please wait… i una finestra petita amb el missatge

Cannot read FCU BBIS data: cannot open /opt/topspin1.3/conf/instr/spect/bbis_fcu:
error in "iiconf"

Comprovo que no hi ha cap fitxer bbis_fcu en aquesta carpeta, llavors premo el botó Ok i apareix la finestra amb el llistat de ports sèrie a què estan connectats els dispositius externs,

  • HPPR Preamplifier 1: tty10
  • ACB Amplifier Control Board: tty04
  • RX22 Receiver: tty10
  • BSMS Smart Magnetc Control System: tty02
  • Lock Signal: tty03
  • LC-NMR Software HyStar: tty07
  • VTU Variable Temperature Unit: tty05

Premo el botó Next i avanço fins que s'obre una altra finestra d'avís,

Warning: The 2H amplifier in the BMSM uses router output 3 which is selected by the 0.5W 1H Amplifier

Tanco la finestra prement el botó Close i surten dos avisos (ja conegut dels altres espectròmetres amb GNU/Linux Debian),

Operation not permitted
Cannot make link
link must be done manually with
ln /opt/topspin1.3/prog/mod/go4 /opt/topspin1.3/prog/mod/acq_control

i

Operation not permitted
Cannot make link
link must be done manually with
ln /opt/topspin1.3/prog/wobble/pp_drx_X /opt/topspin1.3/prog/wobble/pulsprog_X

Finalment s'obre la finestra amb la llista de nuclis i la seva freqüència a l'espectròmetre, i després s'obre la finestra amb les connexions entre els amplificadors, la sonda i els preamplificador.

La comparació del nou fitxer uxnmr.info amb el mateix fitxer a l'antiga estació de treball ens indica l'existència dels següents problemes

  • No s'han detectat les plaques FCU (unitats de control de la freqüència)
  • No s'ha detectat la placa RCU (unitat de control del receptor)
  • No s'ha detectat la placa DRU (digitalitzador)

La diferència al fitxer uxnmr.info és que a la darrera configuració operativa s'identificaven correctament les plaques FCU i RCU

[teo@rmn6 spect]$ more uxnmr.info 
CONFIGURATION INFORMATION
=========================

Date         : Thu Dec 11 13:24:54 2014
Release      : TopSpin Acquisition Version ts_1_3pl-10
Host         : rmn6.uab.es Linux 2.4.21-9.EL #1 Thu Jan 8 17:24:12 EST 2004 i686
User         : teo (Teodor Parella,Servei RMN,935812291,972843351)
System       : DRX spectrometer
1H-frequency : 500.13 MHz
Hardware info: using "/opt/topspin/conf/instr/spect/hardware_list" 
               (ignoring RS device entries)

#--------------------
#  FCU configuration:
#--------------------
board # 1 :
        MEMORY 0x3f000  (=63 k Words)
        PAL-Version 0x3 = new version (EC level 07 or more)
board # 2 :
        MEMORY 0x3f000  (=63 k Words)
        PAL-Version 0x3 = new version (EC level 07 or more)
board # 3 :
        MEMORY 0x3f000  (=63 k Words)
        PAL-Version 0x3 = new version (EC level 07 or more)

RCU1: DRAM = 4096 kByte, SRAM = 256 kByte, FIFO = 4 kByte
Digitizers and Filters connected to RCU1:
- HADC/2 ADC937

Gcu: GCU1

Router: 1 Avance-Router

i a la configuració actual no,

root@sermn107:/opt/topspin1.3/conf/instr/spect# more uxnmr.info 
CONFIGURATION INFORMATION
=========================

Date         : Fri Sep 18 17:20:46 2015
Release      : TopSpin Acquisition Version ts_1_3pl-10
Host         : sermn107 Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 x86_64
User         : sermnadmin (SeRMN-UAB Staff,,,)
System       : DRX spectrometer
1H-frequency : 500.13 MHz
Hardware info: using "/opt/topspin1.3/conf/instr/spect/hardware_list" 
               (ignoring RS device entries)

FCU-BBIS data not available due to error, assume 3 FCUs:

RCU/DRU: neither RCU nor DRU found!

Gcu: GCU1

Router: 1 Avance-Router

Posada en marxa del TopSpin 1.3 - Segon intent

Comprovo que a la carpeta spect a l'antiga estació de treball hi ha dos fitxers bbis_fcu i bbis_rcu1 que no es van copiar a la nova instal·lació del TopSpin. Els copio i torno a executar la comanda cf, però dóna el mateix error i comprovo que han desaparegut tots dos fitxers.

Per si de cas es tracta d'un problema causat per l'absència de biblioteques de 32-bits, comprovo el contingut dels fitxers *.rpm de Bruker per les versions mése noves de CentOS (v 6 i 7) disponibles al servidor ftp de Bruker i instal·lo els paquets de Debian que contenen aquestes biblioteques:

rpm package file by Bruker lib files included Debian package
bruker-compatlibs-1.3-6.el6.brk.x86_64.rpm libcom_err.so :ok: comerr-dev
libcrypto.so :ok: libssl-dev
libssl.so :ok: libssl-dev

La resta de paquets rpm contenen programes i/o utilitats que no són necessaris per ara.

Instal·lo el programa auditd per monitoritzar els canvis al directori de configuració del TopSpin

Defineixo les següents regles

# Monitor Bruker Topspin spectrometer configuration folder to
# find out which process deletes the bbis_fcu and bbis_rcu files
#
# -w watch /opt/topspin1.3/conf/instr
# -p warx watch for write, attribute change, execute, read events

-w /opt/topspin1.3/conf/instr/ -a exit,always -p warx -k TOPSPIN-CONF

# Monitor the bbis_fcu and bbis_rcu Bruker Topspin spectrometer
# configuration files to find out which process deletes them
#
# -w watch /opt/topspin1.3/conf/instr/spect/bbis_fcu
# -w watch /opt/topspin1.3/conf/instr/spect/bbis_rcu
# -p warx watch for write, attribute change, execute, read events

-w /opt/topspin1.3/conf/instr/spect/bbis_fcu -a exit,always -p warx -k TOPSPIN-BBIS-FCU
-w /opt/topspin1.3/conf/instr/spect/bbis_rcu1 -a exit,always -p warx -k TOPSPIN-BBIS-RCU

# Monitor delete files & folders by 64-bit and 32-bit applications
#
# -F arch=b32 or -F arch=b64 monitor 32- or 64-bit applications
# -S unlink watch for unlink (aka delete) system events
# -S rmdir watch for remove directory system events
# -k TOPSPIN-CONF

-a exit,always -F arch=b64 -S unlink -S unlinkat -S rmdir -k TOPSPIN-DEL-64
-a exit,always -F arch=b64 -S unlink -S unlinkat -S rmdir -k TOPSPIN-DEL-64

i faig que el programa torni a llegir el fitxers de configuració amb la comanda /etc/init.d/auditd restart. Llavors comprovo el registre a /var/log/audit/audit.log.

Com era d'esperar, el causant del problema és el programa hconfserver que, per motius encara desconeguts, esborra els fitxers bbis_fcu i bbis_rcu1 fins i tot quan són propietat de root:root i tenen permís d'escriptura només pel propietari.

Provo a assignar l'atribut immutable a aquests fitxers i tornar a executar cf,

root@sermn107:/opt/topspin1.3/conf/instr/spect# chattr -V +i bbis_fcu
chattr 1.42.5 (29-Jul-2012)
Flags of bbis_fcu set as ----i--------e--

root@sermn107:/opt/topspin1.3/conf/instr/spect# chattr -V +i bbis_rcu1
chattr 1.42.5 (29-Jul-2012)
Flags of bbis_rcu1 set as ----i--------e--

root@sermn107:/opt/topspin1.3/conf/instr/spect# lsattr bbis_fcu bbis_rcu1 bbis_bla*
----i--------e-- bbis_fcu
----i--------e-- bbis_rcu1
-------------e-- bbis_bla1
-------------e-- bbis_bla4
-------------e-- bbis_bla5

i finalment aconsegueixo que cf no esborri els fitxers i completi la configuració de l'espectròmetre.

Els únics missatges d'error que es mostren durant el procés de configuració són els relacionats amb la impossibilitat de crear els enllaços d'alguns fitxers,

09:54:52.963   19230       error msg: hconfserver
          Operation not permitted
          Cannot make link
          link must be done manually with
                    ln /opt/topspin1.3/prog/mod/go4 /opt/topspin1.3/prog/mod/go
09:55:07.362   19230         error msg: hconfserver
          Operation not permitted
          Cannot make link
          link must be done manually with
                    ln /opt/topspin1.3/prog/mod/go4 /opt/topspin1.3/prog/mod/acq_control
09:55:11.440   19230         error msg: hconfserver
          Operation not permitted
          Cannot make link
          link must be done manually with
                    ln /opt/topspin1.3/prog/wobble/pp_drx_X /opt/topspin1.3/prog/wobble/pulsprog_X

Per resoldre'l creo un bash-script fix_topspin13.sh

#!/bin/sh
#******************************************************************
#
# Copyright (c) 2015
# SeRMN, Universitat Autonoma de Barcelona
#
#******************************************************************
#               DESCRIPTION
#
# When TopSpin 1.3 runs on a Debian GNU/Linux, the 'cf' command
# fails to create several hard links needed to run the software,
# and to (re)create the program 'shimcntl'.
# 
# To fix this problem,
# 1. run 'cf' and ignore all warnings and errors about not
#    being able to create hardlinks.
# 2. run this script. It requires root permissions to create, hence,
#     this script upon running the 'cf' command.
#
#******************************************************************
 
echo ""
 
# link pulsprog_X to pp_drx_X
echo "creating file '/opt/topspin1.3/prog/wobble/pulsprog_X'"
ln -fv /opt/topspin1.3/prog/wobble/pp_drx_X /opt/topspin1.3/prog/wobble/pulsprog_X
ls -li /opt/topspin1.3/prog/wobble/pp_drx_X /opt/topspin1.3/prog/wobble/pulsprog_X 
echo ""
 
# link go to go4
echo "creating file '/opt/topspin1.3/prog/mod/go'"
ln -fv /opt/topspin1.3/prog/mod/go4 /opt/topspin1.3/prog/mod/go
ls -li /opt/topspin1.3/prog/mod/go4 /opt/topspin1.3/prog/mod/go
echo ""
 
# link acq_control to go4
echo "creating file '/opt/topspin1.3/prog/mod/acq_control'"
ln -fv /opt/topspin1.3/prog/mod/go4 /opt/topspin1.3/prog/mod/acq_control
ls -li /opt/topspin1.3/prog/mod/go4 /opt/topspin1.3/prog/mod/acq_control
echo ""

uxnmr.info

Aquesta és la configuració final de l'espectròmetre. Coincideix amb la que hi havia a l'antiga estació de treball.

CONFIGURATION INFORMATION
=========================

Date         : Tue Sep 22 09:54:02 2015
Release      : TopSpin Acquisition Version ts_1_3pl-10
Host         : sermn107 Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 x86_64
User         : sermnadmin (SeRMN-UAB Staff,,,)
System       : DRX spectrometer
1H-frequency : 500.13 MHz
Hardware info: using "/opt/topspin1.3/conf/instr/spect/hardware_list" 
               (ignoring RS device entries)

#--------------------
#  FCU configuration:
#--------------------
board # 1 :
        MEMORY 0x3f000  (=63 k Words)
        PAL-Version 0x3 = new version (EC level 07 or more)
board # 2 :
        MEMORY 0x3f000  (=63 k Words)
        PAL-Version 0x3 = new version (EC level 07 or more)
board # 3 :
        MEMORY 0x3f000  (=63 k Words)
        PAL-Version 0x3 = new version (EC level 07 or more)

RCU1: DRAM = 4096 kByte, SRAM = 256 kByte, FIFO = 4 kByte
Digitizers and Filters connected to RCU1:
- HADC/2 ADC937

Gcu: GCU1

Router: 1 Avance-Router

Amplifier Control Board:  connected to spect:/dev/tty04

- Warning: The 2H amplifier in the BSMS uses router output 3 which is
           selected by the 0.5W 1H Amplifier

Amplifiers (ACB configuration):
  RO  Amplifier  Module  Nucleus  Power/W  Switchbox PN/SN/FW
   1      1         1        X      300    Y vCB=de  W1301865/564/20000509
   2      1         2       1H       50    Y --""--  W1301865/564/20000509
   3      2         1       2H       20    Y iCB=00  -/-/-
   5      3         1        X      300      vCB=ff  W1301840/1340/19990407

ASU's (BBIS configuration):
  AQ-Rack position  MOD  MULT  connected to
         6           2     1       FCU-1
         6           2     1       FCU-2
         5           2     1       FCU-3
  (Note: AQ-Rack positions are counted from right)

BSMS: device connected to spect:/dev/tty02
- absolute lockshift frequency =  13227000 Hz
- 2H Amplifier: connected to router output 3

BPSU: device connected to spect:/dev/tty07

- use BACS air  = no
- BACS sx delay = 10 s
- Sample Rail fast changer mode = no

Synthesizers :
- PTS-620DL 1MHZ : for F1/F2, 620 MHz max, doubling frequency = 309.00MHz
- PTS-620SL 1MHZ : for F3, 620 MHz max, doubling frequency = 309.00MHz

Lock: device connected to spect:/dev/tty03

Eurotherm VTU: device connected to spect:/dev/tty05

Preamplifiers :
HPPR: - HPPR/2 preamplifier connected to spect:/dev/tty10
    Type      : HPPR/2
    Controller: Application firmware = AO
                15 LEDs for tuning, 15 LEDs for matching
    Module  1 : 1H LNA
    Module  2 : XBB19F 2HS
    Module  3 : 2H
    Module  4 : 13C
    Module  5 : 15N

Receiver :
- RX22-1 connected to spect:/dev/tty10

Frequency generation:
- F1: for 22 MHz IF
- F2: for 22 MHz IF
- F3: direct

expinstall

Executo la comanda expinstall amb l'opció Type of acquisition: High Resolution Systems per instal·lar els parameter set i pulse programs, compilar els programes AU, i instal·lar altres recursos necessaris per emprar l'espectròmetre:

  • Install Pulse Programs
  • Install Bruker Libray AU Programs
  • Install Library CDP Programs
  • Install Library Gradiend Files
  • Install Library Shape Files
  • Convert Standard Parameter Sets
  • Install Standard Scaling Region Files
  • Enable Define Statements in Pulse Programs

El procés es completa sense problemes.

Tot seguit executo les comandes:

  • :ok: edsolv
  • :ok: edhead
  • :ok: edprosol
  • :ok: edlock
  • :ok: edscon

Compilació dels programes AU

Tasques pendents per més endavant:

  • :fail: cplbruk all per compilar tots els programes AU de Bruker.
  • :fail: cpluser all per compilar tots els programes AU dels usuaris.

Còpia de les dades

Creo l'usuari sermnuab i la carpeta de dades /home/sermnuab/data. Llavors copio les dades que hi havia a l'antiga estació de treball dins aquesta nova carpeta de dades.

# cd /home/sermnuab/
# mkdir data
# cd data
# rsync -Hvax --progress --stats /home/sermnadmin/Downloads/Topspin-1.3@old-computer/opt_topspin_data/ .
[...]
Number of files: 276808
Number of files transferred: 240678
Total file size: 12626980788 bytes
Total transferred file size: 12626980788 bytes
Literal data: 12626980788 bytes
Matched data: 0 bytes
File list size: 4490020
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 12643300746
Total bytes received: 4717413

sent 12643300746 bytes  received 4717413 bytes  10677938.50 bytes/sec
total size is 12626980788  speedup is 1.00

# chown root:root ../data
# chown -R sermnuab:sermnuab
# chmod 755 ../data
# ls -ld ../data
drwxr-xr-x 28 root root 4096 Sep 22 16:33 ../data

Còpia dels parameter-sets, pulse-programs, etc.

Amb el programa meld comparo les carpetes de parameter-sets, pulse-programs, shapes, llistes, i altres que es troben a /opt/topspin1.3/exp/stan/nmr:

Item Origen Propietari Permisos per sermnuab
Parameter-sets TopSpin sermnadmin Només lectura. No els pot modificar
Parameter-sets Usuaris sermnuab Lectura i escriptura. Els pot modificar
Pulse-programs TopSpin nmrsu Només lectura. No els pot modificar
Pulse-programs Usuaris sermnuab Lectura i escriptura. Els pot modificar
Pulse-shapes TopSpin nmrsu Només lectura. No els pot modificar
Pulse-shapes Usuaris sermnuab Lectura i escriptura. Els pot modificar
Composite-pulses TopSpin nmrsu Només lectura. No els pot modificar
Composite-pulses Usuaris sermnuab Lectura i escriptura. Els pot modificar
Gradient-pulse TopSpin nmrsu Només lectura. No els pot modificar
Gradient-pulse Usuaris sermnuab Lectura i escriptura. Els pot modificar
Llistes vàries (vc, vd, f1…) Usuaris sermnuab Lectura i escriptura. Les pot modificar

Còpia dels fitxers que hi havia a /home/teo

Ús del TopSpin

  • EDHEAD / LOCK / GRADSHIM: problemes amb edhead i la definició de la sonda: no coincideix amb l'existent a l'anterior estació de treball i dóna errors amb els fitxers de shim, a l'hora d'agafar el lock, i amb la comanda gradshim. Afegeixo l'antiga definició de la sonda i els problemes semblen resoldre's.
  • :ok: EDTE funciona
  • :ok: LOCK-display funciona
  • :ok: BMSM-display funciona, però sembla que sigui possible treure la finestra fora del topspin
  • :ok: RGA funciona
  • :fail: ZG no funciona! (veure més avall)

Quan provo d'adquirir un espectre amb la comanda zg em surt el missatge d'error No acquisition hardware available for: 192.168.2.7 que està relacionat amb el problema de la compilació de programes AU.

No acquisition hardware available for: 192.168.2.7
(Original message = `NO_ACQUISITION_AVAILABLE1` 192.168.2.7)

====================================================
Wed Sep 23 16:30:56 CEST 2015
Topspin Version 1.3 (of July 13 2009)

No acquisition running.
ConfigProp.get: ACQ_DISCFUNC
de.bruker.nmr.jutil.except.MfrException: No acquisition running.
ConfigProp.get: ACQ_DISCFUNC
	at de.bruker.nmr.prsc.cpr.ConfigProp.get(ConfigProp.java:91)
	at de.bruker.nmr.sc.acq.AcqUtil.getAcqFileName(AcqUtil.java:53)
	at de.bruker.nmr.sc.acq.Acq.checkAcquisitionRunning(Acq.java:591)
	at de.bruker.nmr.sc.acq.Acq.showAcqWindow(Acq.java:631)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at de.bruker.nmr.mfw.base.CmdThreadImpl.doJmethod(CmdThreadImpl.java:535)
	at de.bruker.nmr.mfw.base.CmdThreadImpl.exec(CmdThreadImpl.java:439)
	at de.bruker.nmr.mfw.base.CmdThreadImpl.run(CmdThreadImpl.java:393)

Class versions
===============
Class: de.bruker.nmr.prsc.cpr.ConfigProp
Version: $Id: ConfigProp.java,v 1.81 2005/01/11 09:51:11 prs Exp

Class: de.bruker.nmr.sc.acq.AcqUtil
Version: $Id: AcqUtil.java,v 1.61.2.3 2005/01/13 15:15:47 es Exp

Class: de.bruker.nmr.sc.acq.Acq
Version: $Id: Acq.java,v 1.151.2.19 2005/01/24 13:03:26 es Exp

Class: de.bruker.nmr.mfw.base.CmdThreadImpl
Version: $Id: CmdThreadImpl.java,v 1.107.2.1 2006/06/30 12:40:12 pavel Exp

Compilació dels programes AU

Al procés de configuració del TopSpin vaig deixar per més endavant la compilació dels programes AU

  • :fail: cplbruk all per compilar tots els programes AU de Bruker.
  • :fail: cpluser all per compilar tots els programes AU dels usuaris.

però alguns d'aquests programes són necessaris per adquirir espectres i no puc comprovar el funcionament del programa i espectròmetre fins completar aquest pas.

Registres a la Bruker Knowledge Base relacionat amb la compilació de programes AU

Primer intent de compilació

Executo la comanda cplbruk per compilar programes AU de Bruker i provo a compilar el programa 2df1shift però dóna el següent error,

/opt/topspin1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/bin/ld: crt1.o: No such file: No such file or directory
collect2: ld returned 1 exit status

Aquest error està relacionat amb l'Item #9557 esmentat més amunt, i per resoldre'l em descarrego la nova versió del programa makeau.

Per evitar altres problemes, també em descarrego les noves versions d'algunes programes AU disponibles a l'Item #9641

Segon intent de compilació

L'intent de compilació amb la nova versió del programa makeau tampoc funciona, però en aquest cas la solució és trivial: a la nova versió s'assumeix que el directori d'instal·lació del TopSpin és /opt/topspin mentre que en el nostre cas és /opt/topspin1.3. L'error es resol editant la primera línia del programa makeau,

# diff makeau makeau.BKUP-20150923 
1c1
< #! /opt/topspin1.3/perl/bin/perl -I/opt/topspin1.3/perl/lib/perl5
---
> #! /opt/topspin/perl/bin/perl -I/opt/topspin/perl/lib/perl5

Per altra banda, per tenir més informació sobre el procés de compilació, decideixo executar el programa makeau directament des d'una terminal i no des de dins del TopSpin. Per això cal definir algunes variables d'entorn,

# export XWINNMRHOME=/opt/topspin1.3
# export PATH=$PATH:/opt/topspin1.3/gnu/bin/
# export LD_LIBRARY_PATH=/usr/lib32
# export LIBRARY_PATH=/usr/lib32:$LIBRARY_PATH

# printenv LIBRARY_PATH LD_LIBRARY_PATH XWINNMRHOME PATH
/usr/lib32:
/usr/lib32
/opt/topspin1.3
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/topspin1.3/gnu/bin/

Un cop definides aquestes variables, torno a executar el programa, però encara no aconsegueix compilar el programa i dóna el següent error,

# ./makeau -show -verbose au_zg
makeau   ($Revision: 1.108.2.2 $ )
  OperatingSystem=LINUX
Using GNU Compiler /opt/topspin1.3/gnu/bin/gcc and /opt/topspin1.3/gnu/bin/c++
Setup for native compiler
  CC=gcc
  LD=c++
:
/opt/topspin1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/bin/ld:/usr/lib32/libc.so: file format not recognized; treating as linker script
/opt/topspin1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/bin/ld:/usr/lib32/libc.so:5: parse error
collect2: ld returned 1 exit status
exit status is: 256  1

Provo el suggeriment que trobo aquí i aquí, i faig el següent canvi al fitxer /usr/lib32/libc.so

# diff libc.so libc.so.BKUP-20150924                                                                     
5c5
< GROUP ( /lib32/libc.so.6 /usr/lib32/libc_nonshared.a )
---
> GROUP ( /lib32/libc.so.6 /usr/lib32/libc_nonshared.a  AS_NEEDED ( /lib32/ld-linux.so.2 ) )

Llavors, finalment aconsegueixo compilar el programa au_zg,

# ./makeau -show -verbose au_zg
makeau   ($Revision: 1.108.2.2 $ )
  OperatingSystem=LINUX
Using GNU Compiler /opt/topspin1.3/gnu/bin/gcc and /opt/topspin1.3/gnu/bin/c++
Setup for native compiler
  CC=gcc
  LD=c++

Installed RPM packages:
Can't exec "rpm": No such file or directory at ./makeau line 312.

used kernel release: 3.2.0-4-amd64
Known paths:
Known paths:
  .
  /usr/local/sbin
  /usr/local/bin
  /usr/sbin
  /usr/bin
  /sbin
  /bin
  /opt/topspin1.3/gnu/bin/
  /opt/topspin1.3/prog/bin
Current environment:
  HOME=/root
  XAUTHORITY=/var/run/gdm3/auth-for-sermnadmin-MBTzen/database
  SUDO_GID=1000
  LD_LIBRARY_PATH=/usr/lib32:/lib32
  DISPLAY=:0
  LIBRARY_PATH=/usr/lib32
  _RLD_ARGS=-ignore_unresolved
  MAIL=/var/mail/root
  PWD=/opt/topspin1.3/exp/stan/nmr/au
  LANG=en_US.utf8
  USER=root
  XWINNMRHOME=/opt/topspin1.3
  LOGNAME=root
  USERNAME=root
  SHLVL=1
  OLDPWD=/opt/topspin1.3/exp/stan/nmr
  _=./makeau
  PATH=.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/topspin1.3/gnu/bin/:/opt/topspin1.3/prog/bin
  COLORTERM=gnome-terminal
  SUDO_USER=sermnadmin
  LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;4
1:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=
01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31
:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01
;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=
01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*
.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01
;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=0
1;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.fla
c=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*
.spx=00;36:*.xspf=00;36:
  SHELL=/bin/bash
  TERM=screen
  SUDO_COMMAND=/bin/bash
  SUDO_UID=1000
LibraryExtension: .so
StaticLibraryExtension: .a
SharedLibraryExtension: .so
LibraryPath: shlib
StaticLibraryPath: lib
SharedLibraryPath: shlib
ObjectExtension: .o
BinaryExtension: 
BinaryExtension: 
Check for /opt/topspin1.3/exp/stan/nmr/au/paravision_1.3.pl
Check for /opt/topspin1.3/exp/stan/nmr/au/user_1.3.pl
submacro(/opt/topspin1.3/prog/include/inc /opt/topspin1.3/exp/stan/nmr/au/src/au_zg /opt/topspin1.3/prog/au/bin/au_zg.E)
No INC_FLAGS found: using default library list
Used libraries:
   auliba
   aulibp
   chparmod
   sxutil
   libhpcu
   libBpsu
   ConvSf
   libSwish
   libVtu
   lib_sbsb
   lib_tty
   librrs
   liblrs
   Bis
   convpw
   editpar
   libacq
   util
   aulibp
   uni
   par
   libPath
   libcb
   libUtil
   libCUtil
   libShapeIO
   libFunc
   libJCamp
   libCt
   libQTP
Included Libraries
   auliba.so
   aulibp.so
   chparmod.so
   sxutil.so
   libhpcu.so
   libBpsu.so
   ConvSf.so
   libSwish.so
   libVtu.so
   lib_sbsb.so
   lib_tty.so
   librrs.so
   liblrs.so
   Bis.so
   convpw.so
   editpar.so
   libacq.so
   util.so
   aulibp.so
   uni.so
   par.so
   libPath.so
   libcb.so
   libUtil.so
   libCUtil.so
   libShapeIO.so
   libFunc.so
   libJCamp.so
   libCt.so
   libQTP.so
   auliba.a
   aulibp.a
   chparmod.a
   libacq.a
   editpar.a
   util.a
   uni.a
   libPath.a
   libcb.a
Combine /opt/topspin1.3/exp/stan/nmr/au/vorspann /opt/topspin1.3/prog/au/bin/au_zg.E > /opt/topspin1.3/prog/au/bin/au_zg.c

Include Option: -I/opt/topspin1.3/prog/include


chdir /opt/topspin1.3/prog/au/bin
Opersys=LINUX
gcc -c -DLINUX_INTEL -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE  -g -m32 -w -v -I/opt/topspin1.3/prog/include  au_zg
.c 
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs -
-enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --wi
th-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.
7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --ena
ble-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=
x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5) 
COLLECT_GCC_OPTIONS='-c' '-D' 'LINUX_INTEL' '-D' '_REENTRANT' '-D' '_FILE_OFFSET_BITS=64' '-D' '_LARGEFILE_SOURCE' '-g' '-m32' '-
w' '-v' '-I' '/opt/topspin1.3/prog/include' '-mtune=generic' '-march=i586'
 /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 -quiet -v -I /opt/topspin1.3/prog/include -imultilib 32 -imultiarch i386-linux-gnu -D LINU
X_INTEL -D _REENTRANT -D _FILE_OFFSET_BITS=64 -D _LARGEFILE_SOURCE au_zg.c -quiet -dumpbase au_zg.c -m32 -mtune=generic -march=i5
86 -auxbase au_zg -g -w -version -o /tmp/cc4rFa4B.s
GNU C (Debian 4.7.2-5) version 4.7.2 (x86_64-linux-gnu)
        compiled by GNU C version 4.7.2, GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/i386-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../x86_64-linux-gnu/include"
ignoring nonexistent directory "/usr/include/i386-linux-gnu"
#include "..." search starts here:
#include <...> search starts here:
 /opt/topspin1.3/prog/include
 /usr/lib/gcc/x86_64-linux-gnu/4.7/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed
 /usr/include
End of search list.
GNU C (Debian 4.7.2-5) version 4.7.2 (x86_64-linux-gnu)
        compiled by GNU C version 4.7.2, GMP version 5.0.5, MPFR version 3.1.0-p10, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 7fa7c2a970be5e19ce72b2057c14800d
COLLECT_GCC_OPTIONS='-c' '-D' 'LINUX_INTEL' '-D' '_REENTRANT' '-D' '_FILE_OFFSET_BITS=64' '-D' '_LARGEFILE_SOURCE' '-g' '-m32' '-
w' '-v' '-I' '/opt/topspin1.3/prog/include' '-mtune=generic' '-march=i586'
 as -v -W -I /opt/topspin1.3/prog/include --32 -o au_zg.o /tmp/cc4rFa4B.s
GNU assembler version 2.22 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.22
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x
86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib32/../lib32/:/usr/lib/gcc/x86_64-linux-gnu/4.7/32/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../i386-linux-gnu
/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib32/:/lib/i386-linux-gnu/:/lib/../lib32/:/usr/lib/i386-linux-gnu/:/usr/lib/../l
ib32/:/usr/lib32/:/usr/lib/gcc/x86_64-linux-gnu/4.7/:/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../i386-linux-gnu/:/usr/lib/gcc/x86_
64-linux-gnu/4.7/../../../:/lib/i386-linux-gnu/:/lib/:/usr/lib/i386-linux-gnu/:/usr/lib/
COLLECT_GCC_OPTIONS='-c' '-D' 'LINUX_INTEL' '-D' '_REENTRANT' '-D' '_FILE_OFFSET_BITS=64' '-D' '_LARGEFILE_SOURCE' '-g' '-m32' '-
w' '-v' '-I' '/opt/topspin1.3/prog/include' '-mtune=generic' '-march=i586'
        exit=0 sig=0 dump=0
Used Libraries
auliba.so aulibp.so chparmod.so sxutil.so libhpcu.so libBpsu.so ConvSf.so libSwish.so libVtu.so lib_sbsb.so lib_tty.so librrs.so 
liblrs.so Bis.so convpw.so editpar.so libacq.so util.so aulibp.so uni.so par.so libPath.so libcb.so libUtil.so libCUtil.so libSha
peIO.so libFunc.so libJCamp.so libCt.so libQTP.so auliba.a aulibp.a chparmod.a libacq.a editpar.a util.a uni.a par.a libPath.a li
bcb.a
c++  -m32 -Wl,-warn-common,-warn-constructors -L/opt/topspin1.3/prog/shlib -lstdc++ -v  -s  /opt/topspin1.3/prog/au/bin/au_zg.o  
/opt/topspin1.3/prog/shlib/auliba.so /opt/topspin1.3/prog/shlib/aulibp.so /opt/topspin1.3/prog/shlib/chparmod.so /opt/topspin1.3/
prog/shlib/sxutil.so /opt/topspin1.3/prog/shlib/libhpcu.so /opt/topspin1.3/prog/shlib/libBpsu.so /opt/topspin1.3/prog/shlib/ConvS
f.so /opt/topspin1.3/prog/shlib/libSwish.so /opt/topspin1.3/prog/shlib/libVtu.so /opt/topspin1.3/prog/shlib/lib_sbsb.so /opt/tops
pin1.3/prog/shlib/lib_tty.so /opt/topspin1.3/prog/shlib/librrs.so /opt/topspin1.3/prog/shlib/liblrs.so /opt/topspin1.3/prog/shlib
/Bis.so /opt/topspin1.3/prog/shlib/convpw.so /opt/topspin1.3/prog/shlib/editpar.so /opt/topspin1.3/prog/shlib/libacq.so /opt/tops
pin1.3/prog/shlib/util.so /opt/topspin1.3/prog/shlib/aulibp.so /opt/topspin1.3/prog/shlib/uni.so /opt/topspin1.3/prog/shlib/par.s
o /opt/topspin1.3/prog/shlib/libPath.so /opt/topspin1.3/prog/shlib/libcb.so /opt/topspin1.3/prog/shlib/libUtil.so /opt/topspin1.3
/prog/shlib/libCUtil.so /opt/topspin1.3/prog/shlib/libShapeIO.so /opt/topspin1.3/prog/shlib/libFunc.so /opt/topspin1.3/prog/shlib
/libJCamp.so /opt/topspin1.3/prog/shlib/libCt.so /opt/topspin1.3/prog/shlib/libQTP.so /opt/topspin1.3/prog/lib/auliba.a /opt/tops
pin1.3/prog/lib/aulibp.a /opt/topspin1.3/prog/lib/chparmod.a /opt/topspin1.3/prog/lib/libacq.a /opt/topspin1.3/prog/lib/editpar.a
 /opt/topspin1.3/prog/lib/util.a /opt/topspin1.3/prog/lib/uni.a /opt/topspin1.3/prog/lib/par.a /opt/topspin1.3/prog/lib/libPath.a
 /opt/topspin1.3/prog/lib/libcb.a  -lm -ldl   -o au_zg
c++  -m32 -Wl,-warn-common,-warn-constructors -L/opt/topspin1.3/prog/shlib -lstdc++ -v  -s  /opt/topspin1.3/prog/au/bin/au_zg.o  
/opt/topspin1.3/prog/shlib/auliba.so /opt/topspin1.3/prog/shlib/aulibp.so /opt/topspin1.3/prog/shlib/chparmod.so /opt/topspin1.3/
prog/shlib/sxutil.so /opt/topspin1.3/prog/shlib/libhpcu.so /opt/topspin1.3/prog/shlib/libBpsu.so /opt/topspin1.3/prog/shlib/ConvS
f.so /opt/topspin1.3/prog/shlib/libSwish.so /opt/topspin1.3/prog/shlib/libVtu.so /opt/topspin1.3/prog/shlib/lib_sbsb.so /opt/tops
pin1.3/prog/shlib/lib_tty.so /opt/topspin1.3/prog/shlib/librrs.so /opt/topspin1.3/prog/shlib/liblrs.so /opt/topspin1.3/prog/shlib
/Bis.so /opt/topspin1.3/prog/shlib/convpw.so /opt/topspin1.3/prog/shlib/editpar.so /opt/topspin1.3/prog/shlib/libacq.so /opt/tops
pin1.3/prog/shlib/util.so /opt/topspin1.3/prog/shlib/aulibp.so /opt/topspin1.3/prog/shlib/uni.so /opt/topspin1.3/prog/shlib/par.s
o /opt/topspin1.3/prog/shlib/libPath.so /opt/topspin1.3/prog/shlib/libcb.so /opt/topspin1.3/prog/shlib/libUtil.so /opt/topspin1.3
/prog/shlib/libCUtil.so /opt/topspin1.3/prog/shlib/libShapeIO.so /opt/topspin1.3/prog/shlib/libFunc.so /opt/topspin1.3/prog/shlib
/libJCamp.so /opt/topspin1.3/prog/shlib/libCt.so /opt/topspin1.3/prog/shlib/libQTP.so /opt/topspin1.3/prog/lib/auliba.a /opt/tops
pin1.3/prog/lib/aulibp.a /opt/topspin1.3/prog/lib/chparmod.a /opt/topspin1.3/prog/lib/libacq.a /opt/topspin1.3/prog/lib/editpar.a
 /opt/topspin1.3/prog/lib/util.a /opt/topspin1.3/prog/lib/uni.a /opt/topspin1.3/prog/lib/par.a /opt/topspin1.3/prog/lib/libPath.a
 /opt/topspin1.3/prog/lib/libcb.a  -lm -ldl   -o au_zg
Reading specs from /opt/topspin1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5/specs
Configured with: ../gcc-3.3.5/configure --prefix=/pr/gnu --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++ --
with-cpu=pentium4
Thread model: posix
gcc version 3.3.5
 /opt/topspin1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux
.so.2 -o au_zg -s /usr/lib32/crt1.o /usr/lib32/crti.o /opt/topspin1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5/crtbegin.o -
L/opt/topspin1.3/prog/shlib -L/opt/topspin1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5 -L/opt/topspin1.3/gnu/bin/../lib/gcc
-lib -L/usr/lib32 -L/opt/topspin1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/lib -L/opt/topsp
in1.3/gnu/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../.. -warn-common -warn-constructors -lstdc++ /opt/topspin1.3/prog/au/bi
n/au_zg.o /opt/topspin1.3/prog/shlib/auliba.so /opt/topspin1.3/prog/shlib/aulibp.so /opt/topspin1.3/prog/shlib/chparmod.so /opt/t
opspin1.3/prog/shlib/sxutil.so /opt/topspin1.3/prog/shlib/libhpcu.so /opt/topspin1.3/prog/shlib/libBpsu.so /opt/topspin1.3/prog/s
hlib/ConvSf.so /opt/topspin1.3/prog/shlib/libSwish.so /opt/topspin1.3/prog/shlib/libVtu.so /opt/topspin1.3/prog/shlib/lib_sbsb.so
 /opt/topspin1.3/prog/shlib/lib_tty.so /opt/topspin1.3/prog/shlib/librrs.so /opt/topspin1.3/prog/shlib/liblrs.so /opt/topspin1.3/
prog/shlib/Bis.so /opt/topspin1.3/prog/shlib/convpw.so /opt/topspin1.3/prog/shlib/editpar.so /opt/topspin1.3/prog/shlib/libacq.so
 /opt/topspin1.3/prog/shlib/util.so /opt/topspin1.3/prog/shlib/aulibp.so /opt/topspin1.3/prog/shlib/uni.so /opt/topspin1.3/prog/s
hlib/par.so /opt/topspin1.3/prog/shlib/libPath.so /opt/topspin1.3/prog/shlib/libcb.so /opt/topspin1.3/prog/shlib/libUtil.so /opt/
topspin1.3/prog/shlib/libCUtil.so /opt/topspin1.3/prog/shlib/libShapeIO.so /opt/topspin1.3/prog/shlib/libFunc.so /opt/topspin1.3/
prog/shlib/libJCamp.so /opt/topspin1.3/prog/shlib/libCt.so /opt/topspin1.3/prog/shlib/libQTP.so /opt/topspin1.3/prog/lib/auliba.a
 /opt/topspin1.3/prog/lib/aulibp.a /opt/topspin1.3/prog/lib/chparmod.a /opt/topspin1.3/prog/lib/libacq.a /opt/topspin1.3/prog/lib
/editpar.a /opt/topspin1.3/prog/lib/util.a /opt/topspin1.3/prog/lib/uni.a /opt/topspin1.3/prog/lib/par.a /opt/topspin1.3/prog/lib
/libPath.a /opt/topspin1.3/prog/lib/libcb.a -ldl -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /opt/topspin1.3/gnu/bin/../lib/gcc-
lib/i686-pc-linux-gnu/3.3.5/crtend.o /usr/lib32/crtn.o
exit status is: 0  0

i quan comprovo el fitxer creat trobo que és un executable de 32-bits

# file /opt/topspin1.3/prog/au/bin/au_zg 
/opt/topspin1.3/prog/au/bin/au_zg: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, stripped

i si afegim a la variable LD_LIBRARY_PATH les carpetes definides a l'entorn d'execució del TopSpin (veure fitxer /opt/topspin1.3/prog/bin/topspin)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/topspin1.3/prog/pvshlib:/opt/topspin1.3/prog/shlib

el programa ldd ens mostra que totes les biblioteques emprades pel programa au_zg estan disponibles,

# ldd /opt/topspin1.3/prog/au/bin/au_zg 
        linux-gate.so.1 =>  (0xf77e0000)
        libstdc++.so.5 => /opt/topspin1.3/prog/shlib/libstdc++.so.5 (0xf7723000)
        auliba.so => /opt/topspin1.3/prog/shlib/auliba.so (0xf76ed000)
        aulibp.so => /opt/topspin1.3/prog/shlib/aulibp.so (0xf76df000)
        chparmod.so => /opt/topspin1.3/prog/shlib/chparmod.so (0xf76d7000)
        sxutil.so => /opt/topspin1.3/prog/shlib/sxutil.so (0xf7681000)
        libhpcu.so => /opt/topspin1.3/prog/shlib/libhpcu.so (0xf7671000)
        libBpsu.so => /opt/topspin1.3/prog/shlib/libBpsu.so (0xf7666000)
        ConvSf.so => /opt/topspin1.3/prog/shlib/ConvSf.so (0xf7660000)
        libSwish.so => /opt/topspin1.3/prog/shlib/libSwish.so (0xf7657000)
        libVtu.so => /opt/topspin1.3/prog/shlib/libVtu.so (0xf764e000)
        lib_sbsb.so => /opt/topspin1.3/prog/shlib/lib_sbsb.so (0xf763a000)
        lib_tty.so => /opt/topspin1.3/prog/shlib/lib_tty.so (0xf762a000)
        librrs.so => /opt/topspin1.3/prog/shlib/librrs.so (0xf7621000)
        liblrs.so => /opt/topspin1.3/prog/shlib/liblrs.so (0xf761f000)
        Bis.so => /opt/topspin1.3/prog/shlib/Bis.so (0xf75f5000)
        convpw.so => /opt/topspin1.3/prog/shlib/convpw.so (0xf75ef000)
        editpar.so => /opt/topspin1.3/prog/shlib/editpar.so (0xf757c000)
        libacq.so => /opt/topspin1.3/prog/shlib/libacq.so (0xf754f000)
        util.so => /opt/topspin1.3/prog/shlib/util.so (0xf7535000)
        uni.so => /opt/topspin1.3/prog/shlib/uni.so (0xf7527000)
        par.so => /opt/topspin1.3/prog/shlib/par.so (0xf751b000)
        libPath.so => /opt/topspin1.3/prog/shlib/libPath.so (0xf7510000)
        libcb.so => /opt/topspin1.3/prog/shlib/libcb.so (0xf7505000)
        libUtil.so => /opt/topspin1.3/prog/shlib/libUtil.so (0xf74df000)
        libCUtil.so => /opt/topspin1.3/prog/shlib/libCUtil.so (0xf74dd000)
        libShapeIO.so => /opt/topspin1.3/prog/shlib/libShapeIO.so (0xf74ca000)
        libFunc.so => /opt/topspin1.3/prog/shlib/libFunc.so (0xf7491000)
        libJCamp.so => /opt/topspin1.3/prog/shlib/libJCamp.so (0xf745e000)
        libCt.so => /opt/topspin1.3/prog/shlib/libCt.so (0xf745a000)
        libQTP.so => /opt/topspin1.3/prog/shlib/libQTP.so (0xf744c000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf7448000)
        libm.so.6 => /lib32/libm.so.6 (0xf7422000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7404000)
        libc.so.6 => /lib32/libc.so.6 (0xf729f000)
        /lib/ld-linux.so.2 (0xf77e1000)

De totes formes, ara hauré d'esperar a tenir accés al TopSpin per poder comprovar si realment funciona el programa au_zg i l'adquisició d'espectres.

Canvis addicionals al programa 'makeau'

Per poder compilar els programes AU des de dins el TopSpin, caldrà comprovar si cal afegir al programa makeau les definicions de variables d'entorn

  • LD_LIBRARY_PATH=/usr/lib32
  • LIBRARY_PATH=/usr/lib32:$LIBRARY_PATH

o si n'hi ha prou amb definir-les al fitxer de configuració de l'entorn de l'usuari (fitxers ~/.bashrc o ~/.bash_profile).

Consultar:

Canvis al TopSpin

/opt/topspin1.3/prog/bin/topspin

Afegeixo la variable $LD_LIBRARY_PATH al final de la definició de la variable LD_LIBRARY_PATH,

# diff topspin topspin.ORIG-20150824 
62c62
<     export LD_LIBRARY_PATH="$szProgPath"/pvshlib:"$szProgPath"/shlib:$LD_LIBRARY_PATH
---
>     export LD_LIBRARY_PATH="$szProgPath"/pvshlib:"$szProgPath"/shlib

/etc/profile.d/topspin_compile_au.sh

Creo el fitxer /# more /etc/profile.d/topspin_compile_au.sh que contindrà la definició de les variables d'entorn necessàries perquè funcioni la compilació dels programes AU,

# MCE - 20150925 - Library path environment variables added to allow
# compilating TopSpin 1.3 AU programs in newer GNU/Linux versions
 
export PATH=$PATH:/opt/topspin1.3/gnu/bin
export LIBRARY_PATH=/usr/lib32:$LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib32:/lib32:$LD_LIBRARY_PATH

Compilació dels programes AU

Executo la comanda cplbruk all per compilar tots els programes AU i els compila tots excepte els esmentats a l'Item#: 9641. Some AU programs do not compile with native compiler

/opt/topspin1.3/exp/stan/nmr/au/src/coiltemp:42:5: error: conflicting types for 'coiltemp_program'
/opt/topspin1.3/exp/stan/nmr/au/src/coiltemp:43:1: note: an argument type that has a default promotion can't match an empty parameter name list declaration
/opt/topspin1.3/exp/stan/nmr/au/src/coiltemp:31:9: note: previous implicit declaration of 'coiltemp_program' was here
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/decra: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/decra:112:12: error: invalid storage class for function 'DECRA_program'
/opt/topspin1.3/exp/stan/nmr/au/src/decra: At top level:
/opt/topspin1.3/exp/stan/nmr/au/src/decra:293:12: error: static declaration of 'DECRA_program' follows non-static declaration
/opt/topspin1.3/exp/stan/nmr/au/src/decra:115:9: note: previous implicit declaration of 'DECRA_program' was here
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/disconv: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/disconv:128:12: error: invalid storage class for function 'DISNMR_program'
/opt/topspin1.3/exp/stan/nmr/au/src/disconv: At top level:
/opt/topspin1.3/exp/stan/nmr/au/src/disconv:878:12: error: static declaration of 'DISNMR_program' follows non-static declaration
/opt/topspin1.3/exp/stan/nmr/au/src/disconv:131:9: note: previous implicit declaration of 'DISNMR_program' was here
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/disinfo: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/disinfo:106:12: error: invalid storage class for function 'DISNMR_program'
/opt/topspin1.3/exp/stan/nmr/au/src/disinfo: At top level:
/opt/topspin1.3/exp/stan/nmr/au/src/disinfo:832:12: error: static declaration of 'DISNMR_program' follows non-static declaration
/opt/topspin1.3/exp/stan/nmr/au/src/disinfo:109:9: note: previous implicit declaration of 'DISNMR_program' was here
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/lcsino:46:7: error: conflicting types for 'lcsino'
/opt/topspin1.3/exp/stan/nmr/au/src/lcsino:40:7: note: previous implicit declaration of 'lcsino' was here
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/multi_zgvd: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/multi_zgvd:47:13: error: invalid storage class for function 'PrintExpTime'
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/multi_zgvt: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/multi_zgvt:54:13: error: invalid storage class for function 'PrintExpTime'
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/multicmd: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/multicmd:39:13: error: invalid storage class for function 'PrintExpTime'
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/multiexpt: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/multiexpt:29:13: error: invalid storage class for function 'PrintExpTime'
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/multizg: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/multizg:38:13: error: invalid storage class for function 'PrintExpTime'
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/noemult: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/noemult:53:13: error: invalid storage class for function 'PrintExpTime'
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/pulsecalib: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/pulsecalib:123:16: error: invalid storage class for function 'pulsecalib'
/opt/topspin1.3/exp/stan/nmr/au/src/pulsecalib: At top level:
/opt/topspin1.3/exp/stan/nmr/au/src/pulsecalib:290:1: error: static declaration of 'pulsecalib' follows non-static declaration
/opt/topspin1.3/exp/stan/nmr/au/src/pulsecalib:124:12: note: previous implicit declaration of 'pulsecalib' was here
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/setproj:149:5: error: conflicting types for 'sorter'
/opt/topspin1.3/exp/stan/nmr/au/src/setproj:35:5: note: previous declaration of 'sorter' was here
exit 1
/opt/topspin1.3/exp/stan/nmr/au/src/simplex: In function 'AU_program':
/opt/topspin1.3/exp/stan/nmr/au/src/simplex:262:12: error: invalid storage class for function 'SIMPLEX_program'
/opt/topspin1.3/exp/stan/nmr/au/src/simplex: At top level:
/opt/topspin1.3/exp/stan/nmr/au/src/simplex:468:12: error: static declaration of 'SIMPLEX_program' follows non-static declaration
/opt/topspin1.3/exp/stan/nmr/au/src/simplex:265:9: note: previous implicit declaration of 'SIMPLEX_program' was here
exit 1

<note important> Ara que els programes AU s'han compilat correctament, el problema és que quan els executo, tots donen el següent missatge d'error:

ILLEGAL TERMINATION of process 28469
due to signal 11

potser pels motius explicats aquí: ldd with 32-bit binaries on 64-bit system - runs but won't report. </note>

go no funciona, exit(127)

L'error exit(127) està causat perquè el programa go no troba totes les biblioteques que necessita. És un error semblant a l'esmentat a l'Item #8702 What can I do if the Plot Editor does not start?. Aplico la solució esmentada per trobar quines biblioteques no es troben,

$ /opt/topspin1.3/topspin -e ldd /opt/topspin1.3/prog/mod/go
        linux-gate.so.1 =>  (0xf779d000)
        ConvSf.so => /opt/topspin1.3/prog/shlib/ConvSf.so (0xf7796000)
        [...]
        libXmu.so.6 => not found
        libXpm.so.4 => not found
        [...]
        libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf704e000)

Comprovo que les biblioteques libXmu.so i libXpm.so estan disponibles, però que són de 64-bits, o sigui que instal·lo les biblioteques equivalents de 32-bits disponibles als paquets libxpm4:i368 i libxmu6:i386. Un cop instal·lats els paquets, comprovo si go troba totes les biblioteques,

$ /opt/topspin1.3/topspin -e ldd /opt/topspin1.3/prog/mod/go
        linux-gate.so.1 =>  (0xf779d000)
        ConvSf.so => /opt/topspin1.3/prog/shlib/ConvSf.so (0xf7796000)
        [...]
        libXmu.so.6 => /usr/lib/i386-linux-gnu/libXmu.so.6 (0xf73f3000)
        libXpm.so.4 => /usr/lib/i386-linux-gnu/libXpm.so.4 (0xf73e2000)
 
        [...]
        libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf704e000)

Per evitar problemes, comprovo si estan disponibles totes les biblioteques cridades pels programes,

$ for PROG in /opt/topspin1.3/prog/mod/*;
do
    echo $PROG;
    /opt/topspin1.3/topspin -e ldd $PROG | grep "not found";
done

i trobo que només el programa xwinplot no troba dues biblioteques,

/opt/topspin1.3/prog/mod/xwinplot.mod
        libdpstk.so.1 => not found
        libdps.so.1 => not found

Per resoldre el problema hauria d'instal·lar aquestes biblioteques, però no estan disponibles a cap versió de GNU/Linux relativament moderna (veure Item #7044 i Item #7301). La única possibilitat seria provar a copiar unes biblioteques procedents d'una versió de GNU/Linux més antiga, tot i que a l'Item #8702 es recomana no fer-ho per possibles problemes d'incompatibilitat.

Tanmateix, podria provar a descarregar-les del magatzem Archive Debian i comprovar si són compatibles. Les darreres versions disponibles són les que es varen distribuir amb el paquet libdps1 (4.3.0.dfsg.1-14sarge7) de la versió 7 (aka Sarge) de Debian.

Manquen solvents a la comanda lock

Quan executo la comanda lock, la llista de solvents que surt en pantalla és massa curta i no conté, entre altres, l'acetona. Temporalment, per resoldre el problema copio el fitxer /opt/topspin1.3/exp/stan/nmr/lists/2Hlock a /opt/topspin1.3/conf/instr/spect, tot i que és un fitxer més vell que inclou menys solvents.

La causa de l'error podria estar a la inconsistència dels noms d'alguns solvents a diferents fitxers. Per exemple, en alguns llocs surt aceton i en altres acetone.

Comprovar a la Bruker Knowledge Base els registres relacionats amb edlock, per exemple:

Canvi de /lib32 a /lib/i386-linux-gnu?

Fins ara he provat a compilar/enllaçar els programes amb les biblioteques disponibles a /lib32/, però a les futures versions de Debian multiarquitectura (per exemple, 32- i 64-bits) les biblioteques de 32-bits estaran a /lib/i386-linux-gnu/.

Potser convindria redefinir les variables d'entorn LIBRARY_PATH i LD_LIBRARY_PATH per fer servir aquesta nova carpeta, i recompilar els programes AU amb les noves biblioteques. Podria ser que això resolgués els problemes de segmentation fault?

La definició actual de la variable d'entorn LD_LIBRARY_PATH és

# topspin -e echo $LD_LIBRARY_PATH
/usr/lib32:/lib32::/opt/topspin1.3/prog/shlib:/opt/topspin1.3/prog/lib:/opt/topspin1.3/prog/shlib:/opt/topspin1.3/prog/lib:/opt/topspin1.3/gnu/lib

i les biblioteques emprades pel programa AU au_zg estan disponibles a /lib32 i /lib/i386-linux-gnu/

# ls -l /lib32/libm* /lib/i386-linux-gnu/libm*
-rw-r--r-- 1 root root 148920 Feb 22  2015 /lib32/libm-2.13.so
-rw-r--r-- 1 root root  13884 Feb 22  2015 /lib32/libmemusage.so
lrwxrwxrwx 1 root root     12 Feb 22  2015 /lib32/libm.so.6 -> libm-2.13.so
-rw-r--r-- 1 root root 148992 Feb 22  2015 /lib/i386-linux-gnu/libm-2.13.so
-rw-r--r-- 1 root root  13960 Feb 22  2015 /lib/i386-linux-gnu/libmemusage.so
lrwxrwxrwx 1 root root     12 Feb 22  2015 /lib/i386-linux-gnu/libm.so.6 -> libm-2.13.so

# ls -l /lib32/libdl* /lib/i386-linux-gnu/libdl*
-rw-r--r-- 1 root root 9768 Feb 22  2015 /lib32/libdl-2.13.so
lrwxrwxrwx 1 root root   13 Feb 22  2015 /lib32/libdl.so.2 -> libdl-2.13.so
-rw-r--r-- 1 root root 9844 Feb 22  2015 /lib/i386-linux-gnu/libdl-2.13.so
lrwxrwxrwx 1 root root   13 Feb 22  2015 /lib/i386-linux-gnu/libdl.so.2 -> libdl-2.13.so

# ls -l /lib32/libc* /lib/i386-linux-gnu/libc*
-rwxr-xr-x 1 root root 1445980 Feb 22  2015 /lib32/libc-2.13.so
-rw-r--r-- 1 root root  185852 Feb 22  2015 /lib32/libcidn-2.13.so
lrwxrwxrwx 1 root root      15 Feb 22  2015 /lib32/libcidn.so.1 -> libcidn-2.13.so
-rw-r--r-- 1 root root   38336 Feb 22  2015 /lib32/libcrypt-2.13.so
lrwxrwxrwx 1 root root      16 Feb 22  2015 /lib32/libcrypt.so.1 -> libcrypt-2.13.so
lrwxrwxrwx 1 root root      12 Feb 22  2015 /lib32/libc.so.6 -> libc-2.13.so
-rwxr-xr-x 1 root root 1360008 Feb 22  2015 /lib/i386-linux-gnu/libc-2.13.so
-rw-r--r-- 1 root root  185928 Feb 22  2015 /lib/i386-linux-gnu/libcidn-2.13.so
lrwxrwxrwx 1 root root      15 Feb 22  2015 /lib/i386-linux-gnu/libcidn.so.1 -> libcidn-2.13.so
lrwxrwxrwx 1 root root      17 Feb 22  2015 /lib/i386-linux-gnu/libcom_err.so.2 -> libcom_err.so.2.1
-rw-r--r-- 1 root root   13836 Feb 22  2015 /lib/i386-linux-gnu/libcom_err.so.2.1
-rw-r--r-- 1 root root   38416 Feb 22  2015 /lib/i386-linux-gnu/libcrypt-2.13.so
lrwxrwxrwx 1 root root      16 Feb 22  2015 /lib/i386-linux-gnu/libcrypt.so.1 -> libcrypt-2.13.so
lrwxrwxrwx 1 root root      12 Feb 22  2015 /lib/i386-linux-gnu/libc.so.6 -> libc-2.13.so
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
informatica/hp_xw4300_500_topspin13.1443431759.txt.gz · Last modified: 2015/09/28 11:15 by miquel