Page 2 sur 3

Re: compilation FreeBSD

Publié : mar. août 31, 2010 7:42 am
par parisse
oui, c'est du à matdet, plus précisément à la conversion du résultat de pari vers xcas. Dans la fonction gen t_INT2gen(const GEN & G) il faut sans doute que tu utilises le morceau de code

Code : Tout sélectionner

    --Gpl;
    long * Gp=int_MSW(G);
    gen res;
    for (int i=0;i<=Gpl;++i){
      res=res*pow2sizeof_long+longlong(unsigned(*Gp));
      Gp=int_precW(Gp);
    }
    return Gs<0?-res:res;
alors que sur mon PC il faut que j'utilise l'autre. Je peux rajouter un #ifdef pour bsd, mais j'aimerais bien comprendre pourquoi le code ci-dessus ne marche pas chez moi alors que ce serait l'inverse chez toi!!

Re: compilation FreeBSD

Publié : mar. août 31, 2010 8:22 am
par frederic han
C'est bizarre ca le fait aussi avec ton archive debian testing:

par exemple celui la:

f:=(i,j)->lcm(i,j);
n:=70;A:=matrix(n,n,f):
d2:=det(A,bareiss);
d3:=det(A,lagrange);
d4:=det(A);

j'ai bien d2 = d3 mais d4 est different.

sur ma version
d1:=matdet(A) coincide bien avec d2 et d3 donc la conversion me semble correcte non?

Fred

Re: compilation FreeBSD

Publié : mar. août 31, 2010 12:04 pm
par parisse
oui, c'est bien une autre erreur, utilisation de premiers trop grands lorsque -D_I386_ n'est pas defini. Ca ne devrait pas affecter les machines 64 bits, je corrige pour les 32 bits. Je fais une nouvelle archive, avec tes modifs pour rpn.cc.

Re: compilation FreeBSD

Publié : mar. août 31, 2010 2:28 pm
par frederic han
c'est encore moi:

c'est mieux, mais avec:

f:=(i,j)->rand(21)-10;
n:=100;A:=matrix(n,n,f);
...
d4:=det(A);

j'arrive a tomber sur

Not invertible Error: Bad Argument Value

par exemple dans l'execution de ce fichier:

http://people.math.jussieu.fr/~han/xcas/testdet.cas

je tombe sur
Modinv begin 235
Modinv end 236
"Not invertible Error: Bad Argument Value",

NB: pour l'index de la doc j'ai essaye de mettre un \printindex dans le fichier tex ca met bien l'index a la fin.

a+
Fred

Re: compilation FreeBSD

Publié : mar. août 31, 2010 3:54 pm
par parisse
tu peux m'envoyer la matrice qui provoque le not invertible? Je ne dois pas avoir le même générateur aléatoire, je n'arrive pas à reproduire.
Sinon, pour la doc, j'ai inversé la table des matières et l'index, ca devrait etre dans la distrib.

Re: compilation FreeBSD

Publié : mar. août 31, 2010 4:35 pm
par parisse
bon ca y est j'ai le not invertible, je vais investiguer...

Re: compilation FreeBSD

Publié : mar. août 31, 2010 6:39 pm
par parisse
ouf, j'ai trouvé, c'était une optimisation dans le pivot de Gauss qui n'est pas valide lorsqu'on doit échanger des lignes. Ca n'arrive pas souvent évidemment et quasiment jamais en 64 bits car les nombres premiers utilisés comme modulo sont beaucoup plus grands...
Je mets l'archive à jour.

Re: compilation FreeBSD

Publié : mer. sept. 01, 2010 1:14 pm
par frederic han
Oui le nouveau det marche bien, je n'ai plus d'erreurs.

J'ai remarque cela dans xcas:

?gcd marche bien
mais

?time
plante xcas avec message:
terminate called after throwing an instance of 'std::logic_error'
what(): basic_string::_S_construct NULL not valid
Abort trap (core dumped)

pour toi aussi?

Fred

Re: compilation FreeBSD

Publié : mer. sept. 01, 2010 2:06 pm
par parisse
oui, chez moi aussi, je viens de le corriger (beaucoup plus facile que pour le determinant heureusement!)

Re: compilation FreeBSD

Publié : mer. sept. 01, 2010 9:12 pm
par frederic han
Salut je reviens au Pb du port.

Si j'ai bien compris pour debian tu separes la doc francaise (sauf tutotiel) du reste de la doc.
car ca n'a pas la meme licence.

Peut on faire ca a partir du fichier source?

ie avoir 2 archives separees mais des Makefile qui marchent selon que l'on a extrait une archive ou les 2?

Fred

Re: compilation FreeBSD

Publié : jeu. sept. 02, 2010 6:59 am
par parisse
pour la doc dans les packages debian, il y a 2 types de packages, le simple qui contient tout, identique a celui genere par Makefile.am, et les packages (lib, dev, doc, etc.) qui font la distinction (mais ils ne sont pas vraiment utilises, parce que le package tout seul est plus simple a maintenir). Pourquoi veux-tu faire un distingo sur le type de licence des docs pour le port? Techniquement, je pense qu'il suffit de rajouter 2 cibles dans le Makefile.am ou mieux creer un Makefile.doc. Au lieu de faire make install dans giac tu ferais make install dans src seulement et disons make -f Makefile.doc installdocnonfree et/ou make -f Makefile.doc installdocfree dans doc.

Re: compilation FreeBSD

Publié : jeu. sept. 02, 2010 8:24 am
par frederic han
Salut,

si l'on veut un veritable ports pour freeBSD il faut fournir un Makefile specifique pour la construction du ports.
il telecharge des sources et doit construire le ports.

on peut mettre des tags sur le type de licence de ces fichiers sources, et aussi sur ce qu'il est autorise de faire.

du coup je pensai que c'etait plus simple d'avoir un fichier source avec la variable LICENSE a GPLv3 et un autre avec la licence de la doc ou l'on active la variable NO_CDROM car ils disent "this should be used if the port's license is for non-commercial'' use only"

http://www.freebsd.org/doc/en/books/por ... tions.html


Mais en fait le plus simple pour moi est de laisser tout dans un gros paquet avec une licence MULTI et de cocher NO_CDROM pour tout le gros paquet. Qu'en penses tu?

j'imagine que c'est pour cela que pour debian tu as separe giac-doc et giac-doc-nonfree.

Fred

Re: compilation FreeBSD

Publié : ven. sept. 03, 2010 8:13 am
par parisse
frederic han a écrit : Mais en fait le plus simple pour moi est de laisser tout dans un gros paquet avec une licence MULTI et de cocher NO_CDROM pour tout le gros paquet. Qu'en penses tu?
Qu'il vaut mieux choisir la solution la plus simple pour toi. L'essentiel c'est que xcas soit facilement accessible sous freebsd, et l'avoir sur le net suffit très certainement!
j'imagine que c'est pour cela que pour debian tu as separe giac-doc et giac-doc-nonfree.

Fred
en fait ce n'est pas moi qui ai fait les packages séparés, et le packaging debian mériterait que quelqu'un le refasse bien avec les outils debian à jour. Perso je n'ai pas le temps et comme le package tout en un marche...

Re: compilation FreeBSD

Publié : ven. sept. 03, 2010 9:37 am
par frederic han
Oui je vais faire comme ca tout ensemble.

NB: dans la version du 02/09

doc en anglais: l'index est toujours en premier c'est voulu?
doc en espagnol et en grec ne donne rien ca ne trouve pas cascmd toi aussi ou c'est ma compilation?
Fred

Re: compilation FreeBSD

Publié : ven. sept. 03, 2010 10:50 am
par parisse
oui, je change l'index et la toc dans cascmd_en. Il n'y a pas de version grecque pour cascmd pour le moment, mais c'est en cours, et il n'y a rien en espagnol en-dehors du aide_cas, pour l'instant je mets des liens vers la doc en anglais.