Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/11/2007, à 18:18

doc212

GNU Debugger : sudo make install marche mais pas checkinstall

Salut

En fait, je voulais installer GNU Debugger et je l'ai fait, à partir des sources
./configure
make
sudo make install

normal quoi ... c'est passé nickel.

Puis j'ai voulu désinstaller pour voir et oh joie pas d'uninstall prévu ...

En plus, je me suis rendu compte après qu'il y avait déjà une version de GDB installée avec Gutsy (mais pas la dernière, la 6.7.1).

Bref, en cherchant un peu, j'ai trouvé qu'en utilisant checkinstall au lieu de make install ct mieux, pour la gestion de paquets, la désinstallation et tout ...

Le problème c'est que quand je fais sudo checkinstall, il coince à un certain moment, un fichier qu'il trouve pas ... alors que sudo make install passe comme une lettre à la poste ... Or j'avais cru comprendre que checkinstall fait un make install par défaut donc voilà ...

Si qqun voit d'où ça vient...

Je vous met juste la partie qui déconne (pcq c'est super long ...)

[...]

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/usr/bin/install -c -m 644 .././opcodes/../include/dis-asm.h /usr/local/include/dis-asm.h
make[4]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/opcodes »
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/opcodes »
make[2]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/opcodes »
make[2]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
for f in standards.info configure.info; do \
          if test -f .././etc/`echo $f | sed -e 's/.info$/.texi/'`; then \
            if make "MAKEINFO=/home/doc212/Desktop/gdb-6.7.1/missing makeinfo --split-size=5000000 --split-size=5000000" $f; then \
              true; \
            else \
              exit 1; \
            fi; \
          fi; \
        done
make[3]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
make[3]: « standards.info » est à jour.
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
make[3]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
make[3]: « configure.info » est à jour.
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
/bin/bash .././etc/../mkinstalldirs /usr/local/info
if test ! -f standards.info; then cd .././etc; fi; \
        if test -f standards.info; then \
          for i in standards.info*; do \
            /usr/bin/install -c -m 644 $i /usr/local/info/$i; \
          done; \
        fi
if test ! -f configure.info; then cd .././etc; fi; \
        if test -f configure.info; then \
          for i in configure.info*; do \
            /usr/bin/install -c -m 644 $i /usr/local/info/$i; \
          done; \
        fi
make[2]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
make[2]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/intl »
make[2]: Rien à faire pour « install ».
make[2]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/intl »
make[2]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty »
make[3]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty/testsuite »
make[3]: Rien à faire pour « all ».
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty/testsuite »
/bin/bash .././libiberty/../mkinstalldirs /usr/local/lib/`gcc -g -O2 -print-multi-os-directory`
/usr/bin/install -c -m 644 ./libiberty.a /usr/local/lib/`gcc -g -O2 -print-multi-os-directory`/./libiberty.an
( cd /usr/local/lib/`gcc -g -O2 -print-multi-os-directory` ; chmod 644 ./libiberty.an ;ranlib ./libiberty.an )
chmod: ne peut accéder `./libiberty.an': Aucun fichier ou répertoire de ce type
ranlib: './libiberty.an': No such file
make[2]: *** [install_to_libdir] Erreur 1
make[2]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty »
make[1]: *** [install-libiberty] Erreur 2
make[1]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1 »
make: *** [install] Erreur 2

****  Installation failed. Aborting package creation.

Cleaning up...OK

Bye.

doc212@server:~/Desktop/gdb-6.7.1$ cd libiberty/
doc212@server:~/Desktop/gdb-6.7.1/libiberty$ ls libiberty.*
libiberty.a  libiberty.texi
doc212@server:~/Desktop/gdb-6.7.1/libiberty$

Voici la partie correspondante quand je fais sudo make install (du moins ça m'en a l'air):

[...]

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/usr/bin/install -c -m 644 .././opcodes/../include/dis-asm.h /usr/local/include/dis-asm.h
make[4]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/opcodes »
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/opcodes »
make[2]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/opcodes »
make[2]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
for f in standards.info configure.info; do \
          if test -f .././etc/`echo $f | sed -e 's/.info$/.texi/'`; then \
            if make "MAKEINFO=/home/doc212/Desktop/gdb-6.7.1/missing makeinfo --split-size=5000000 --split-size=5000000" $f; then \
              true; \
            else \
              exit 1; \
            fi; \
          fi; \
        done
make[3]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
make[3]: « standards.info » est à jour.
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
make[3]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
make[3]: « configure.info » est à jour.
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
/bin/bash .././etc/../mkinstalldirs /usr/local/info
if test ! -f standards.info; then cd .././etc; fi; \
        if test -f standards.info; then \
          for i in standards.info*; do \
            /usr/bin/install -c -m 644 $i /usr/local/info/$i; \
          done; \
        fi
if test ! -f configure.info; then cd .././etc; fi; \
        if test -f configure.info; then \
          for i in configure.info*; do \
            /usr/bin/install -c -m 644 $i /usr/local/info/$i; \
          done; \
        fi
make[2]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/etc »
make[2]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/intl »
make[2]: Rien à faire pour « install ».
make[2]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/intl »
make[2]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty »
make[3]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty/testsuite »
make[3]: Rien à faire pour « all ».
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty/testsuite »
/bin/bash .././libiberty/../mkinstalldirs /usr/local/lib/`gcc -g -O2 -print-multi-os-directory`
/usr/bin/install -c -m 644 ./libiberty.a /usr/local/lib/`gcc -g -O2 -print-multi-os-directory`/./libiberty.an
( cd /usr/local/lib/`gcc -g -O2 -print-multi-os-directory` ; chmod 644 ./libiberty.an ;ranlib ./libiberty.an )
mv -f /usr/local/lib/`gcc -g -O2 -print-multi-os-directory`/./libiberty.an /usr/local/lib/`gcc -g -O2 -print-multi-os-directory`/./libiberty.a
if test -n ""; then \
          case "" in \
            /*)    thd=;; \
            *)     thd=/usr/local/include/;; \
          esac; \
          /bin/bash .././libiberty/../mkinstalldirs ${thd}; \
          for h in .././libiberty/../include/ansidecl.h .././libiberty/../include/demangle.h .././libiberty/../include/dyn-string.h .././libiberty/../include/fibheap.h .././libiberty/../include/floatformat.h .././libiberty/../include/hashtab.h .././libiberty/../include/libiberty.h .././libiberty/../include/objalloc.h .././libiberty/../include/partition.h .././libiberty/../include/safe-ctype.h .././libiberty/../include/sort.h .././libiberty/../include/splay-tree.h; do \
            /usr/bin/install -c -m 644 $h ${thd}; \
          done; \
        fi
make[3]: entrant dans le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty/testsuite »
make[3]: Rien à faire pour « install ».
make[3]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty/testsuite »
make[2]: quittant le répertoire « /home/doc212/Desktop/gdb-6.7.1/libiberty »

[...]

Voilà ... moi j'y comprends pas grand grand chose aux Makefile alors si qqun pouvait m'aider...

Voulant, le programme est installé et fonctionne mais c pour faire un truc un peu plus clean quand la nouvelle version sortira dans les dépots...

Merci

Dernière modification par doc212 (Le 12/11/2007, à 18:20)

Hors ligne

#2 Le 12/11/2007, à 18:30

brazzmonkey

Re : GNU Debugger : sudo make install marche mais pas checkinstall

ben oui, checkinstall ça marche pas pour toutes les sources…

Hors ligne

#3 Le 12/11/2007, à 21:02

doc212

Re : GNU Debugger : sudo make install marche mais pas checkinstall

Comment c'est tout ?

c'est un peu frustrant ...

par contre ya un autre truc qui m'est arrivé, je trouve ça assez louche ...

j'ai voulu essayer avec un autre programme, code-browser, que j'avais installé à  partir de la source.

je l'ai désinstallé avec make uninstall, ça a marché.

puis j'ai essayé sudo checkinstall -D et là , il a foiré aussi:

[...]
Installing with make install...

========================= Installation results ===========================
install -s code-browser /usr/local/bin
install -d /usr/local/share/code-browser
install -d /usr/local/share/code-browser/config
install -d /usr/local/share/code-browser/config-default
install -d /usr/local/share/code-browser/config-optional
install ./config/* /usr/local/share/code-browser/config/
install: la cible `/usr/local/share/code-browser/config/' n'est pas un répertoire: Aucun fichier ou répertoire de ce type
make: *** [install] Erreur 1

****  Installation failed. Aborting package creation.

Cleaning up...OK

Bye.

le fichier /usr/loca/bin/code-browser existait bien mais pas le répertoire /usr/local/share/code-browser

alors voilà  ce que j'ai fait, j'ai lancé un shell en root et puis :

root@server:~/Desktop/code-browser-2.18# install -d /usr/local/share/code-browser
root@server:~/Desktop/code-browser-2.18# install -d /usr/local/share/code-browser/config
root@server:~/Desktop/code-browser-2.18# install -d /usr/local/share/code-browser/config-default
root@server:~/Desktop/code-browser-2.18# install -d /usr/local/share/code-browser/config-optional
root@server:~/Desktop/code-browser-2.18# checkinstall

Et c'est passé ... c'est super bizarre non ? Il arrive pas à  créer les répertoires mais bien à  copier les fichiers ...

J'trouve ça assez louche comme truc ...

Dernière modification par doc212 (Le 12/11/2007, à 21:09)

Hors ligne