compilation FreeBSD

Xcas devel: interface utilisateur/user interface

Modérateur : xcasadmin

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » mar. août 31, 2010 7:42 am

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!!

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: compilation FreeBSD

Message par frederic han » mar. août 31, 2010 8:22 am

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

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » mar. août 31, 2010 12:04 pm

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.

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: compilation FreeBSD

Message par frederic han » mar. août 31, 2010 2:28 pm

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

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » mar. août 31, 2010 3:54 pm

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.

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » mar. août 31, 2010 4:35 pm

bon ca y est j'ai le not invertible, je vais investiguer...

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » mar. août 31, 2010 6:39 pm

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.

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: compilation FreeBSD

Message par frederic han » mer. sept. 01, 2010 1:14 pm

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

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » mer. sept. 01, 2010 2:06 pm

oui, chez moi aussi, je viens de le corriger (beaucoup plus facile que pour le determinant heureusement!)

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: compilation FreeBSD

Message par frederic han » mer. sept. 01, 2010 9:12 pm

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

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » jeu. sept. 02, 2010 6:59 am

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.

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: compilation FreeBSD

Message par frederic han » jeu. sept. 02, 2010 8:24 am

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

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » ven. sept. 03, 2010 8:13 am

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...

frederic han
Messages : 1137
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: compilation FreeBSD

Message par frederic han » ven. sept. 03, 2010 9:37 am

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

parisse
Messages : 5731
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: compilation FreeBSD

Message par parisse » ven. sept. 03, 2010 10:50 am

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.

Répondre