Pagina 1 di 1

errore compilazione prozilla - Slackware 12

Inviato: mer 4 lug 2007, 23:46
da danix
Ciao a tutti,
mi accodo (purtroppo) anche io alle segnalazioni di errori di compilazione riguardanti la Slackware 12, stavo ricompilando prozilla ma ho avuto un errore che non sono riuscito a decifrare, ve lo posto...

Codice: Seleziona tutto

mkdir .libs
ar cru .libs/libprozilla.a  connect.o connection.o debug.o download.o ftp.o ftpparse.o main.o misc.o netrc.o url.o http.o http-retr.o ftp-retr.o logfile.o ftpsearch.o ping.o
ranlib .libs/libprozilla.a
creating libprozilla.la
../libtool: line 5487: -e: command not found
../libtool: line 5502: -e: command not found
(cd .libs && rm -f libprozilla.la && ln -s ../libprozilla.la libprozilla.la)
make[4]: Leaving directory `/tmp/prozilla-2.0.4/libprozilla/src'
make[4]: Entering directory `/tmp/prozilla-2.0.4/libprozilla'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/tmp/prozilla-2.0.4/libprozilla'
make[3]: Leaving directory `/tmp/prozilla-2.0.4/libprozilla'
make[2]: Leaving directory `/tmp/prozilla-2.0.4/libprozilla'
Making all in src
make[2]: Entering directory `/tmp/prozilla-2.0.4/src'
if i486-slackware-linux-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I. -I.. -I../libprozilla/src -I../intl -I/usr/include  -fno-inline -DLOCALEDIR=\"/usr/share/locale\"   -Wall -ggdb -D_REENTRANT -MT main.o -MD -MP -MF ".deps/main.Tpo" \
          -c -o main.o `test -f 'main.cpp' || echo './'`main.cpp; \
        then mv -f ".deps/main.Tpo" ".deps/main.Po"; \
        else rm -f ".deps/main.Tpo"; exit 1; \
        fi
download_win.h:55: error: extra qualification 'DL_Window::' on member 'print_status'
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/tmp/prozilla-2.0.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/prozilla-2.0.4'
make: *** [all] Error 2
Qualcuno di voi ci capisce qualcosa??

Grazie mille per l'aiuto...

Inviato: gio 5 lug 2007, 0:05
da stan
Guarda se ti puo' servire:
http://linux.derkeiler.com/Mailing-List ... 05127.html

Io ho ancora la 11 e non posso provare

Inviato: gio 5 lug 2007, 0:31
da Luci0
Deve essere il nuovo compilatore ... comunque ho installato i binari di prozilla compilati per la 11.0 e funziona alla grande ...!!

Inviato: gio 5 lug 2007, 0:46
da danix
Luci0, hai installato quelli di slacky.eu??

Inviato: gio 5 lug 2007, 0:52
da albatros
Sì, dipende dal compilatore che non tollera più una cera sintassi.
Mi è già capitato, ma la soluzione è semplice.
Vedi:
http://wiki.frugalware.org/Extra_qualification_error

Inviato: gio 5 lug 2007, 1:12
da danix
ok albatros, ho risolto seguendo il link che mi hai postato, ma adesso come faccio a scrivere una patch per i sorgenti??

Grazie mille per l'aiuto...

Inviato: gio 5 lug 2007, 1:38
da danix
nel caso in cui qualcuno sia in grado di darmi una mano posto l'intera procedura che ho fatto per "patchare" il sorgente di prozilla:

scompattato prozilla-2.0.4.tar.bz2
cd in prozilla-2.0.4/src
modificato download_win.h come segue:
riga 55, da:
void DL_Window::print_status(download_t * download, int quiet_mode);
a
void print_status(download_t * download, int quiet_mode);

seguendo il suggerimento di albatros, poi ho ricompresso i sorgenti in tar.bz2 e ho lanciato lo slackbuild come al solito...

Spero mi potrete aiutare...

A presto...

Inviato: mer 11 lug 2007, 8:54
da Loris
Per fare una pezza facile facile, prendi i sorgenti li scompatti e rinomini la dir con un .src per esempio, modifichi il file, poi scompatti di nuovo i sorgenti in modo da avere due dir, una pulita e una con il file modificato e rinominata con il .src.
A questo punto da terminale usi diff in questo modo

Codice: Seleziona tutto

diff -urN dirpulita dirconifilemodificati > nomepezza.diff
ecco il risultato di prozilla

Codice: Seleziona tutto

diff -urN prozilla-2.0.4/src/download_win.h prozilla-2.0.4.src/src/download_win.h
--- prozilla-2.0.4/src/download_win.h	2006-02-08 18:18:59.000000000 +0100
+++ prozilla-2.0.4.src/src/download_win.h	2007-07-11 08:45:13.000000000 +0200
@@ -52,7 +52,7 @@
   void handle_joining_thread();
   void handle_dl_fatal_error();
   void cleanup(boolean erase_dlparts);
-  void DL_Window::print_status(download_t * download, int quiet_mode);
+  void print_status(download_t * download, int quiet_mode);
 
   connection_t *connection;
   download_t *download;
Dopo aggiungi allo SlackBuild la stringa per richiamare la patch es:

Codice: Seleziona tutto

zcat $CWD/extra-qualification.diff.gz | patch -p1 -E --backup --verbose
e lanci lo SlackBuild ;)

Dopo metto il pacchetto aggiornato così puoi fare le verifiche.
Ciao Loris