Com que no aconsegueixo que funcioni la còpia del Topspin 3.2 Patchlevel-3 procedent de l'anterior estació de treball, decideixo instal·lar de zero la darrera versió disponible per consoles AvanceII: Topspin 3.2 Patchlevel-7.
La nova versió del programa d'instal·lació requereix diverses llibreries de 32-bits que no s'instal·len per defecte a la versió de 64-bits de Debian. L'absència d'aquestes llibreries fa que el programa d'instal·lació doni missatge d'error quan s'executa,
sermnadmin@cie-55-32:~/Downloads/Topspin-3.2.7/Topspin3.2PL7$ ./install.cmd NOTE: using DISPLAY=:0 Please enter root password if prompted for it. Password: NOTE: using DISPLAY=:0 NOTE: using TCL_LIBRARY=/home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tcl-8.5.11/lib/tcl8.5 NOTE: using TK_LIBRARY=/home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tk-8.5.11/lib/tk8.5 NOTE: running /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tk-8.5.11/bin/wish8.5 -f /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/xwinstall.d/swim/lib/xwinstall.tcl -- /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tk-8.5.11/bin/wish8.5: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory Installation program failed with status 127 (Command: /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tk-8.5.11/bin/wish8.5 -f /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/xwinstall.d/swim/lib/xwinstall.tcl --)
Les llibreries a instal·lar que no troba el programa són:
sermnadmin@cie-55-32:~/Downloads/Topspin-3.2.7/Topspin3.2PL7$ ldd /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tk-8.5.11/bin/wish8.5 linux-gate.so.1 (0xf77d1000) libX11.so.6 => not found libXft.so.2 => not found libfreetype.so.6 => not found libfontconfig.so.1 => not found libXrender.so.1 => not found libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf761b000) libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf746e000) libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7447000) libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf7442000) /lib/ld-linux.so.2 (0x56654000) libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf743e000) libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf7438000)
Per resoldre el problema instal·lo els següents paquets (i automàticament aquells dels quals en depenen):
Un cop instal·lades les llibreries necessàries, executo el programa d'instal·lació
sermnadmin@cie-55-32:~/Downloads/Topspin-3.2.7/Topspin3.2PL7$ ./install.cmd NOTE: using DISPLAY=:0 Please enter root password if prompted for it. Password: NOTE: using DISPLAY=:0 NOTE: using TCL_LIBRARY=/home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tcl-8.5.11/lib/tcl8.5 NOTE: using TK_LIBRARY=/home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tk-8.5.11/lib/tk8.5 NOTE: running /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/linux/tk-8.5.11/bin/wish8.5 -f /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/xwinstall.d/swim/lib/xwinstall.tcl -- NOTE: using log file: /tmp/install.log
i trio l'opció que instal·la “Data processing, acquisition and automation”:
Show necessary firewall rules
i desactivo la configuració automàtica del firewall.Els programes que s'instal·laran són:
El registre del procés d'instal·lació s'anota als fitxers:
Al final del procés d'instal·lació i configuració sorgeixen tres errors (veure més avall) que no afecten a la instal·lació del TopSpin i programes associats.
Al final del procés d'instal·lació apareix un error relacionat amb l'IpsoOS post installation
during command /tftpboot/install-services Errors: /tftpboot/service-lib.sh: line 241: rpm: command not found *** Fatal error: *** /tftpboot/install-services: is not a number Output: /tftpboot/install-services: terminated with status 99
i
Error: Execute cmd: exit=99 Error: Execute cmd: error=</usr/diskless/crco_data/service-lib.sh: line 241: rpm: command not found *** Fatal error: *** /usr/diskless/crco_data/crco-install: is not a number > Error: Execute cmd: exit=99 Error: Execute cmd: error=</tftpboot/service-lib.sh: line 241: rpm: command not found *** Fatal error: *** /tftpboot/install-services: is not a number
Aquest error potser es podria solucionar amb la instal·lació del paquet rpm
, però la recomanació per Debian és no instal·lar-ho i emprar el programa alien
per tal que la instal·lació dels paquets amb format .rpm es gestioni conjuntament amb la dels paquets propis de Debian en format .deb.
Premo el botó Seen per continuar, i ja miraré més endavant si cal corregir o completar aquest pas de la instal·lació.
Al final del procés d'instal·lació apareix un error relacionat amb FLEXlm post installation
during command installation script (post) Errors: ./Bruker/service-lib.sh: line 241: rpm: command not found is not a number /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/xwinstall.d/modscripts/flexlm.post: terminated with status 99 Output:
i
Error: Execute cmd: exit=99 Error: Execute cmd: error=<./Bruker/service-lib.sh: line 241: rpm: command not found is not a number /home/sermnadmin/Downloads/Topspin-3.2.7/Topspin3.2PL7/xwinstall.d/modscripts/flexlm.post: terminated with status 99>
Com en el cas de l'error anterior, premo el botó Seen per continuar, i ja miraré més endavant si cal completar o corregir algun pas del procés d'instal·lació i/o configuració.
Al final del procés d'instal·lació apareix un error relacionat amb la configuració del firewall,
*** Error *** * Could not show firewall rules for Diskless: (command: /bin/bash /usr/diskless/prog/bin/setfirewall.sh show) /usr/diskless/prog/bin/service-lib.sh: line 241: rpm: command not found Fatal error: is not a number /usr/diskless/prog/bin/setfirewall.sh: terminated with status 3
Com abans, premo el botó Seen per continuar, i ja miraré més endavant si cal completar o corregir algun pas del procés d'instal·lació i/o configuració.
Em connecto a la CCU amb la comanda cu -l ttyS2
per poder monitoritzar el procés d'arrencada, i premo el botó de reset de la CCU perquè es posi en marxa. El procés d'arrencada progressa correctament fins que s'atura a causa d'un error relacionat amb el fitxer swapfile.
mount swapfile ASP_ST2:/usr/diskless/clients/spect/swapfile failed, rpc status 2 RPC: Can't decode result PANIC: nfs_swapvp failed mounting swap or dump device syncing disks... done Fast ethernet (FEN): 100 MBit/s, half duplex BRUKER CCU R4600 Monitor Version 5.40 MIPS OPT Thu May 17 12:18:17 MSZ 2001 mar Memory size: 16777216 (0x1000000) bytes, 16 MB Icache size: 16384 (0x4000) bytes Dcache size: 16384 (0x4000) bytes >>
Comprovo el contingut de la carpeta /usr/diskless/clients/spect i veig que no hi ha cap fitxer swapfile. En unes instruccions antigues trobo cóm crear-lo amb la comanda dd if=/dev/zero of=/usr/diskless/clients/spect/swapfile bs=8000000 count=1
root@cie-55-32:/usr/diskless/clients/spect# dd if=/dev/zero of=/usr/diskless/clients/spect/swapfile bs=8000000 count=1 1+0 records in 1+0 records out 8000000 bytes (8.0 MB) copied, 0.00518841 s, 1.5 GB/s root@cie-55-32:/usr/diskless/clients/spect# ls -l total 7828 -rw------- 1 root 995 0 Mar 1 2000 dump dr-xr-xr-x 2 root 995 4096 Apr 21 12:00 lock drwxr-xr-x 8 root 995 4096 Apr 21 12:00 root -rw-r--r-- 1 root 995 8000000 Apr 21 12:34 swapfile drwxr-xr-x 8 root 995 4096 Apr 21 12:00 var
Un cop creat el fitxer swapfile torno a reiniciar la CCU i aquest cop s'atura després de muntar les carpetes root i swap
RISC/os Release 4_52 mips Version UMIPS Total real memory = 16777216 Available memory = 14442496 Root on nfs file :,Swap on nfs file : Fast ethernet (FEN) : 100 MBit/s, full duplex hostname: spect domainname: (none) Root fstype nfs Available memory = 12795904 Fast ethernet (FEN) : 100 MBit/s, full duplex
Per intentar tenir més informació, reinicio la CCU amb el botó Reset i quan arrenca, aturo el procés amb Ctrl+C per accedir al Monitor Mode (prompt “»”). Llavors canvio la variable de entorn bootmode de c
a m
i torno a reiniciar la CCU,
>> printenv bootmode bootmode=c >> setenv bootmode m >> printenv bootmode
i reinicio de nou la CCU per córrer els tests de la placa,
Running Power-On Diagnostics... Low Memory Test... PASSED ID PROM Test... PASSED Write Buffer Test... PASSED Memory Tests... PASSED SCC Test... PASSED Timer/Time-of-Day Clock Test... *** SKIPPED *** Battery Check Test...state 00000002 PASSED NVRAM Test... PASSED Lance Register Test ... *** SKIPPED *** Lance Master Test ... *** SKIPPED *** Fast ethernet (FEN): 100 MBit/s, half duplex Power-On Diagnostics............. PASSED Main Memory Test............. PASSED ID PROM Test................. PASSED Write Buffer Test............ PASSED SCC Tests.................... PASSED NVRAM Tests.................. PASSED Ethernet Tests............... PASSED BRUKER CCU R4600 Monitor Version 5.40 MIPS OPT Thu May 17 12:18:17 MSZ 2001 mar Memory size: 16777216 (0x1000000) bytes, 16 MB Icache size: 16384 (0x4000) bytes Dcache size: 16384 (0x4000) bytes
i tot indica que no hi ha cap problema. Malgrat això, la CCU continua sense arrencar.
En unes instruccions d'instal·lació del TopSpin 2.1 per Linux (Installation Guide Red Hat Enterprise Linux WS 4. TopSpin 2.1. Version 2.1.1) trobo una possible causa: que no s'hagin creat els fitxers pels dispositius a /usr/diskless/clients/spect/root/dev. Ho comprovo i veig que la carpeta /usr/diskless/clients/spect/root/dev està buida.
Per si de cas aquesta és la causa dels problemes, creo els dispositius amb la comanda MKDEV -m RS2330
, però em dóna un missatge d'error perquè el fitxer fa servir una sintaxi de blucle for
obsoleta. Faig una còpia del fitxer amb el nom MKDEV-new.sh i corregeixo l'error per poder executar el programa amb un shell actual (afegir “do” i “done” a dos o tres bucles “for”).
Llavors executo el nou programa MKDEV-new.sh i aquest crea els dispositius (només alguns?), i això permet que la CCU arrenqui quan la reinicio.
Ara que tinc accés a la CCU, executo el programa MKDEV des de la CCU per crear els dispositius correctament.
A la terminal de la CCU a estones apareix el missatge
Apr 21 15:22:17 INIT: Command is respawning too rapidly. Check for possible errors. id: aq "/etc/startd"
on aq
correspon a la connexió amb la placa d'adquisició
spect > more /etc/inittab ... aq:234:respawn:/etc/startd ec:234:off:/etc/ecud ...
El primer intent d'executar TopSpin no funciona perquè no troba una llicència vàlida
sermnadmin@cie-55-32:/opt/topspin3.2$ ./topspin TopSpin 3.2 pl 7 - Copyright (C) 2015 Bruker BioSpin GmbH Installation directory: "/opt/topspin3.2" Waiting for FLEXlm license 2016-04-21T13:59:59.900+02:00 Cannot checkout TopSpin FLEXlm license FEATURE TOPSPIN3 Invalid license file syntax Feature: TOPSPIN3 License path: /usr/local/flexlm/Bruker/licenses/license.dat FLEXlm error: -2,413 For further information, refer to the FLEXlm End User Manual, available at "www.macrovision.com". The FLEXlm host ID of this machine is a0369f8f0ab3 If your workstation controls the spectrometer, you may run the program without license. This requires the acquisition server to be ready. checking connection to spectrometer (may last a minute) no spectrometer service license available
per resoldre el problema, poso el nom sencer del servidor de llicències (rmn6.uab.cat) al fitxer license.dat, i afegeixo una entrada per aquest ordinador al fitxer /etc/hosts per tal que l'ordinador el trobi per sí mateix,
# SeRMN - Servers and network devices # [...] 158.109.56.84 rmn6.uab.cat rmn6 # license server
Llavors torno a executar el TopSpin i aquest cop dóna un error perquè no troba algunes llibreries,
sermnadmin@cie-55-32:/opt/topspin3.2$ topspin TopSpin 3.2 pl 7 - Copyright (C) 2015 Bruker BioSpin GmbH Installation directory: "/opt/topspin3.2" Waiting for FLEXlm license 2016-04-21T16:53:36.534+02:00 Cannot checkout TopSpin FLEXlm license FEATURE TOPSPIN3 Invalid license file syntax Feature: TOPSPIN3 License path: /usr/local/flexlm/Bruker/licenses/license.dat FLEXlm error: -2,413 For further information, refer to the FLEXlm End User Manual, available at "www.macrovision.com". The FLEXlm host ID of this machine is a0369f8f0ab3 If your workstation controls the spectrometer, you may run the program without license. This requires the acquisition server to be ready. checking connection to spectrometer (may last a minute) CPR : 2016-04-21 16:53:36.758 +0200 TopSpin is currently running under the spectrometer service license. Please apply to receive a correct license for your workstation using the online license form: https://www.bruker.com/nmr_license_requests.html error message cprserver: GetSystemPrinterList: dlopen(libcups.so) failed Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/topspin3.2/jre/lib/i386/libawt_xawt.so: libXext.so.6: cannot open shared object file: No such file or directory at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1822) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1083) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1843) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1119) at java.awt.Toolkit$3.run(Toolkit.java:1636) at java.awt.Toolkit$3.run(Toolkit.java:1634) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.loadLibraries(Toolkit.java:1633) at java.awt.Toolkit.<clinit>(Toolkit.java:1668) at java.awt.Color.<clinit>(Color.java:275) at de.bruker.nmr.mfw.root.FramePars.<init>(FramePars.java:82) at de.bruker.nmr.mfw.base.Start.<clinit>(Start.java:55) premature Java Virtual Machine termination Program is exiting ... Hit ENTER to continue ...
Ho comprovo amb la comanda ldd
sermnadmin@cie-55-32:/opt/topspin3.2$ ldd /opt/topspin3.2/jre/lib/i386/libawt_xawt.so linux-gate.so.1 (0xf77a4000) libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf771b000) libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf76d5000) libawt.so => /opt/topspin3.2/jre/lib/i386/libawt.so (0xf7623000) libXext.so.6 => not found libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf74d1000) libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf74c5000) libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf74c0000) libXtst.so.6 => not found libXi.so.6 => not found libjava.so => /opt/topspin3.2/jre/lib/i386/libjava.so (0xf749a000) libjvm.so => not found libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf72ed000) /lib/ld-linux.so.2 (0x56573000) libjvm.so => not found libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf72c6000) libjvm.so => not found libverify.so => /opt/topspin3.2/jre/lib/i386/libverify.so (0xf72ba000) libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf72b6000) libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf72af000) libjvm.so => not found
i les instal·lo. Per això cal instal·lar els següents paquets de l'arquitectura i386 (32-bits) i aquells dels que en depenen (instal·lació automàtica):
Els missatges “libjvm.so ⇒ not found” es poden ignorar ja que la biblioteca “libjvm.so” està disponible al TopSpin (/opt/topspin3.2/jre/lib/i386/[client|server]/libjvm.so).
Ara el TopSpin ja s'executa,
sermnadmin@cie-55-32:/opt/topspin3.2$ topspin TopSpin 3.2 pl 7 - Copyright (C) 2015 Bruker BioSpin GmbH Installation directory: "/opt/topspin3.2" Waiting for FLEXlm license 2016-04-22T10:27:59.081+02:00 Cannot checkout TopSpin FLEXlm license FEATURE TOPSPIN3 Invalid license file syntax Feature: TOPSPIN3 License path: /usr/local/flexlm/Bruker/licenses/license.dat FLEXlm error: -2,413 For further information, refer to the FLEXlm End User Manual, available at "www.macrovision.com". The FLEXlm host ID of this machine is a0369f8f0ab3 If your workstation controls the spectrometer, you may run the program without license. This requires the acquisition server to be ready. checking connection to spectrometer (may last a minute) CPR : 2016-04-22 10:27:59.296 +0200 TopSpin is currently running under the spectrometer service license. Please apply to receive a correct license for your workstation using the online license form: https://www.bruker.com/nmr_license_requests.html
i puc provar a configurar-ho amb cf
i expinstall
.
Executo la comanda cf
del TopSpin i completa tot el procés però dóna uns avisos:
edhead
. Per resoldre l'error copio el fitxer de la versió anterior del TopSpin.
Torno a executar per segon cop la comanda cf
i aquest cop es completa el procés de configuració sense errors.
No detecta PICS perquè la sonda no en té (correcte), però a la finestra edhead apareix seleccionada la sonda:
Amb Edit Probe Parameters comprovo que els paràmetres de configuració siguin els correctes (ho són) i quan surto les connexions (Channel Routing) són:
Amplifier | Preamplifier | Probe: 4 mm MAS 1H/BB H8113/0028 [33] |
---|---|---|
[ X 100 W ] | [ HPHP XBB31P ] | [ BB] 2 Inner Coil |
[ H 50 W ] | [ HPHP 19F/1H ] | [ 1H] 1 Inner Coil |
i l'opció Info al menú de la finestra edhead indica quin és el fitxer de configuració de la sonda,
Spectrometer configuration: /opt/topspin3.2/conf/instr/spect Selected probe: /opt/topspin3.2/conf/instr/probeheads/H8113_0028_33.par Name = 4 mm MAS 1H/BB H8113/0028 [3]
Executo la comanda expinstall
i selecciono els tres conjunts d'experiments disponibles:
i es completa el procés sense errors ni avisos.
Quan executo la comanda edprosol
s'obre la finestra Version Update Dialog amb el següent missatge:
Wrong version of prosol files! Call edprosol to update it! You may start a read only session of the editor in order to save your own modifications. Or you may start an automatic update of your prosol directory branch, wherein all prosol parameter files are replaced. Your old 90 deg. pulses are saved and the new pulse files are recalculated based on them.
i s'ofereiexen dues opcions per continuar:
Trio la segona opció i s'obre la finestra edprosol però l'únic puls que apareix és el de 90 graus per protó amb Pulse Width [us] = 5,50 i Att. Lvl. [-dbW] = -0.00.
Comprovar els valors d'edprosol a l'anterior instal·lació del TopSpin.
Comprovo que s'hagin copiat a la nova versió de TopSpin els fitxers que hi havia a les següents carpetes de l'anterior versió:
No hi ha cap fitxer AU a la carpeta:
Afegeixo l'usuari sermnadmin al grup nmrsu.
Caldrà restringir l'usuari mrsu
Elimino l'usuari nmrsu de la llista d'usuaris que es mostra a la pantalla de login. Per fer-ho, edito el fitxer /etc/gdm3/daemon.conf (abans faig una còpia de seguretat) i, a la secció [greeter]
afegeixo les línies:
# 20160422 - MCE - Hide nmrsu user from the login screen IncludeAll = false Include = sermnadmin,sermnuab
Malauradament, un bug al programa fa que ignori aquestes línies i que segueixi sortint l'usuari nmrsu a la pantalla de login.
Per tal que nmrsu
no pugui connectar-se remotament via SSH, edito el fitxer /etc/ssh/sshd_config i afegeixo les línies:
# 20160422 - MCE - Prevent nmrsu user from log-in via ssh DenyUsers nmrsu
Exporto la carpeta de dades i la carpeta ~topspin/exp/stan/nmr/lists/ al servidor de dades. Primer afegeixo les entrades corresponents al fitxer /etc/exports
[root@cie-55-32 etc]# cat /etc/exports # export data folder to SeRMN data server /home/sermnuab/data sermn.uab.es(ro,sync,no_subtree_check,root_squash,all_squash,insecure) # # export lists folder to SeRMN data server /opt/topspin3.2/exp/stan/nmr/lists sermn.uab.es(ro,sync,no_subtree_check,root_squash,all_squash,insecure) [...]
i després exporto les carpetes i comprovo que estiguin disponibles i els permisos amb què s'exporten,
[root@cie-55-32 etc]# /usr/sbin/exportfs -av exporting sermnserver.sermn.net:/opt/topspin3.2/exp/stan/nmr/lists exporting spect:/usr/diskless/clients/spect exporting spect:/usr/diskless/dl_usr exporting sermnserver.sermn.net:/home/sermnuab/data root@cie-55-32:/etc# exportfs -v /home/sermnuab/data sermnserver.sermn.net(ro,wdelay,insecure,root_squash,all_squash,no_subtree_check,sec=sys,ro,root_squash,all_squash) /opt/topspin3.2/exp/stan/nmr/lists sermnserver.sermn.net(ro,wdelay,insecure,root_squash,all_squash,no_subtree_check,sec=sys,ro,root_squash,all_squash) /usr/diskless/dl_usr spect(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,root_squash,no_all_squash) /usr/diskless/clients/spect spect(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,no_root_squash,no_all_squash)
Llavors provo a muntar les carpetes al servidor de dades i no em dóna cap error, i es pot accedir al contingut de les carpetes.
Aquestes adreces només donen accés als mòduls de la consola si es visiten des de l'ordinador de l'espectròmetre. Des de qualsevol altre ordinador, en la major part dels casos no porten enlloc (són adreces de xarxa local) o a altres ordinadors/dispositius que no tenen res a veure amb els indicats aquí.
Comprovo que s'hagi importat la calibració (Cortab) dels següents nuclis:
Descarrego la darrera versió de firmware de la DRU (dru_firmware_151014.gz) i la instal·lo.
Provo a compilar el programa AU nmr_save amb la comanda cplbruk nmr_save
i em surt un missatge d'error,
nmr_save.c:30:19: fatal error:stdio.h: No such file or directory #include <stdio.h> ^ compilation terminated
Per resoldre'l instal·lo les següents biblioteques de l'arquitecura i386:
Amb això aconsegueixo compilar el programa AU nmr_save. Llavors provo a compilar tots els programes AU amb les comandes cplbruk all
i cpluser all
i es compilen sense cap missatge d'error.
Tot i que l'IconNMR no es fa servir en aquest ordinador, quan l'he posat en marxa i he provat a entrar a la configuració, m'ha donat un error semblant al que dona a l'AvanceIII-600 després d'actualitzar el sistema operatiu, o sigui que intentaré resoldre'l en aquest espectròmetre i després comprovaré la solució al 600.
L'error és:
ILLEGAL TERMINATION of command /opt/topspin3.2/prog/mod/xwish3 MODULE DIED IN ITS SLEEP due to signal 11 (Segmentation fault) (Original message = ILLEGAL TERMINATION of command /opt/topspin3.2/prog/mod/xwish3 MODULE DIED IN ITS SLEEP due to signal 11 (Segmentation fault)) ==================================================== 14 August 2019 13:00:44.137 +0200 Topspin Version = 3.2 (of July 20 2015),build 1791 JVM Version = 1.8.0_31 Oracle Corporation JVM Total memory = 174 MB JVM Free memory = 121 MB java.lang.Exception: Stack trace at de.bruker.nmr.mfw.base.AbstractMessage.setMsgSource(AbstractMessage.java:813) at de.bruker.nmr.mfw.base.AbstractMessage.<init>(AbstractMessage.java:772) at de.bruker.nmr.mfw.base.BWarning.<init>(BWarning.java:57) at de.bruker.nmr.prsc.cpr.CprListener$CPRWarning.<init>(CprListener.java:337) at de.bruker.nmr.prsc.cpr.CprListener.loadAlert(CprListener.java:878) at de.bruker.cpr.CPRClientPOA._invoke_loadAlert(CPRClientPOA.java:121) at de.bruker.cpr.CPRClientPOA._invoke(CPRClientPOA.java:43) at org.openorb.adapter.poa.POA.dispatch(Unknown Source) at org.openorb.net.AbstractServerRequest.dispatch(Unknown Source) at org.openorb.net.ServerManagerImpl.serve_request(Unknown Source) at org.openorb.net.ServerManagerImpl.thread_pool_main(Unknown Source) at org.openorb.net.ServerManagerImpl.access$200(Unknown Source) at org.openorb.net.ServerManagerImpl$PoolThread.run(Unknown Source)
i podria apuntar a que manca algun compoment d'OpenORB (Corba) o a que hi ha un problema de compatibilitat.
Instal·lo alguns paquets relacionats amb OpenORB/Corba
però no resolen el problema, o sigui que caldrà seguir investigant.
Cal instal·lar el paquet
per tenir accés al programa jdeps
i poder trobar les dependències d'un fitxer JAR.
Primer error:
# cd /opt/topspin3.2/gnu/lib/gcc/i686-pc-linux-gnu/4.5.3/include-fixed # nl -ba features.h | sed -n 300,310p 300 #endif 301 302 /* This is here only because every header file already includes this one. */ 303 #ifndef __ASSEMBLER__ 304 # ifndef _SYS_CDEFS_H 305 # include <sys/cdefs.h> 306 # endif 307 308 /* If we don't have __REDIRECT, prototypes will be missing if 309 __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */ 310 # if defined __USE_FILE_OFFSET64 && !defined __REDIRECT # locate cdefs.h /usr/include/sys/cdefs.h /usr/include/x86_64-linux-gnu/sys/cdefs.h # apt install libc6-dev:i386 Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: linux-libc-dev:i386 Suggested packages: glibc-doc:i386 The following NEW packages will be installed: libc6-dev:i386 linux-libc-dev:i386 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 6,378 kB of archives. After this operation, 39.5 MB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://security.debian.org buster/updates/main i386 linux-libc-dev i386 4.19.37-5+deb10u2 [1,186 kB] [...] Setting up libc6-dev:i386 (2.28-10) ... #
Few hints:
Use the ldconfig command to show the dynamic linker/loader (ldd) paths:
ldconfig -v | grep -v ^$'\t'
The ldd paths are set in /etc/ld.so.conf and /etc/ld.so.conf.d.
If your libraries are not on standard path then either you need to add them to the path or add non-standard path to LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<Your_non-Standard_path>
Once you done any one of above things then you need to update the dynamic linker run-time binding by executing below command:
sudo ldconfig
Per més informació consultar:
aquesta secció cal moure-la a la pàgina correcta, però per ara la deixo aquí
For problems related to undefined 'intrptr_t' type name see,
The fix is to insert an include definition for the stdint.h header file into the ~TOPSPIN/exp/stan/au/vorspann file,
... #include <stdio.h> #include <stdlib.h> /**************************************************** -*-C++-*- * MCE - 20190817 * * Include "stdint.h" header file before unistd.h include line to avoid errors like: * /usr/include/unistd.h:1043:20: error: unknown type name 'intptr_t' * * For additional information read * https://selkieupsilon.blogspot.com/2016/06/installing-bruker-topspin-on-ubuntu.html ***************************************************************/ #include <stdint.h> #include <unistd.h> #include <string.h> ...
Algunes comandes útils:
# export XWINNMRHOME=/opt/topspin3.6.1 # cd $XWINNMRHOME/exp/stan/nmr/au # ./makeau -help # ./makeau -libraries ./src/muiltizg # ./makeau -show ./src/multizg # ./makeau -native -show ./src/multizg
L'intent de compilar un programa (multizg) un cop resolt el problema anterior dona el següent error:
# ./makeau -show ./src/multizg /opt/topspin3.6.1/gnu/bin/gcc -B/opt/topspin3.6.1/gnu/lib/gcc/ -c -DLINUX_INTEL -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -m32 -w -I/opt/topspin3.6.1/prog/include -I/opt/topspin3.6.1/gnu/lib/gcc/i686-pc-linux-gnu/4.9.1/include multizg.c /opt/topspin3.6.1/gnu/bin/c++ -B/opt/topspin3.6.1/gnu/lib/gcc/ -L/opt/topspin3.6.1/gnu/lib-B/lib32 -B/usr/lib32 -m32 -Wl,-warn-common,-warn-constructors -s /opt/topspin3.6.1/prog/au/bin/multizg.o /opt/topspin3.6.1/prog/shlib/auliba.so [...] /opt/topspin3.6.1/prog/shlib/libxerces-c.so /opt/topspin3.6.1/prog/shlib/libomnithread.so -lm -ldl -o multizg /opt/topspin3.6.1/gnu/bin/../lib/gcc/i686-pc-linux-gnu/4.9.1/../../../../i686-pc-linux-gnu/bin/ld: /usr/lib32/crti.o: unrecognized relocation (0x2b) in section `.init' /opt/topspin3.6.1/gnu/bin/../lib/gcc/i686-pc-linux-gnu/4.9.1/../../../../i686-pc-linux-gnu/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status
que està causat per
using a older version of ld to link a library that had been built with a newer version Unable to compile: unrecognized relocation
i la solució és
The fix is either to build the library that you want to link with a older version of the binutils suite, or to upgrade ld on the machine that wants to link that library. Unable to compile: unrecognized relocation
Per més informació consultar: