Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Non sono riuscito, purtroppo, a risolvere....
Da cosa può dipendere?
dipende dal fatto che la libreria readline e` compilata con il supporto per curses, infatti i simboli non definiti appartengono tutti a quella libreria.
Per risolvere il problema basta aggiungere un -lcurses in fondo alla riga del Makefile in cui viene definito LIBS. Puoi anche farlo da uno slackbuild con patch.
e fai attenzione a che nell'elenco delle librerie linkate prima dell'errore ci sia anche quella direttiva.
Spina
P.S. Benvenuto anche da parte mia asdrubale
Linux Registered User #454438 Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama 20/04/2013 - Io volevo Rodotà
Zapotech ha scritto:...E comunque, come da te suggerito, quando si verifica l'errore non appare mai un riferimento a -lcurses o a -lncurses.
Anche io penso che il problema sia quello suggerito da asdrubale.
Purtroppo non ho le dipendenze per provare da me, dovresti provare a rilanciare il configure come segue aggiungendo alla variabile 'CFLAGS' o 'CXXFLAGS', a seconda se si usa gcc o g++, la direttiva '-lncurses'. Ad esempio:
In questo modo dovresti essere tranquillo sul fatto che ogni gcc venga eseguito linkando la libreria,
Spina
Linux Registered User #454438 Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama 20/04/2013 - Io volevo Rodotà
# ===========================================================================
# http://autoconf-archive.cryp.to/vl_lib_readline.html
# ===========================================================================
#
# SYNOPSIS
#
# VL_LIB_READLINE
#
# DESCRIPTION
#
# Searches for a readline compatible library. If found, defines
# `HAVE_LIBREADLINE'. If the found library has the `add_history' function,
# sets also `HAVE_READLINE_HISTORY'. Also checks for the locations of the
# necessary include files and sets `HAVE_READLINE_H' or
# `HAVE_READLINE_READLINE_H' and `HAVE_READLINE_HISTORY_H' or
# 'HAVE_HISTORY_H' if the corresponding include files exists.
#
# The libraries that may be readline compatible are `libedit',
# `libeditline' and `libreadline'. Sometimes we need to link a termcap
# library for readline to work, this macro tests these cases too by trying
# to link with `libtermcap', `libcurses' or `libncurses' before giving up.
#
# Here is an example of how to use the information provided by this macro
# to perform the necessary includes or declarations in a C file:
...ed il mistero, in effetti, è che il "configure" termina correttamente senza rilevare errori!
Potresti postare di nuovo l'errore del make dopo che hai impostato il CFLAG al configure? Hai provato a passargli anche libtermcap? Con '-ltermcap'?
Spina
Linux Registered User #454438 Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama 20/04/2013 - Io volevo Rodotà
Ottengo lo stesso output di make, sia con il link a "curses", sia con il link a "ncurses".
Questo, invece, è il frammento di output del configure (con i link a "ncurses" e "termcap") per la parte relativa a "readline".
(Tale ouput non cambia linkando a "curses", invece che a "ncurses")
CPPFLAGS='-lncurses -ltermcap' configure && make clean && make
La cosa che mi spiace e che non prosso provare io stesso ma che devo farti sbattere a te
Spina
Linux Registered User #454438 Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama 20/04/2013 - Io volevo Rodotà
mi sa che l'hai messo nel makefile sbagliato. Il problema e` in src/gui/Makefile e nella mia versione la riga incriminata e`la 22. Ecco il file .diff che uso per fare la patch:
Come avrai notato, io uso --without-kde, quindi puo` darsi che il mio src/gui/Makefile sia leggermente diverso dal tuo e la riga che definisce LIBS non sia esattamente la 22.
PS: Ho notato che è il tuo primo messaggio.....Benvenuto nel Forum!
asdrubale potresti provare il comando che ho scritto nel post precedente? Magari risolvete il problema senza quella patch che non è una patch
Spina
Linux Registered User #454438 Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama 20/04/2013 - Io volevo Rodotà
... con una sfilza di
"g++: -lncurses: linker input file unused because linking not done
g++: -ltermcap: linker input file unused because linking not done"
...nel frattempo sto provando con "-lcurses" alla riga 22 del src/gui/Makefile....
(il numero di riga corrsisponde anche senza --without-kde)