Forum Linux.pl

Programowanie => Inne => Wątek zaczęty przez: 1709 w 2013-04-13, 13:18:04

Tytuł: bashdb
Wiadomość wysłana przez: 1709 w 2013-04-13, 13:18:04
Podjąłby się ktoś bezinteresownie naprawy programu bashdb ?
http://sourceforge.net/projects/bashdb/files/bashdb/4.2-0.8/
Oraz żeby napisał jak to zrobił by inni się na przykładzie uczyli.

Chodzi o to, że podczas użycia komendy ./configure
mam taki błąd:
config.status: executing libtool commands
/bin/rm: cannot remove `libtoolT': No such file or directory
config.status: executing depfiles commands
config.status: executing default commands
Ja chciałem ale mam za małą wiedzę i dopiero czytam o autoconf i automake.

Jedyne co ciekawe na temat błędu znalazłem to:
http://lists.gnu.org/archive/html/bug-libtool/2010-03/msg00017.html
https://issues.apache.org/bugzilla/show_bug.cgi?id=51726

Próbowałem też autoreconf według tego poradnika, ale nie widze by mi to naprawiło
bo ciągle w pewnym momencie mi pisze przy "make" ze wchodzi do katalogu, nie ma nic do zrobienia i wychodzi.
http://lxsym.blog.51cto.com/1364623/421605
Tytuł: bashdb
Wiadomość wysłana przez: Paweł Kraszewski w 2013-04-14, 00:01:43
No dobra, pokazuje tego warninga ale normalnie działa. W czym problem?

pawel@i7 [~/Pobrane/bashdb-4.2-0.8] 0 $> ./configure 
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
[...]
config.status: executing libtool commands
/bin/rm: cannot remove 'libtoolT': No such file or directory
config.status: executing depfiles commands
[...]
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Location: /bin/bash

pawel@i7 [~/Pobrane/bashdb-4.2-0.8] 0 $> make
make  all-recursive
make[1]: Wejście do katalogu `/home/pawel/Pobrane.wszystkie/2013-04-13/bashdb-4.2-0.8'
Making all in command
[...]
make[2]: Opuszczenie katalogu `/home/pawel/Pobrane.wszystkie/2013-04-13/bashdb-4.2-0.8'
make[1]: Opuszczenie katalogu `/home/pawel/Pobrane.wszystkie/2013-04-13/bashdb-4.2-0.8'

pawel@i7 [~/Pobrane/bashdb-4.2-0.8] 0 $> ./bashdb ./configure
bash debugger, bashdb, release 4.2-0.8

Copyright 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Rocky Bernstein
This is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.

Reading /home/pawel/Pobrane/bashdb-4.2-0.8/configure (/home/pawel/Pobrane/bashdb-4.2-0.8/configure:20):
20:     DUALCASE=1; export DUALCASE # for MKS sh
bashdb<0>
bashdb: That's all, folks...
Można ewentualnie na koniec zrobić make install.
Tytuł: bashdb
Wiadomość wysłana przez: 1709 w 2013-04-14, 07:31:19
Cytuj
No dobra, pokazuje tego warninga ale normalnie działa. W czym problem?
Może faktycznie z pośpiechu "make install" wpisałem bez uprawnień root,
ale gdy wchodzi do katalogu i nic nie robi to nie pomija czegoś?

make install
# make install
Making install in command
make[1]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command'
Making install in info_sub
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/info_sub'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/info_sub'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
test -z "/usr/local/share/bashdb/command/info_sub" || /bin/mkdir -p "/usr/local/share/bashdb/command/info_sub"
 /usr/bin/install -c -m 644 args.sh breakpoints.sh display.sh files.sh functions.sh handle.sh line.sh program.sh signals.sh source.sh stack.sh variables.sh warranty.sh watchpoints.sh '/usr/local/share/bashdb/command/info_sub'
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/info_sub'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/info_sub'
Making install in set_sub
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/set_sub'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/set_sub'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
test -z "/usr/local/share/bashdb/command/set_sub" || /bin/mkdir -p "/usr/local/share/bashdb/command/set_sub"
 /usr/bin/install -c -m 644 annotate.sh args.sh autoeval.sh autolist.sh basename.sh debugging.sh debug.sh different.sh dollar0.sh editing.sh highlight.sh history.sh linetrace.sh listsize.sh prompt.sh showcommand.sh trace-commands.sh width.sh '/usr/local/share/bashdb/command/set_sub'
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/set_sub'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/set_sub'
Making install in show_sub
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/show_sub'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/show_sub'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
test -z "/usr/local/share/bashdb/command/show_sub" || /bin/mkdir -p "/usr/local/share/bashdb/command/show_sub"
 /usr/bin/install -c -m 644 alias.sh annotate.sh args.sh autoeval.sh autolist.sh basename.sh commands.sh copying.sh debug.sh different.sh directories.sh editing.sh highlight.sh history.sh listsize.sh prompt.sh version.sh warranty.sh width.sh '/usr/local/share/bashdb/command/show_sub'
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/show_sub'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command/show_sub'
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
test -z "/usr/local/share/bashdb/command" || /bin/mkdir -p "/usr/local/share/bashdb/command"
 /usr/bin/install -c -m 644 action.sh alias.sh backtrace.sh break.sh clear.sh commands.sh complete.sh condition.sh continue.sh debug.sh delete.sh disable.sh display.sh down.sh edit.sh enable.sh eval.sh examine.sh export.sh file.sh finish.sh frame.sh handle.sh help.sh history.sh info.sh kill.sh list.sh load.sh log.sh next.sh pwd.sh quit.sh return.sh run.sh search.sh set.sh shell.sh show.sh signal.sh '/usr/local/share/bashdb/command'
 /usr/bin/install -c -m 644 skip.sh source.sh step.sh trace.sh tty.sh undisplay.sh untrace.sh up.sh watch.sh '/usr/local/share/bashdb/command'
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command'
make[1]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/command'
Making install in builtin
make[1]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/builtin'
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/builtin'
test -z "/usr/local/share/bashdb/builtin" || /bin/mkdir -p "/usr/local/share/bashdb/builtin"
test -z "/usr/local/share/bashdb/builtin" || /bin/mkdir -p "/usr/local/share/bashdb/builtin"
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/builtin'
make[1]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/builtin'
Making install in init
make[1]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/init'
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/init'
make[2]: Nie ma nic do zrobienia w `install-exec-am'.
test -z "/usr/local/share/bashdb/init" || /bin/mkdir -p "/usr/local/share/bashdb/init"
 /usr/bin/install -c -m 644 io.sh opts.sh pre.sh require.sh vars.sh '/usr/local/share/bashdb/init'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/init'
make[1]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/init'
Making install in lib
make[1]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/lib'
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/lib'
make[2]: Nie ma nic do zrobienia w `install-exec-am'.
test -z "/usr/local/share/bashdb/lib" || /bin/mkdir -p "/usr/local/share/bashdb/lib"
 /usr/bin/install -c -m 644 action.sh alias.sh break.sh cmd-hooks.sh columnize.sh commands.sh complete.sh dbg-call.sh display.sh filecache.sh file.sh fns.sh frame.sh help.sh hist.sh hook.sh info.sh journal.sh list.sh msg.sh processor.sh run.sh save-restore.sh setshow.sh shell.sh sig.sh sort.sh stepping.sh subcmd.sh validate.sh term-highlight.py '/usr/local/share/bashdb/lib'
make  install-data-hook
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/lib'
chmod +x /usr/local/share/bashdb/lib/term-highlight.py
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/lib'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/lib'
make[1]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/lib'
Making install in data
make[1]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/data'
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/data'
make[2]: Nie ma nic do zrobienia w `install-exec-am'.
test -z "/usr/local/share/bashdb/data" || /bin/mkdir -p "/usr/local/share/bashdb/data"
 /usr/bin/install -c -m 644 shell.sh '/usr/local/share/bashdb/data'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/data'
make[1]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/data'
Making install in doc
make[1]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/doc'
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/doc'
make[2]: Nie ma nic do zrobienia w `install-exec-am'.
test -z "/usr/local/share/info" || /bin/mkdir -p "/usr/local/share/info"
 /usr/bin/install -c -m 644 ./bashdb.info '/usr/local/share/info'
 install-info --info-dir='/usr/local/share/info' '/usr/local/share/info/bashdb.info'
test -z "/usr/local/share/man/man1" || /bin/mkdir -p "/usr/local/share/man/man1"
 /usr/bin/install -c -m 644 bashdb.1 '/usr/local/share/man/man1'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/doc'
make[1]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/doc'
Making install in test
make[1]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test'
Making install in unit
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/unit'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/unit'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
make[3]: Nie ma nic do zrobienia w `install-data-am'.
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/unit'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/unit'
Making install in data
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/data'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/data'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
make[3]: Nie ma nic do zrobienia w `install-data-am'.
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/data'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/data'
Making install in example
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/example'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/example'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
make[3]: Nie ma nic do zrobienia w `install-data-am'.
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/example'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/example'
Making install in integration
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/integration'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/integration'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
make[3]: Nie ma nic do zrobienia w `install-data-am'.
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/integration'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test/integration'
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test'
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test'
make[3]: Nie ma nic do zrobienia w `install-exec-am'.
make[3]: Nie ma nic do zrobienia w `install-data-am'.
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test'
make[1]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8/test'
make[1]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8'
make[2]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8'
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
 /usr/bin/install -c bashdb '/usr/local/bin'
test -z "/usr/local/share" || /bin/mkdir -p "/usr/local/share"
test -z "/usr/local/share/bashdb" || /bin/mkdir -p "/usr/local/share/bashdb"
 /usr/bin/install -c -m 644 dbg-main.sh dbg-set-d-vars.inc bashdb-main.inc bashdb-trace bashdb-part2.sh getopts_long.sh '/usr/local/share/bashdb'
make  install-data-hook
make[3]: Wejście do katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8'
test -d /usr/local/share/bashdb || /bin/mkdir -p /usr/local/share/bashdb
make[3]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8'
make[2]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8'
make[1]: Opuszczenie katalogu `/home/gg/Pobrane/bash debug/bashdb-4.2-0.8'
Bo sam program jako tako działa, tylko mam wątpliwości czy czegoś nie pominął z powodu błędu lub warninga cokolwiek to jest, bo nie pisze.

Edit:
Trochę mnie olśniło  z tymi linkami wyżej i w tym co znalazłem w configure.ac i poszukałem przykłac z plikiem configure.ac wpisując fragment w google
"Ac AC_PATH_PROG(RM"
i znalazłem
http://sourceforge.net/p/djvu/djvulibre-git/ci/b78ac1f482416d2d2dbded5c287342a75e386c08/tree/configure.ac?barediff=


Sokorzystałem z wyszukiwarki w przeglądarce by znaleść na stronie fragment z "rm",
znalazłem.
Skopiowałem fragment
-# tweak rm to make libtool happy
-AC_PATH_PROG(RM, rm)
-RM="$RM -f"
i podmieniłem z linijką "AC_PATH_PROG(RM, rm, true)" oraz usunełem "-" z przodu.
a potem już tylko leciałem komend w konsoli
autoheader
touch NEWS README AUTHORS ChangeLog
aclocal
autoconf
automake --add-missing --copy
Komendy wziełem z poradnika który znalazłem próbując zgłębić temat plików configure.
http://www.drumlin.republika.pl/auto.html

Druga rzecz która mnie zmyliła to czesto przy wykonywaniu skryptów ./configure prawie zawsze miałem "Configuration is done" tutaj tego nie będzie ponieważ nie jest to uwzględnione w plikach configure, zamiast tego akurat w pliku configure.ac
jest na końcu
AC_OUTPUT
echo
echo "========================================================="
echo "Bash version: $bash_version"
echo "Location: $SH_PROG"
Co daje w konsoli mniej więcej...

Cytuj
=========================================================
Bash version: GNU bash, version...
I mam takie pytanie po co jest to "-" i "+" na początku linijek bo w bashdb w pliku configure.ac tego nie mam.

Przykład:
Cytuj
+AC_INIT(djvu, 3.5)
+AC_REVISION($Id$)
 AC_CONFIG_AUX_DIR(config)
-AC_CONFIG_MACRO_DIR(config)
Edit:
0 $> Dziekuję
Tytuł: bashdb
Wiadomość wysłana przez: Paweł Kraszewski w 2013-04-14, 22:39:46
Dalej się czepiasz.
W swoim logu make install masz między innymi linijkę
(...)
/usr/bin/install -c bashdb '/usr/local/bin'
(...)
, więc wszystko powinno być OK. Na siłę szukasz błędu, gdzie go nie ma...
Tytuł: bashdb
Wiadomość wysłana przez: 1709 w 2013-04-14, 23:55:19
Przepraszam, ale z powodu mizernej wiedzy widocznie potrzebowałem takiej osoby by mi to uświadomiła :D

To szukanie w google trochę nawet mi się spodobało xD
choć to czasochłonna robota.

- W pliku configure.ac przesunięcie AM_INIT_AUTOMAKE przed
AC_PROG_CC
usuwa komunikat
Cytuj
configure: WARNING: `missing' script is too old or missing
- edytowanie lini 7497 w pliku configure ( w pliku confugure.ac nie znalazłem )
 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \\
zaminiłem na
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null \\
i komunikatu nie ma
Cytuj
./configure: line 7497: : supported targets:.* elf: command not found
, aczkolwiek nie rozumiem skąd ten błąd bo
wyżej miałem taką linijkę
 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
i żadnego komunikatu z błędem.