User Tools

Site Tools


informatica:hp_z400_600_topspin21

This is an old revision of the document!


Instal·lació del Topspin 2.1

El primer problema és que, per seguratat, el DVD d'instal·lació es munta per defecte amb permís noexec fet que impedeix executar el programa d'instal·lació. Això es resol fàcilment amb la comanda,

root@cie-56-18:/opt# mount -o remount,exec /media/cdrom0

Llavors ja es pot executar el programa autorun per iniciar la instal·lació del Tospin.

Com que ja està instal·lat el Topsin 3.1, trio l'opció Customized per podeu excloure de la instal·lació els components Diskless i FLEXlm i fer servir els instal·lats amb el Topspin 3.1.

A continuació, a la finestra Select a spectrometer configuration to import trio l'opció spect in /opt/topspin3.1

Contesto no a la pregunta de si vull afegir la carpeta d'instal·lació del Topspin a la variable PATH general, on ja està definit el directori del Topspin-3.1. Això vol dir si escrivim topspin en una terminal, accedirem a la versió 3.1.

Després de triar l'usuari nmrsu (que ja existeix) i de definir el password de l'usuari d'administració, comença la instal·lació del Topspin-2.1… i poc després finalitza sense cap missatge d'error,

Configuració del Topspin 2.1

<note important> Comentar breument la configuració del programa un cop connectat a la consola, i afegir alguna captura de pantalla </note>

Aquestes són les tasques realitzades,

  • :ok: ha, i verificar els mòduls detectats
  • :ok: cf funciona correctament i el fitxer de configuració final (afegir-ho!) coincideix amb el del Topspin 2.1 de l'ordinador vell
  • :ok: recuperació de la configuració del Topspin 2.1 amb nmr_restore a partir del fitxer creat amb nmr_save al Topspin 2.1 de l'ordinador vell. Inicialment donava un error de compilació, però ja s'ha resolt (veure més avall).
  • :ok: expinstall
  • :ok: edhead, edprosol, i la resta de comandes no donen cap problema. Cal importar a mà els parameter sets i altres fitxers de configuració que no s'hagin transferit.
  • :ok: cplbruk all per compilar tots els programes AU de Bruker.
  • :ok: cpluser all per compilar tots els programes AU de la carpeta user.

Problemes de compilació - Llibreria libpthread

Al compilar els programes AU dóna un error perquè no troba la llibreria libpthread. Per resoldre el problema cal copiar els fitxers d'aquesta llibreria de la carpeta /opt/topspin3.x/gnu/lib a /opt/topspin2.x/gnu/lib,

# find ./topspin3.1/ -name libpthread* -exec ls -l {} \;
lrwxrwxrwx 1 root root 34 Feb 21  2012 ./topspin3.1/prog/shlib/libpthread.so.0 \
    -> ../../gnu/lib/libpthread-2.11.3.so
lrwxrwxrwx 1 root root 20 Feb 21  2012 ./topspin3.1/gnu/lib/libpthread.so.0 \
    -> libpthread-2.11.3.so
-rwxr-xr-x 1 root root 116809 Feb 21  2012 ./topspin3.1/gnu/lib/libpthread-2.11.3.so

# cp --archive /opt/topspin3.1/gnu/lib/libpthread-2.11.3.so /opt/topspin2.1/gnu/lib

# ls -l /opt/topspin2.1/gnu/lib/libpthread*
-rwxr-xr-x 1 root root 116809 Feb 21  2012 /opt/topspin2.1/gnu/lib/libpthread-2.11.3.so
lrwxrwxrwx 1 root root     20 Feb 21  2012 /opt/topspin2.1/gnu/lib/libpthread.so.0 \
    -> libpthread-2.11.3.so

# cp --archive /opt/topspin3.1/prog/shlib/libpthread.so.0 /opt/topspin2.1/prog/shlib

# ls -l /opt/topspin2.1/prog/shlib/libpthread*
lrwxrwxrwx 1 root root 34 Feb 21  2012 /opt/topspin2.1/prog/shlib/libpthread.so.0 \
    -> ../../gnu/lib/libpthread-2.11.3.so

Problemes de compilació - Llibreries de 32-bits en un entorn de 64-bits

Per compilar els programes AU en un entorn de 64-bits i enllaçar-los amb les llibreries de 32-bits, cal modificar el fitxer makeau. Aparentment el programa d'instal·lació s'encarrega de resoldre aquest problema per instal·lacions del Topspin a ordinadors que facin servir la distribució GNU/Linux RHEL o distribucions derivades (CentOS, Fedora), però no el resol en el cas de distribucions GNU/Linux Debian i derivades (Ubuntu).

Les modificacions a fer al fitxer /opt/topspin2.1/exp/stan/nmr/au/makeau són,

*** makeau	2012-02-21 16:50:34.000000000 +0100
--- makeau.ts216	2012-02-21 13:26:27.000000000 +0100
*************** if (($opersys ne "Windows_NT")) {
*** 104,116 ****
      $CC		= $GCC . ' -B' . $GCC_EXEC_PREFIX;
      $LPATH	= ' -L'.$GCC_LIB;
      $LD		= $GCC_PLUS . ' -B'.$GCC_EXEC_PREFIX . $LPATH;
! 
!     ##
!     # Extend with 32Bit library path on debian/ubuntu
!     $LD .= '-B/lib32 -B/usr/lib32' if ( -d '/usr/lib32' or -d '/lib32' );
! 
!     $ld_out	='-o ';
!     $cc_info	= 'gcc (Bruker)';
      if (open(FD,"/etc/redhat-release"))
      {
  	my $redhat = <FD>;
--- 104,111 ----
      $CC		= $GCC . ' -B' . $GCC_EXEC_PREFIX;
      $LPATH	= ' -L'.$GCC_LIB;
      $LD		= $GCC_PLUS . ' -B'.$GCC_EXEC_PREFIX . $LPATH;
!     $ld_out		='-o ';
!     $cc_info = 'gcc (Bruker)';
      if (open(FD,"/etc/redhat-release"))
      {
  	my $redhat = <FD>;
*************** $IndexStaticExt = 6;
*** 346,352 ****
  	  );
  ##
  %ldopt	= (
! 	   'LINUX'	=>	' -m32 -Wl,-warn-common,-warn-constructors'. 
  	   			$LIBSTD . $v_gcc,
  	   'Windows_GCC'=>	' -Wl,-warn-common,-warn-constructors' .
  				' -Wl,--stack,0x800000' . $v_gcc,
--- 341,347 ----
  	  );
  ##
  %ldopt	= (
! 	   'LINUX'	=>	' -Wl,-warn-common,-warn-constructors'. 
  	   			$LIBSTD . $v_gcc,
  	   'Windows_GCC'=>	' -Wl,-warn-common,-warn-constructors' .
  				' -Wl,--stack,0x800000' . $v_gcc, 

Problemes de compilació - Compilació de poptau i paropt

La compilació del programa AU poptau al Topspin 2.x genera un executable que dóna un error de segmentació quan s'executa. Començo per comprovar les biblioteques que crida el programa,

# ldd /opt/topspin2.1/prog/au/bin/poptau
	linux-gate.so.1 =>  (0xf76fd000)
	auliba.so => not found
	aulibp.so => not found
	chparmod.so => not found
	librrs.so => not found
	liblrs.so => not found
	editpar.so => not found
	libacq.so => not found
	util.so => not found
	uni.so => not found
	par.so => not found
	libPath.so => not found
	libcb.so => not found
	libdl.so.2 => /lib32/libdl.so.2 (0xf76df000)
	libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf75ea000)
	libm.so.6 => /lib32/libm.so.6 (0xf75c4000)
	libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf75a6000)
	libc.so.6 => /lib32/libc.so.6 (0xf745f000)
	/lib/ld-linux.so.2 (0xf76fe000)

i veig que hi ha moltes que no troba, però una comprovació d'altres programes AU que sí funcionen en aquesta versió 2.x de Topspin, i a la versió 3.x, i a la versió 2.x en altres espectròmetres, m'indica que aquest és un fet comú a tots ells i que no impedeix el correcte funcionament dels programes. Així doncs, la causa del problema ha d'ésser una altra.

Si executo la comanda ldd -r em dóna un missatge d'error semblant al que surt en executar el programa,

# ldd -r poptau
	linux-gate.so.1 =>  (0xf770d000)
	auliba.so => not found
	aulibp.so => not found
	chparmod.so => not found
	librrs.so => not found
	liblrs.so => not found
	editpar.so => not found
	libacq.so => not found
	util.so => not found
	uni.so => not found
	par.so => not found
	libPath.so => not found
	libcb.so => not found
	libdl.so.2 => /lib32/libdl.so.2 (0xf76ef000)
	libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf75fa000)
	libm.so.6 => /lib32/libm.so.6 (0xf75d4000)
	libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf75b6000)
	libc.so.6 => /lib32/libc.so.6 (0xf746f000)
	/lib/ld-linux.so.2 (0xf770e000)
/usr/bin/ldd: line 118: 15004 Segmentation fault      LD_TRACE_LOADED_OBJECTS=1 LD_WARN=yes LD_BIND_NOW=yes LD_LIBRARY_VERSION=$verify_out LD_VERBOSE= "$@"

mentre que a l'AvanceIII 400sb no dóna cap missatge d'error,

[root@cie-55-32 bin]# ldd -r poptau 
	auliba.so => not found
	aulibp.so => not found
	chparmod.so => not found
	librrs.so => not found
	liblrs.so => not found
	editpar.so => not found
	libacq.so => not found
	util.so => not found
	uni.so => not found
	par.so => not found
	libPath.so => not found
	libcb.so => not found
	libdl.so.2 => /lib/libdl.so.2 (0x00d7f000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0760b000)
	libm.so.6 => /lib/tls/libm.so.6 (0x00d5a000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00ccb000)
	libc.so.6 => /lib/tls/libc.so.6 (0x00101000)
	/lib/ld-linux.so.2 (0x00524000)
undefined symbol: ssleep	(./poptau)
undefined symbol: PathXWinNMRProg	(./poptau)
undefined symbol: Change_object	(./poptau)
undefined symbol: Start_unimar	(./poptau)
undefined symbol: DurationToAscii	(./poptau)
undefined symbol: setcurdat	(./poptau)
undefined symbol: RemoveTree	(./poptau)
undefined symbol: Gets	(./poptau)
undefined symbol: CPR_exec	(./poptau)
undefined symbol: Show_status	(./poptau)
undefined symbol: fetchstor	(./poptau)
undefined symbol: getcurdat	(./poptau)
undefined symbol: Proc_err	(./poptau)
undefined symbol: Exit_unimar	(./poptau)
undefined symbol: PathSystemTemp	(./poptau)
undefined symbol: getparamunit	(./poptau)
undefined symbol: Get_command	(./poptau)
undefined symbol: GetCPR_object	(./poptau)
undefined symbol: PathXWinNMRCurDir	(./poptau)
undefined symbol: execau	(./poptau)

Per altra banda, el programa paropt també dóna un error semblant de segmentation fault quan s'executa i quan se li aplica la comanda ldd -r. Això podria servir per identificar el problema.

Una cerca de compile* a la Knowledge Database de Bruker proporciona una possible pista,

  • item 9577 - workaround - TOPSPIN - 1.3.10 - non-critical - CentOS5 TopSpin 1.3pl10 cannot compile AU programs under CentOS 5. Proporciona una nova versió del programa makeau, derivada de la versió distribuïda amb el TS-3.x, i esmenta que, si el directori d'instal·lació del Topspin no és /opt/topspin, cal modificar la primera línia del programa makeau

que, en el nostre cas, no és la causa, ja que la primera línia al fitxer makeau és correcte.

Al fitxer opt/topspin2.1/topspin que s'executa per configurar l'entorn de treball del Topspin i posar en marxa tots els programes i serveis requerits per executar el Topspin, LD_LIBRARY_PATH està definida com

Insert Codexport LD_LIBRARY_PATH="$szProgPath"/pvshlib:"$szProgPath"/shlib

on

szProgPath=`"$XWINNMRHOME"/pathScript prog`
szExpPath=`"$XWINNMRHOME"/pathScript exp`

és a dir, en el cas de Topspin LD_LIBRARY_PATH es defineix com la carpeta /opt/topspin2.1/prog/shlib on es troben totes les biblioteques que les comandes ldd de més amunt indicaven que els programes AU compilats no troben,

# ls -F 
Atma.so*	ipsoRout.so*	     libCUtil.so*	libhttp_channel.so	libpthread.so.0@  libtcl3.so
auliba.so*	libacb.so*	     libDatPath.so	libhttp_transport.so	libpvacq.so	  libTimer.so*
aulibp.so*	libacq.so*	     libDispClient.so*	libJCamp.so*		libPvPath.so	  lib_tty.so*
Bird.so*	libap.so*	     libDispNMR.so*	libJVMAgent.so*		libPvUtil.so	  libTxBbis.so*
Bis.so*		libAqRack.so*	     libDisp.so*	liblrs.so*		libQTP.so*	  libUpnpClient.so*
chparmod.so*	libArg.so*	     libDispX.so*	libMo.so*		libRcuBbis.so*	  libUtil.so*
convpw_deb.so*	libAsuBbis.so*	     libDppPars.so*	libomniCodeSets4.so.1*	librrs.so*	  libVtu.so*
convpw.so*	libaxis_client.so    libDPP.so*		libomniORB4.so.1*	librx22.so*	  libWrap.so*
ConvSf.so*	libaxis_xerces.so    libEdte.so*	libomnisslTP4.so.1*	lib_sbsb.so*	  libxerces-c.so.27
editpar.so*	libBbis.so*	     libError.so*	libomnithread.so.3*	libSe451Bbis.so*  par.so*
Error.so*	libBmpc.so*	     libFcuBbis.so*	libParxBase.so		libShapeIO.so*	  sxutil.so*
gc.so*		libBpsu.so*	     libFunc.so*	libParx.so		libssl.so.0.9.8*  uni.so*
Gilson.so*	libcb.so*	     libgcc_s.so@	libPath.so*		libstdc++.so@	  util.so*
golibipso.so*	libCf.so*	     libgcc_s.so.1@	libpreamp.so*		libstdc++.so.6@
gosim.so*	libcrypto.so.0.9.8*  libGoRec.so*	libPreemp.so*		libSwish.so*
Hppr.so*	libCt.so*	     libhpcu.so*	libPsTul.so		libtbcload1.4.so

**Potser la solució passi per emprar i/o adaptar el fitxer makeau del TS-3x al TS-2x, o fer servir el makeau de l'item #9577.

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_z400_600_topspin21.1360771709.txt.gz · Last modified: 2013/02/13 17:08 by miquel