User Tools

Site Tools


informatica:hp_xw4300_500_topspin13_au_compilation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
informatica:hp_xw4300_500_topspin13_au_compilation [2015/09/29 13:36]
miquel [Canvis addicionals al programa 'makeau']
informatica:hp_xw4300_500_topspin13_au_compilation [2020/07/09 12:02] (current)
miquel
Line 441: Line 441:
 export LD_LIBRARY_PATH=/usr/lib32:/lib32:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/lib32:/lib32:$LD_LIBRARY_PATH
 </code> </code>
 +
 +===== Nova compilació dels programes AU =====
 +
 +Executo la comanda ''cplbruk all'' per compilar tots els programes AU i els compila tots excepte els esmentats a [[https://www.bruker.com/cgi-bin/bkb/show_bug.cgi?id=9641 | l'Item#: 9641. Some AU programs do not compile with native compiler]]
 +
 +<file>
 +/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
 +</file>
 +
 +<WRAP 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:
 +
 +<file>
 +ILLEGAL TERMINATION of process 28469
 +due to signal 11
 +</file>
 +
 +potser pels motius explicats [[http://superuser.com/questions/908377/ldd-with-32-bit-binaries-on-64-bit-system-runs-but-wont-report | aquí]]: //ldd with 32-bit binaries on 64-bit system - runs but won't report//.
 +</WRAP>
 +
 +===== 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
 +
 +<file>
 +# 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
 +</file>
 +
 +i les biblioteques emprades pel programa AU ''au_zg'' estan disponibles a ///lib32// i ///lib/i386-linux-gnu///
 +
 +<file>
 +# 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
 +</file>
 +
 +===== Canvi de /lib32 a /lib/i386-linux-gnu =====
 +
 +Provo a canviar a multiarch amb la instal·lació de paquets de l'arquitectura //i386//. Això hauria de comportar l'eliminació de les biblioteques a ///lib32// i ///usr/lib32// entre altres.
 +
 +Instal·lo //libxmu-dev//
 +
 +<file>
 +n# apt-get -s install libxmu-dev
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +The following extra packages will be installed:
 +  libice-dev libpthread-stubs0 libpthread-stubs0-dev libsm-dev libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxmu-headers libxt-dev x11proto-core-dev
 +  x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
 +Suggested packages:
 +  libice-doc libsm-doc libxcb-doc libxext-doc libxt-doc
 +The following NEW packages will be installed:
 +  libice-dev libpthread-stubs0 libpthread-stubs0-dev libsm-dev libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxmu-dev libxmu-headers libxt-dev
 +  x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
 +0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded.
 +</file>
 +
 +i //libxmu-dev:i386//
 +
 +<file>
 +# apt-get -s install libxmu-dev:i386
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +The following extra packages will be installed:
 +  libice-dev:i386 libpthread-stubs0:i386 libpthread-stubs0-dev:i386 libsm-dev:i386 libx11-dev:i386 libxau-dev:i386 libxcb1-dev:i386 libxdmcp-dev:i386 libxext-dev:i386
 +  libxt-dev:i386
 +Suggested packages:
 +  libice-doc:i386 libsm-doc:i386 libxcb-doc:i386 libxext-doc:i386 libxt-doc:i386
 +The following NEW packages will be installed:
 +  libice-dev:i386 libpthread-stubs0:i386 libpthread-stubs0-dev:i386 libsm-dev:i386 libx11-dev:i386 libxau-dev:i386 libxcb1-dev:i386 libxdmcp-dev:i386 libxext-dev:i386
 +  libxmu-dev:i386 libxt-dev:i386
 +0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
 +</file>
 +
 +Miro de substituir els paquets instal·lats que contenen //lib32// al nom,
 +  * lib32gcc1 - GCC support library (32 bit Version)
 +  * lib32gomp1 - GCC OpenMP (GOMP) support library (32bit)
 +  * lib32itm1 - GNU Transactional Memory Library (32bit)
 +  * lib32quadmath0 - GCC Quad-Precision Math Library (32bit)
 +
 +==== lib32gcc1 i lib32itm1 ====
 +
 +L'eliminació del paquet //lib32gcc1// comporta l'eliminació de:
 +   * gcc-4.7-multilib
 +   * gcc-multilib
 +   * lib32gcc1
 +   * lib32itm1
 +
 +però l'eliminació de //lib32itm1// també comporta l'eliminació de //gcc-4.7-multilib// i //gcc-multilib//. Així doncs, tiro endavant,
 +
 +<file>
 +# apt-get remove lib32gcc1
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +The following packages will be REMOVED:
 +  gcc-4.7-multilib gcc-multilib lib32gcc1 lib32itm1
 +0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
 +:
 +Removing gcc-multilib [4:4.7.2-1]
 +Removing gcc-4.7-multilib [4.7.2-5]
 +Removing lib32itm1 [4.7.2-5]
 +Removing lib32gcc1 [1:4.7.2-5]
 +</file>
 +
 +==== lib32gomp1 i lib32quadmath0 ====
 +
 +L'eliminació del paquet //lib32gomp1// fa que el paquet //lib32quadmath0// ja no sigui necessari i que també es pugui eliminar. Així doncs, elimino //lib32gomp1//
 +
 +<file>
 +# apt-get remove lib32gomp1
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +The following package was automatically installed and is no longer required:
 +  lib32quadmath0
 +Use 'apt-get autoremove' to remove it.
 +The following packages will be REMOVED:
 +  lib32gomp1
 +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
 +Removing lib32gomp1 [4.7.2-5]
 +</file>
 +
 +i //lib32quadmath0//
 +
 +<file>
 +# apt-get remove lib32quadmath0
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +The following packages will be REMOVED:
 +  lib32quadmath0
 +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
 +Removing lib32quadmath0 [4.7.2-5]
 +</file>
 +
 +==== Migració de /lib32 a /lib/i386-linux-gnu ====
 +
 +Miro de substituir les biblioteques instal·lades a la carpeta ///lib32// per les seves equivalents a instal·lar dins la carpeta ///lib/i386-linux-gnu//.
 +
 +<file>
 +# ls /lib32
 +ld-2.13.so               libc-2.13.so      libdl-2.13.so   libnsl.so.1            libnss_files.so.2       libnss_nis.so.2     librt-2.13.so        libutil.so.1
 +ld-linux.so.2            libcidn-2.13.so   libdl.so.2      libnss_compat-2.13.so  libnss_hesiod-2.13.so   libpcprofile.so     librt.so.1
 +libanl-2.13.so           libcidn.so.1      libm-2.13.so    libnss_compat.so.2     libnss_hesiod.so.2      libpthread-2.13.so  libSegFault.so
 +libanl.so.1              libcrypt-2.13.so  libmemusage.so  libnss_dns-2.13.so     libnss_nis-2.13.so      libpthread.so.0     libthread_db-1.0.so
 +libBrokenLocale-2.13.so  libcrypt.so.1     libm.so.6       libnss_dns.so.2        libnss_nisplus-2.13.so  libresolv-2.13.so   libthread_db.so.1
 +libBrokenLocale.so.1     libc.so.6         libnsl-2.13.so  libnss_files-2.13.so   libnss_nisplus.so.2     libresolv.so.2      libutil-2.13.so
 +</file>
 +
 +=== libc6-i386 ===
 +
 +Vull eliminar //libc6-i386// perquè el paquet equivalent //libc6:i386// ja està instal·lat, però quan provo de fer-ho em surt el missatge "The following packages will be REMOVED: libc6-dev-i386 libc6-i386" i això comportaria substituir //libc6-dev-i386// per //libc6-dev-i386//, però la instal·lació de //libc6-dev:i386// comportaria alhora canvis addicionals,
 +
 +<file>
 +# apt-get -s install libc6:i386 libc6-dev:i386
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +libc6:i386 is already the newest version.
 +libc6:i386 set to manually installed.
 +Suggested packages:
 +  glibc-doc:i386 manpages-dev:i386
 +Recommended packages:
 +  gcc:i386 c-compiler:i386
 +The following packages will be REMOVED:
 +  binutils flashplugin-nonfree gcc gcc-4.7
 +The following NEW packages will be installed:
 +  libc6-dev:i386 linux-libc-dev:i386
 +0 upgraded, 2 newly installed, 4 to remove and 0 not upgraded.
 +Remv flashplugin-nonfree [1:3.2+wheezy1]
 +Remv gcc [4:4.7.2-1]
 +Remv gcc-4.7 [4.7.2-5]
 +Remv binutils [2.22-8+deb7u2]
 +Inst linux-libc-dev:i386 (3.2.68-1+deb7u4 Debian-Security:7.0/oldstable [i386])
 +Inst libc6-dev:i386 (2.13-38+deb7u8 Debian-Security:7.0/oldstable, Debian:7.9/oldstable [i386])
 +Conf linux-libc-dev:i386 (3.2.68-1+deb7u4 Debian-Security:7.0/oldstable [i386])
 +Conf libc6-dev:i386 (2.13-38+deb7u8 Debian-Security:7.0/oldstable, Debian:7.9/oldstable [i386])
 +</file>
 +
 +que van més enllà del que considero raonable.
 +
 +Així doncs,
 +  * per ara elimino els paquets //libc6-i386// i //libc6-dev-i386//, i
 +  * no instal·lo el paquet //libc6-devel:i386//.
 + 
 +Com que s'ha instal·lat el paquet //libc6:i386//, confio en que moltes de les biblioteques estaran disponibles a la nova ubicació ///lib/i386-linux-gnu//.
 +
 +<file>
 +# apt-get remove libc6-dev-i386
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +The following package was automatically installed and is no longer required:
 +  libc6-i386
 +Use 'apt-get autoremove' to remove it.
 +The following packages will be REMOVED:
 +  libc6-dev-i386
 +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
 +After this operation, 5,473 kB disk space will be freed.
 +Do you want to continue [Y/n]? 
 +(Reading database ... 136418 files and directories currently installed.)
 +Removing libc6-dev-i386 ...
 +
 +# apt-get autoremove
 +Reading package lists... Done
 +Building dependency tree       
 +Reading state information... Done
 +The following packages will be REMOVED:
 +  libc6-i386
 +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
 +After this operation, 9,239 kB disk space will be freed.
 +Do you want to continue [Y/n]? 
 +(Reading database ... 136282 files and directories currently installed.)
 +Removing libc6-i386 ...
 +</file>
  
informatica/hp_xw4300_500_topspin13_au_compilation.1443526619.txt.gz · Last modified: 2015/09/29 13:36 by miquel