Problema con gio e file url

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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.
Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

Problema con gio e file url

Messaggioda d4z_c0nf » mer feb 22, 2012 15:28

Come da titolo.
Non riesco ad aprire file da url con gio.

Esempio in c e relativo errore:
example-gio.c

Codice: Seleziona tutto

#include <glib/gprintf.h>
#include <gio/gio.h>

int main(int argc, char **argv) {
  g_type_init();

  GError* error = NULL;
  GFile* file = NULL;
  GFileInputStream* fis = NULL;

  file = g_file_new_for_uri (argv[1]);

  fis = g_file_read (file, NULL, &error);
  if (error != NULL)
            g_printerr ("** ERROR **: %s (domain: %s, code: %d) at %d\n", \
                error->message, g_quark_to_string (error->domain), error->code, __LINE__);
  return 0;
}

Compilato con:

Codice: Seleziona tutto

gcc -o example-gio example-gio.c `pkg-config --libs --cflags gio-2.0`

Errore:

Codice: Seleziona tutto

 ./example-gio "http://www.angolodigitale.it/wp-content/uploads/2010/01/slackware_logo.png"
** ERROR **: Operation not supported (domain: g-io-error-quark, code: 15) at 16


Con pyton, da console di python:

Codice: Seleziona tutto

rock@localhost:~ $ python
iPython 2.6.6 (r266:84292, Nov 27 2010, 17:27:14)
[GCC 4.5.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gio
>>> gfile=gio.File("http://www.angolodigitale.it/wp-content/uploads/2010/01/slackware_logo.png")
>>> gfile.read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
gio.Error: Operation not supported

(Ovviamente l'indirizzo è casuale)

Sono in current e ho le multilib. Vorrei capire se è un problema della configurazione del mio sistema (current e/o multilib), o proprio
della versione delle glib. Ho portato gli esempi in python e in c, per escludere un problema con pygobject.

Chiunque ne avesse voglia, potrebbe provare sul proprio sistema per aiutarmi ad escludere qualcosa?
Grazie.

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

Re: Problema con gio e file url

Messaggioda d4z_c0nf » gio feb 23, 2012 11:19

Non credevo ad un tale successo di pubblico. :lol:
Probabilmente non mi sono spiegato, cerco solo qualcuno che abbia voglia di provare gli esempi che ho postato, per darmi la possibilità di capire da cosa dipende il fallimento sul mio sistema. Vanno bene anche distro diverse dalla slackware.

Thanks.

Avatar utente
conraid
Staff
Staff
Messaggi: 12737
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: Problema con gio e file url

Messaggioda conraid » ven feb 24, 2012 11:25

Mi da lo stesso errore, sia in c sia in python.

Slackware current 64bit, senza multilib

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

Re: Problema con gio e file url

Messaggioda d4z_c0nf » ven feb 24, 2012 11:28

Grazie corrado. :)
Il problema sarà proprio a monte con le glib2... aglia.

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun lug 25, 2005 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: Problema con gio e file url

Messaggioda masalapianta » ven feb 24, 2012 11:47

usando uri con file: funziona:

mini:/tmp# ./example-gio "file:/tmp/example-gio"
mini:/tmp#

probabilmente http non è supportato:

http://developer.gnome.org/gio/2.31/GFi ... ew-for-uri

This operation never fails, but the returned object might not support any I/O operation if uri is malformed or if the uri type is not supported.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2893
Iscritto il: mer feb 13, 2008 16:19
Slackware: current
Kernel: 3.14.23
Desktop: KDE4
Località: Bulagna
Contatta:

Re: Problema con gio e file url

Messaggioda 414N » ven feb 24, 2012 11:49

Ho fatto un paio di prove anch'io col codice C che hai postato.
Nella documentazione dell'operazione g_file_new_for_uri è scritto:
Constructs a GFile for a given URI. This operation never fails, but the returned object might not support any I/O operation if uri is malformed or if the uri type is not supported.

Provando a fare una prova con tipo URI diverso (file://) l'errore non si verifica più, percui direi proprio che non è supportato il tipo di URI http.
PS: ricordati di segnalare la fine dell'utilizzo di un puntatore ad un file tramite g_object_unref.
EDIT: battuto sul tempo :)

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

Re: Problema con gio e file url

Messaggioda d4z_c0nf » ven feb 24, 2012 12:04

@ masalapianta e 414N

Grazie ad entrambi.
Si lo so che con file normale funziona, proprio perchè non funziona proprio se l'uri è un url.

Quindi potrebbe essere un problema di versione delle glib2.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2893
Iscritto il: mer feb 13, 2008 16:19
Slackware: current
Kernel: 3.14.23
Desktop: KDE4
Località: Bulagna
Contatta:

Re: Problema con gio e file url

Messaggioda 414N » ven feb 24, 2012 13:46

Non credo proprio che esista una versione di glib che supporti le uri http.
Forse ti conviene passare a libcurl se intendi fare trasferimenti di file tramite http.

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

Re: Problema con gio e file url

Messaggioda d4z_c0nf » ven feb 24, 2012 14:07

414N ha scritto:Non credo proprio che esista una versione di glib che supporti le uri http.
Forse ti conviene passare a libcurl se intendi fare trasferimenti di file tramite http.


A me serve la possibilità di scaricare con gio, perchè un programma (exaile), lo richiede.
Se è come dici tu, forse mi manca qualche dipendenza, però non riesco a capire quale
possa essere.

In rete comunque si trovano esempi di file scaricati con gio.
Ti linko il primo esempio che mi viene fuori da google, tra l'altro usa python:
http://www.jonobacon.org/2010/03/15/dow ... nd-python/

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

Re: Problema con gio e file url

Messaggioda d4z_c0nf » ven feb 24, 2012 20:11

Aggiornamento:
Ho installato xubuntu11.10 su una macchina virtuale.
Testato l'esempio in python, stesso errore.
Ho proceduto agli aggiornamenti suggeritimi dal sistema, tra cui un pacchetto "gvfs-backends".
Lì funziona.
Ora io in slackware avevo già compilato e installato gvfs con supporto per http.
Su xubuntu gvfs sono alla versione 1.10, e io su slackware avevo messo la versione 1.08.
Vediamo se riesco a compilare la nuova versione...

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

Re: Problema con gio e file url

Messaggioda d4z_c0nf » ven feb 24, 2012 21:06

Ultimo aggiornamento.
Niente da fare gvfs dalla versione 1.9.2 in poi richiede glib2 => 2.29.14, e putroppo anche in current siamo a 2.28.6.
A questo punto chissà chi è il responsabile.

Grazie a tutti.


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti