====== Compilació dels programes AU ======
Aquesta part és tan llarga i específica que s'ha mogut a una pàgina a part.
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 =====
A la base de dades Bruker Knowledge Base hi ha dos registres relacionats amb la compilació de programes AU,
* [[https://www.bruker.com/cgi-bin/bkb/show_bug.cgi?id=9577 | Item#: 9577. With TopSpin 1.3pl10 it is not possible to compile AU programs under CentOS5 (or RedHat Enterprise Linux 5)]]
* [[https://www.bruker.com/cgi-bin/bkb/show_bug.cgi?id=9641 | Item#: 9641. Some AU programs do not compile with native compiler]]
===== 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 [[https://www.bruker.com/cgi-bin/bkb/show_bug.cgi?id=9577 | 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 [[https://www.bruker.com/cgi-bin/bkb/show_bug.cgi?id=9641 | 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 [[http://stackoverflow.com/questions/3395330/how-to-link-to-a-specific-version-of-the-standard-library-with-gcc| aquí]] i [[https://bbs.archlinux.org/viewtopic.php?id=62747 | 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:
* [[http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html]]
* [[https://wiki.debian.org/Multiarch/LibraryPathOverview]]
* [[http://askubuntu.com/questions/275965/how-to-list-all-variables-names-and-their-current-values/356973#356973]]
* hint: emprar la comanda ''declare -xp'' per veure les variables d'entorn definides a la sessió de Gnome.
* [[http://askubuntu.com/questions/438150/scripts-in-etc-profile-d-being-ignored]]
* [[https://wiki.debian.org/EnvironmentVariables]]
* [[http://unix.stackexchange.com/questions/117467/how-to-permanently-set-environmental-variables]]
===== 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
===== 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]]
/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
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 [[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//.
===== 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
===== 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//
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.
i //libxmu-dev:i386//
# 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.
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,
# 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]
==== 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//
# 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]
i //lib32quadmath0//
# 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]
==== 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//.
# 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
=== 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,
# 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])
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//.
# 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 ...