Ieri ho avviato per la prima volta l'installazione di G3 in fedora. Il comando
si è concluso apparentemente bene, però al primo avvio di Gambas3 e la successiva apertura del sorgente del mio programma. ho ricevuto un messaggio di errore a causa del mancato caricamento di alcuni componenti: gb.compress, gb.deb.sqlite3, gb.pdf, gb.report
Sono rimasto più che sorpreso! :o :o Un'esperienza del genere, in fedora non l'avevo mai vissuta prima d'ora. la versione installata è gambas3-2.99.1, più recente rispetto a quella che ho installato in Sabayon, partendo dai sorgenti (Gambas3.1.1)
Perchè mancano i componenti elencati sopra se la versione installata in fedora è successiva a quella installata in Sabayon. Com faccio per aggiungere anche i componenti mancanti? Ulteriotre domanda. Posso inserire nel comando Yum il percorso fino alla directory di destinazione del G3 da installare? Ho provato con: # yum install Gambas3 /home/piero/Gambas3
ma il comando è stato rigettato. :-[
:(
Ultime da "Yum install gambas3*". Ultime notizieeeeeee!
Dopo avere rimosso l'ultimo gambas3, ho riprovato l'installazione con :
[root@localhost gambas3-]# yum install gambas3*
però, come potrai constatare dalle ultime righe della funzione di installazione Yum, ho ricevuto un messaggio di errore causato da un conflitto con la versione già installata e funzionante di Gambas2:
Total 222 kB/s | 3.0 MB 00:13
Running Transaction Check
Running Transaction Test
Transaction Check Error:
file /usr/share/mime/packages/application-x-gambasscript.xml from install of gambas3-scripter-3.1.1-2.fc16.x86_64 conflicts with file from package gambas2-script-2.23.1-5.fc16.x86_64
Error Summary
-------------
Sembrerebbe che ci sia bisogno di rimuovere la versione di gambas2.23.1-5.fc16.x86_64. Non ci posso credere. ???
Ripetendo però l'installazione con: [root@localhost gambas3-]# yum install gambas3
, l'installazione va avanti fino alla fine, ma manca di alcuni componenti. Ora sono ancora più :o
Ciao.
Ma perchè, poi, non riesco ad eseguire l'installazione nella directory che ho definito io prima di lanciare yum?
[root@localhost ~]# mkdir /home/piero/gambas3-
[root@localhost ~]# cd /home/piero/gambas3-
[root@localhost gambas3-]# yum install gambas3
e mei ritrovo sempre i file installati in:
/home/piero/mnt/.Trash-1000/files/gambas3-2.99.1.trashinfo
/home/piero/mnt/.Trash-1000/files/gambas3.desktop.trashinfo
??? ???
Ciao.
Le dipendenze sono un mucchio di librerie indipendenti, che vengono installate in directory differenti. Non sono legate a Gambas, ma è Gambas che è legato ad esse...
I comandi esatti sono:
./reconf-all
./configure -C --prefix=/usr #per Fedora
make
make install #come utente root
Fai attenzione alle maiuscole/minuscole.
Per disinstallare:
make uninstall #come utente root
Ooooh! Che sbadato. Scusa per averti fatto perdere del tempo, ma mi sono reso conto solo opra di essere annegato in mezzo bicchier d'acqua. Si ricordo perfettamente i comandi che mi ha riproposto per l'installazione di G3 partendom dai sorgenti. Ho aggiustato il tiro e ripetuto il comando:
[piero@localhost gambas3-2.99.1]$ ./reconf-all
che però produce il seguente errore:
./reconf-all: line 7: libtoolize: command not found
./reconf-all: line 8: autoreconf: command not found
La directory gambas3-2.99.1 contiene:
[piero@localhost gambas3-2.99.1]$ ls
acinclude.m4 examples gb.image.imlib INSTALL
aclocal.m4 gb.cairo gb.image.io install-sh
app gb.compress.bzlib2 gb.net main
AUTHORS gb.compress.zlib gb.net.curl Makefile.am
ChangeLog gb.crypt gb.net.smtp Makefile.in
comp gb.db.mysql gb.opengl missing
component.am gb.db.odbc gb.pcre NEWS
config.guess gb.db.postgresql gb.pdf README
config.h.in gb.db.sqlite2 gb.qt4 README.svn-commit
config.sub gb.db.sqlite3 gb.sdl reconf
configure.ac gb.dbus gb.sdl.sound reconf-all
COPYING gb.desktop gb.v4l TEMPLATE
depcomp gb.gtk gb.xml TODO
[piero@localhost gambas3-2.99.1]$
A sua volta il file reconf-all contiene:
#!/bin/sh
rm -f config.cache
rm -f acconfig.cache
rm -f libtool */libtool
libtoolize --force --copy --nonrecursive
autoreconf -v --install $@
Sembra che manchino i comandilibtoolize e autoreconf. Eppure dovrebbero esserci.
:(
Sono 10.000euri...faccio fattura? ;D
Per poter compilare qualsiasi cosa su Linux/Unix devi scaricare gli strumenti di sviluppo (gcc, libtool, automake, autoconf, ecc.).
Se non vado errato anche nella doc di gambas c'è un elenco minimale dei pacchetti da scaricare.
In Fedora puoi trovare il tutto nel gruppo "Strumenti di sviluppo".
Si, ho guardato e riguardato gli "Strumenti di sviluppo", e finalmente oggi sono riuscito ad eseguirne l'installazione con il comando:
yum groupinstall "Development Tools" "Development Libraries"
Poi ho avviato i soliti
[piero@localhost gambas3-sorgenti]$ ./reconf-all
[piero@localhost gambas3-sorgenti]$ ./configure -C
ottenendo alla fine i seguenti errori:
||
|| THESE COMPONENTS ARE DISABLED:
|| - gb.cairo
|| - gb.db.mysql
|| - gb.db.odbc
|| - gb.db.postgresql
|| - gb.db.sqlite2
|| - gb.db.sqlite3
|| - gb.desktop
|| - gb.gtk
|| - gb.image.imlib
|| - gb.image.io
|| - gb.opengl
|| - gb.pcre
|| - gb.pdf
|| - gb.qt4
|| - gb.sdl
|| - gb.sdl.sound
|| - gb.v4l
||
e qui francamente non capisco perchè nella directory di esecuzione dei comandi precedenti sono già presenti tutte le sottodirectory i c ui componenti sono stati dichiarati come "disabilitati". ???
[piero@localhost gambas3-sorgenti]$ ls
acinclude.m4 configure.ac gb.image.imlib main
aclocal.m4 COPYING gb.image.io Makefile
app depcomp gb.net Makefile.am
AUTHORS examples gb.net.curl Makefile.in
autom4te.cache gb.cairo gb.net.smtp missing
ChangeLog gb.compress.bzlib2 gb.opengl NEWS
comp gb.compress.zlib gb.pcre README
component.am gb.crypt gb.pdf README.svn-commit
config.cache gb.db.mysql gb.qt4 reconf
config.guess gb.db.odbc gb.sdl reconf-all
config.h gb.db.postgresql gb.sdl.sound stamp-h1
config.h.in gb.db.sqlite2 gb.v4l TEMPLATE
config.log gb.db.sqlite3 gb.xml TODO
config.status gb.dbus INSTALL warnings.log
config.sub gb.desktop install-sh
configure gb.gtk ltmain.sh
[piero@localhost gambas3-sorgenti]$
Tanto per citare uno dei processi di configurazione finiti in errore, riporto la messaggistsica prodotta per la configurazione di gb.image.imlib :
=== configuring in gb.image.imlib (/home/piero/gambas3-sorgenti/gb.image.imlib)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/usr/local' --cache-file=../config.cache --srcdir=.
configure: loading cache ../config.cache
checking for a BSD-compatible install... (cached) /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p
checking for gawk... (cached) gawk
checking whether make sets $(MAKE)... (cached) yes
checking build system type... (cached) x86_64-unknown-linux-gnu
checking host system type... (cached) x86_64-unknown-linux-gnu
checking for style of include used by make... GNU
checking for gcc... (cached) gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... (cached) o
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether ln -s works... yes
checking target system... LINUX
checking target architecture... X86_64
checking how to run the C preprocessor... (cached) gcc -E
checking for g++... (cached) g++
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking dependency style of g++... (cached) gcc3
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether make sets $(MAKE)... (cached) yes
checking for long double with more range or precision than double... (cached) yes
checking for setenv... (cached) yes
checking for unsetenv... (cached) yes
checking for getdomainname... (cached) yes
checking for getpt... (cached) yes
checking for cfmakeraw... (cached) yes
checking for main in -lgcc_s... (cached) yes
checking for main in -lstdc++... (cached) yes
checking which extension is used for shared libraries... .so
checking for threading compiler options... -D_REENTRANT
checking for threading linker options... -lpthread
checking for mathematic libraries... -lm
checking for external gettext library...
checking for ccache... (cached) /usr/bin/ccache
checking CFLAGS for gcc -fvisibility=hidden... (cached) -fvisibility=hidden
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /bin/sed
checking for grep that handles long lines and -e... (cached) /bin/grep
checking for egrep... (cached) /bin/grep -E
checking for fgrep... (cached) /bin/grep -F
checking for ld used by gcc... (cached) /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... (cached) yes
checking for BSD- or MS-compatible name lister (nm)... (cached) /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... (cached) BSD nm
checking the maximum length of command line arguments... (cached) 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... (cached) func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... (cached) func_convert_file_noop
checking for /usr/bin/ld option to reload object files... (cached) -r
checking for objdump... (cached) objdump
checking how to recognize dependent libraries... (cached) pass_all
checking for dlltool... (cached) dlltool
checking how to associate runtime and link libraries... (cached) printf %s\n
checking for ar... (cached) ar
checking for archiver @FILE support... (cached) @
checking for strip... (cached) strip
checking for ranlib... (cached) ranlib
checking command to parse /usr/bin/nm -B output from gcc object... (cached) ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... (cached) no
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for dlfcn.h... (cached) yes
checking for objdir... (cached) .libs
checking if gcc supports -fno-rtti -fno-exceptions... (cached) no
checking for gcc option to produce PIC... (cached) -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... (cached) yes
checking if gcc static flag -static works... (cached) no
checking if gcc supports -c -o file.o... (cached) yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... (cached) no
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dlopen... (cached) no
checking for dlopen in -ldl... (cached) yes
checking whether a program can dlopen itself... (cached) yes
checking whether a statically linked program can dlopen itself... (cached) yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... (cached) g++ -E
checking for ld used by g++... (cached) /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... (cached) -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... (cached) yes
checking if g++ static flag -static works... (cached) no
checking if g++ supports -c -o file.o... (cached) yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for Image routines based on the Imlib2 library component with pkg-config... no
configure: WARNING: Image routines based on the Imlib2 library is disabled
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
||
|| Image routines based on the Imlib2 library is disabled
||
per la fattura, purtroppo dovrai aspettare che io capisca come risalire al concetto di eliminazione errore e, quindi, risolvere le anomalie occorse. :D
Il che, come puoi ben immaginare, non mi sarà assolutamente nè facile, nè breve. ;)
:ciao: