Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/05/2013, à 16:38

versleouest

[Résolu] Gnumeric 1.12.1: fonctions manquantes

Bonsoir,

avec Ubuntu 13.04 j'ai installé Gnumeric 1.12.1.

La formule 'countif' est inclue dans la liste des fonctions (sous mathématique), mais ne semble pas présente quand je compose une expression

=countif(range, expression)

dans une de mes cellules. Peut quelqu'un confirmer ou contredire ?

Si je traduis le message d'erreur en Français, il dit quelque chose comme 'l'implémentation de la fonction n'est pas disponible'.

Ben, j'ai vite-fait programmé deux fonctions en Python qui remplacent 'countif', seulement, l'interface python ne permet pas que je manipule les 'ranges' d'une manière confortable. Alors, si quelqu'un a le même problème, que 'countif' ne fonctionne pas, ceci marche:

def func_count_in_row(row, expr):
	count = 0
	wb = workbooks()[0]
	s = wb.sheets()[0]
	for col in range(1, 200):
		val = s[col, int(row) - 1].get_value()
		if val and expr == str(val):
			count += 1
	return count

def func_count_in_col(col, expr):
	count = 0
	wb = workbooks()[0]
	s = wb.sheets()[0]
	for row in range(0, 1000):
		val = s[int(col) - 1, row].get_value()
		if val and expr == str(val):
			count += 1
	return count

Pour les exemples suivants, il faut ajouter un 'mapping' et déclarer les fonctions dans "plugin.xml".

'py_count_in_col': ('fs','col, expr',func_count_in_col),
'py_count_in_row': ('fs','row, expr',func_count_in_row),
	
<function name="py_count_in_col"/>			
<function name="py_count_in_row"/>

   
Utilisation:

=py_count_in_col(col(); 'x')

compte tout les 'x' dans la colonne actuelle

=py_count_in_row(row(); 'x')

compte dans la ligne actuelle.

Ce n'est pas super, et je préférais 'countif'...
Merci.

Dernière modification par versleouest (Le 27/05/2013, à 08:43)


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne

#2 Le 17/05/2013, à 19:10

Domeee

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Bonsoir,
très fâcheux ce problème…
A tout hasard, ça ne serait pas une histoire de traduction des fonctions en français ? countif => nb_si comme dans les autres tableurs francisés.
Y'a eu un gros pataquès du genre chez libreoffice dans les versions 3.3 / 3.4 l'an dernier, avec des fonctions en français, d'autres en anglais et bien évidemment la doc n'était pas à jour et ne correspondait pas à ce qui était implémenté.

Hors ligne

#3 Le 17/05/2013, à 21:23

versleouest

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Bonsoir Domeee,

en fait, mes ordinateurs parlent l'allemand (voir mon pseudo) et les fonctions sont entièrement listés en anglais, aussi ceux dont je me sers déjà. Un problème de traduction semble exclut, même si je n'ai pas de preuve. D'ailleurs, un autre utilisateur de Gnumeric m'a déjà confirmé que chez lui, «countif» fonctionne. C'est pour ça, que je crois d'avoir trouvé un problème spécifique au paquet qui est fourni par Ubuntu... :-(

Pour l'instant, je me débrouille bien avec Python.

Dernière modification par versleouest (Le 17/05/2013, à 21:24)


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne

#4 Le 18/05/2013, à 08:05

jbrefort

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Est-ce que les autres fonctions mathématiques fonctionnent ? Le plugin n'est peut-être pas activé ?

Hors ligne

#5 Le 18/05/2013, à 12:27

versleouest

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

jbrefort a écrit :

Est-ce que les autres fonctions mathématiques fonctionnent ? Le plugin n'est peut-être pas activé ?

Non. Oui.
T'as raison, j'aurais du en parler. Mais les plugins sont actifs. Copie d'écran: 1368876342.png

Dernière modification par versleouest (Le 18/05/2013, à 12:43)


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne

#6 Le 18/05/2013, à 13:52

jbrefort

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Si le plugin est correctement installé, il doit y avoir un fichier avec l'adresse : /usr/lib/gnumeric/1.12.1/plugins/fn-math/plugin.so
Est-ce que les autres fonctions présentent les mêmes symptômes ou est-ce juste ce plugin ?

Hors ligne

#7 Le 20/05/2013, à 22:50

versleouest

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Bonsoir,

les plugins math et statistique ne marchent pas, même si les fichiers plugin.so et plugin.xml sont présents dans les dossiers fn-math et fn-stat. Les autres fonctions semblent okay, mais je ne peux pas tout tester.

P.S.: Peut-être vous pouvez me fournir la SHA-sum d'une bibliothèque qui fonctionne chez vous ? Bon, après il faudrait se demander pourquoi je n'arrive pas de l'installer des ressources d'Ubuntu...

Dernière modification par versleouest (Le 20/05/2013, à 22:58)


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne

#8 Le 21/05/2013, à 08:58

jbrefort

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Voila ce que j'obtiens (dans debian sid) :

$ shasum /usr/lib/gnumeric/1.12.1/plugins/fn-math/plugin.so
561a2aaf8fe9c5ec792aafdc95ef8454f3167c6c  /usr/lib/gnumeric/1.12.1/plugins/fn-math/plugin.so

Est-ce que la fonction rand() fonctionne ? Je ne vois vraiment pas comment certains plugins fonctionneraient et pas d'autre. C'est le même code pour tous.

Hors ligne

#9 Le 21/05/2013, à 15:23

versleouest

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

rand() fonctionne. Mais je ne trouve pas cette fonction dans le module «mathématique».

Au même temps, je vois que product fonctionne aussi, et que c'est la seule fonction sous «mathématique» qui a un commentaire explicatif. Les autres n'en ont pas et l'absence du commentaire semble relié au fait qu'une fonction n'est pas disponible. Copie d'écran.
Derrière, dans le tableau, à gauche, rand() et product(4,5) produisent des valeurs. Le message à droite explique de nouveau, que l'implémentation de power() n'est pas trouvé.

1369145805.png


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne

#10 Le 21/05/2013, à 18:52

jbrefort

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Ah, c'est un indice intéressant, j'ai quelques fonctions d'un module externe qui présentent le même problème depuis peu de temps, je vais essayer de comprendre ce qui se passe.

Hors ligne

#11 Le 21/05/2013, à 20:03

versleouest

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

D'ailleurs, j'avais oublié:

~$ shasum /usr/lib/gnumeric/1.12.1/plugins/fn-math/plugin.so
071ca0ad4aea7a424b6e4fd9574fc2484561da60  /usr/lib/gnumeric/1.12.1/plugins/fn-math/plugin.so

Ce qui ne change pas après une réinstallation de Gnumeric.


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne

#12 Le 26/05/2013, à 06:28

jbrefort

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Est-ce qu'il y a un message dans le terminal si tu lances gnumeric avec, ou alors dans .xsessions_errors. Pour les fonctions présentant ce problème, j'obtiens :
E Module "/usr/local/lib/gnumeric/1.12/plugins/gchemutils/plugin" was built with version 1.12.2 of gnumeric, but this executable supplied version 1.12.3.

Hors ligne

#13 Le 26/05/2013, à 23:48

versleouest

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Bingo... ou presque Bingo:

E Die Modul-Datei »/usr/lib/gnumeric/1.12.1/plugins/fn-math/plugin« kann nicht geöffnet werden.
  E /usr/lib/gnumeric/1.12.1/plugins/fn-math/plugin.so: undefined symbol: go_linear_solve_multiple

«Le fichier du module »/usr/lib/gnumeric/1.12.1/plugins/fn-math/plugin« ne peut pas être ouvert.»

Ce n'est pas la même chose, mais "undefined symbol" je comprends quand même... ce module est simplement défectueux. Il a le droit de planter et j'ai le droit de me plaindre.

Merci.


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne

#14 Le 27/05/2013, à 07:06

jbrefort

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Il faut goffice >= 0.10.1 pour avoir cette fonction. Gnumeric-1.12.1 ne compile pas en principe avec une version antérieure. Le paquet s'appelle libgoffice-0.10 et semble bien être à la version 0.10.1 dans raring, donc le symbole devait être là (on peut vérifier avec objdump -T).

Hors ligne

#15 Le 27/05/2013, à 08:08

versleouest

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Alors.
Merci jbrefort pour tout tes efforts !

Enfin, la solution... Non. D'abord ce qui c'est passé, parce que c'est nécessaire de se rendre compte. En actualisant mon système Ubuntu, une nouvelle version Gnumeric 1.12.1 était installé, mais la version existante de libgoffice-0.10 n'était pas remplacé. Après avoir ré-installé libgoffice-0.10 (apt-get install --reinstall), cette nouvelle version se trouve dans /usr/lib et tous les testes proposés (objdump -T est en effet fort utile) ont réussi et le symbole «manquant» go_linear_solve_multiple et ainsi trouvé dans la bibliothèque.

Ce que j'ai ignoré est que l'ancienne version de libgoffice-0.10 logeait dans /usr/local/lib, probablement depuis que j'ai compilé Gnumeric 1.12.0 des sources. La version installé à partir des ressources d'Ubuntu a préféré de référencer cette ancienne version de la bibliothèque.

Dernière question. Même si le comportement du logiciel correspond à n'importe quel standard, y a t-il manière de garder une ancienne bibliothèque pour d'autres usages ?
J'ai pu désinstaller les objets de /usr/local/lib et les plugins de Gnumeric fonctionnent depuis !!

Mais je trouve cette procédure inadaptée, guère logique, pas évident et potentiellement contre-productive.

[EDITS: conversions Outre Rhin/Français]

Dernière modification par versleouest (Le 27/05/2013, à 08:12)


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne

#16 Le 27/05/2013, à 12:47

jbrefort

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

Par défaut, le chargeur de bibliothèque regarde d'abord dans /usr/local/lib, puis dans /usr/lib. Il est possible de changer cela avec la variable d'environnement LD_LIBRARY_PATH ou en modifiant /etc/ld.so.conf en mettant /usr/lib en premier (du moins je pense, n'ayant pas essayé). Sinon, il vaut mieux éviter d'installer ses propres compilations dans /usr, $HOME/.local est en général moins envahissant et permet une installation dans avoir les droits de l’administrateur. Après, il suffit de lancer la commande à partir d'un terminal en ajustant LD_LIBRARY_PATH.

Hors ligne

#17 Le 27/05/2013, à 13:12

versleouest

Re : [Résolu] Gnumeric 1.12.1: fonctions manquantes

D'acc. Je programme ces choses, je n'ai pas besoin de les comprendre...

Oui je connais LD_LIBRARY_PATH. Ce que j'ai ignoré jusqu'à aujourd'hui c'est la préférence pour /usr/local. Très bien. Ça a duré un peu et je t'ai tenu d'autres choses plus importantes, certes, mais en fin de compte... blabla.

Merci pour ta patience, jbrefort.


«La clé du changement est de remettre l’humain au cœur de nos préoccupations. On ne construit pas seulement le monde sur des structures apparentes, mais sur la puissance de notre subjectivité.» (Pierre Rabhi, 16. Novembre 2010)

Hors ligne