====== 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 ...