π
<-
Chat plein-écran
[^]

libhpcalcs: a toolkit for communicating with Prime calcs...

Nouveautés, projets, mises à jour.

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude wawachief » 16 Nov 2013, 10:09

J'ai encore un petit soucis pour la compilations sous Linux. Il doit me manquer quelque chose...
make[2]: entrant dans le répertoire « /home/wawa/lpg/hplp/hplp/libhpcalcs/po »
make[2]: *** Pas de règle pour fabriquer la cible « Makevars », nécessaire pour « Makefile ». Arrêt.


Edit : Le pb se produit également sur mac suite à la dernière update.
Avatar de l’utilisateur
wawachief
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 93.3%
 
Messages: 44
Inscription: 10 Nov 2013, 08:57
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude Lionel Debroux » 16 Nov 2013, 10:25

En effet, le build d'un répertoire po basé sur gettext a besoin de ce fichier, que j'ai oublié d'ajouter au repository...
Pour l'instant, crée ce fichier avec le contenu suivant (et probablement sans BOM UTF-8), les lignes commençant par # étant optionnelles:
Code: Tout sélectionner
# Makefile variables for PO directory in any package using GNU gettext.

# Usually the message domain is the same as the package name.
DOMAIN = $(PACKAGE)

# These two variables depend on the location of this directory.
subdir = po
top_builddir = ..

# These options get passed to xgettext.
XGETTEXT_OPTIONS = --keyword=_ --keyword=N_

# This is the copyright holder that gets inserted into the header of the
# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
# package.  (Note that the msgstr strings, extracted from the package's
# sources, belong to the copyright holder of the package.)  Translators are
# expected to transfer the copyright for their translations to this person
# or entity, or to disclaim their copyright.  The empty string stands for
# the public domain; in this case the translators are expected to disclaim
# their copyright.
COPYRIGHT_HOLDER = Linux Programmers Group

# This is the email address or URL to which the translators shall report
# bugs in the untranslated strings:
# - Strings which are not entire sentences, see the maintainer guidelines
#   in the GNU gettext documentation, section 'Preparing Strings'.
# - Strings which use unclear terms or require additional context to be
#   understood.
# - Strings which make invalid assumptions about notation of date, time or
#   money.
# - Pluralisation problems.
# - Incorrect English spelling.
# - Incorrect formatting.
# It can be your email address, or a mailing list address where translators
# can write to without being subscribed, or the URL of a web page through
# which the translators can contact you.
MSGID_BUGS_ADDRESS =

# This is the list of locale categories, beyond LC_MESSAGES, for which the
# message catalogs shall be used.  It is usually empty.
EXTRA_LOCALE_CATEGORIES =

# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
# context.  Possible values are "yes" and "no".  Set this to yes if the
# package uses functions taking also a message context, like pgettext(), or
# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
USE_MSGCTXT = no

# These options get passed to msgmerge.
# Useful options are in particular:
#   --previous            to keep previous msgids of translated messages,
#   --quiet               to reduce the verbosity.
MSGMERGE_OPTIONS =


Aussi, sous Linux, si tu as GCC 4.8, tu peux ajouter -fsanitize=address à CFLAGS. AddressSanitizer, d'abord disponible pour les utilisateurs dans Clang mais ensuite disponible également dans GCC, est un assez puissant et rapide détecteur d'erreurs mémoire, qui tue purement et simplement le programme dès qu'il y a une faute dans la gestion de la mémoire (débordement de tableaux, utilisation de mémoire libérée, etc.).
Si le problème à l'envoi d'un fichier est le même sous Linux que sous MacOS X, l'utilisation d'AddressSanitizer nous en apprendra peut-être davantage; sinon, ça détectera quand même certaines erreurs mémoire que j'aurais pu faire.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude wawachief » 16 Nov 2013, 11:04

Merci. Avec le makevars, ça recompile sous mac et linux.
Sous mac, j'ai toujours le segfault. Je n'arrive pas à activer le sanitize malgré l'utilisation de gcc4.8 - à moins que je ne le déclare pas correctement. Voici la tête de mon configure sous mac :
Code: Tout sélectionner
./configure CC=/opt/local/bin/gcc-mp-4.8 CFLAGS="-std=c99 -Os -ggdb3 -fsanitize=address -Wall -W -Wno-unused-parameter -Wshadow -Wwrite-strings -I/opt/local/include/" PREFIX="/opt/local"

à la compilation, il crie ce genre de choses
Code: Tout sélectionner
Undefined symbols for architecture x86_64:
  "___asan_init_v1", referenced from:
      __GLOBAL__sub_I_00099_1_hpfiles.c in libhpcalcs_la-hpfiles.o
      __GLOBAL__sub_I_00099_1_hpcables.c in libhpcalcs_la-hpcables.o
      __GLOBAL__sub_I_00099_1_hpcalcs.c in libhpcalcs_la-hpcalcs.o
      __GLOBAL__sub_I_00099_1_error.c in libhpcalcs_la-error.o
      __GLOBAL__sub_I_00099_1_logging.c in libhpcalcs_la-logging.o
      __GLOBAL__sub_I_00099_1_type2str.c in libhpcalcs_la-type2str.o
      __GLOBAL__sub_I_00099_1_filetypes.c in libhpcalcs_la-filetypes.o
      ...


Pour le Linux, le programme semble bien fonctionner, y compris l'envoi de fichier qui segfaulte sur mac. Le sanitize ne dit rien au moment de l'envoi de fichier. J'ai juste un message au moment ou je quitte le programme :
Code: Tout sélectionner
Your choice: 0

hpfiles INFO: cable_prime_hid_close: cable close succeeded
hpfiles INFO: hpcables_cable_close: close succeeded
hpfiles INFO: hpcalcs_cable_detach: cable close and detach succeeded
hpfiles INFO: hpcalcs_handle_del: calc handle deletion succeeded
=================================================================
==1410== ERROR: AddressSanitizer: attempting double-free on 0x60040000d170:
    #0 0x7f662bff737a (/usr/lib/x86_64-linux-gnu/libasan.so.0.0.0+0x1537a)
    #1 0x7f662bdccfd9 (/home/wawa/HP/hplp/libhpcalcs/src/.libs/libhpcalcs.so.0.0.0+0x7fd9)
0x60040000d170 is located 0 bytes inside of 12-byte region [0x60040000d170,0x60040000d17c)
freed by thread T0 here:
    #0 0x7f662bff737a (/usr/lib/x86_64-linux-gnu/libasan.so.0.0.0+0x1537a)
    #1 0x7f662bdd10bb (/home/wawa/HP/hplp/libhpcalcs/src/.libs/libhpcalcs.so.0.0.0+0xc0bb)
previously allocated by thread T0 here:
    #0 0x7f662bff7525 (/usr/lib/x86_64-linux-gnu/libasan.so.0.0.0+0x15525)
    #1 0x7f662b1c4214 (/usr/local/lib/libhidapi-hidraw.so.0.0.0+0x2214)
==1410== ABORTING
Avatar de l’utilisateur
wawachief
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 93.3%
 
Messages: 44
Inscription: 10 Nov 2013, 08:57
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude Lionel Debroux » 16 Nov 2013, 11:23

* si sous MacOS X, le GCC se plaint ainsi, c'est qu'il ne passe pas les bons flags au linker (ce qu'il serait censé faire tout seul). Pour MacOS X, laisse tomber AddressSanitizer avec GCC; tu peux essayer avec CC=clang, et si ça ne va toujours pas, laisse tomber AddressSanitizer sous MacOS X :)

* je vais regarder le code pour tenter de trouver le double free.
Est-ce que si tu écris la fin de la trace (après la grande ligne de =) dans un fichier, et que tu utilises https://llvm.org/svn/llvm-project/compi ... mbolize.py de la façon suivante:
Code: Tout sélectionner
cat <toto> | <path>/asan_symbolize.py

il y a des infos plus précises que ces noms de libs dynamiques + offset ?
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude Persalteas » 16 Nov 2013, 11:45

J'ai finalement réussi l'installation (en créant le fichier que tu as donné ci dessus), mais la Prime n'est pas détectée... :(

hpfiles ERROR: cable_prime_hid_open: cable open failed
hpfiles ERROR: hpcables_cable_open: open failed
hpfiles ERROR: hpcalcs_cable_attach: cable open failed
hpfiles INFO: hpcalcs_handle_del: calc handle deletion succeeded
hpfiles INFO: hpcables_handle_del: handle deletion succeeded
Exiting program
hpfiles INFO: hpcalcs_exit: exit succeeded
hpfiles INFO: hpcables_exit: exit succeeded
hpfiles INFO: hpfiles_exit: exit succeeded
Goodbye world!
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude wawachief » 16 Nov 2013, 11:46

Le sanitaze ne fonctionne pas avec le clang du mac, donc drop :(

Pour le linux, voici ce que j'obtiens avec asan_symbolize.py :
Code: Tout sélectionner
cat toto | ./asan_symbolize.py
==1467== ERROR: AddressSanitizer: attempting double-free on 0x60040000d370:
    #0 0x7ffff4e6137a in __interceptor_free ??:?
    #1 0x7ffff4c41ffa in hpcables_handle_del ??:?
    #2 0x401a3e in main /home/wawa/HP/hplp/libhpcalcs/tests/test_hpcalcs.c:534
0x60040000d370 is located 0 bytes inside of 12-byte region [0x60040000d370,0x60040000d37c)
freed by thread T0 here:
    #0 0x7ffff4e6137a in __interceptor_free ??:?
    #1 0x7ffff4c44cf4 in cable_prime_hid_close link_prime_hid.c:?
    #2 0x7ffff4c4240a in hpcables_cable_close ??:?
    #3 0x7ffff4c429ce in hpcalcs_cable_detach ??:?
    #4 0x401a2e in main /home/wawa/HP/hplp/libhpcalcs/tests/test_hpcalcs.c:528
previously allocated by thread T0 here:
    #0 0x7ffff4e61525 in calloc ??:?
    #1 0x7ffff403e214 in new_hid_device /home/wawa/Téléchargements/hidapi-master/linux/hid.c:85
==1467== ABORTING
Avatar de l’utilisateur
wawachief
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 93.3%
 
Messages: 44
Inscription: 10 Nov 2013, 08:57
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude wawachief » 16 Nov 2013, 11:47

Persalteas a écrit:J'ai finalement réussi l'installation (en créant le fichier que tu as donné ci dessus), mais la Prime n'est pas détectée... :(


Lance le script via sudo. C'est un pb de droit sur le device.
Avatar de l’utilisateur
wawachief
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 93.3%
 
Messages: 44
Inscription: 10 Nov 2013, 08:57
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude Persalteas » 16 Nov 2013, 11:48

j'ai bien lancé le script via sudo.
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude Lionel Debroux » 16 Nov 2013, 11:52

Et le programme test_hpcalcs lui-même ?

Pour éviter d'utiliser le programme en tant que root, j'imagine qu'il va falloir faire une définition udev, comme pour libticables.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Avatar de l’utilisateur
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 11.2%
 
Messages: 6859
Inscription: 23 Déc 2009, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: -
GitHub: debrouxl

Re: libhpcalcs: a toolkit for communicating with Prime calcs

Message non lude Persalteas » 16 Nov 2013, 11:55

persalteas@persalaptop:~/lpg/hplp/hplp/libhpcalcs/tests$ sudo ./test_hpcalcs

Et j'avais bien lancé install_hplp.sh en root aussi, et créé le fichier avec des droits root également...

A propos de la définition udev, pas moyen d'utiliser la même que celle déjà créée pour TILP ? :)
Avatar de l’utilisateur
PersalteasMembre UPECS
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 6.2%
 
Messages: 2337
Images: 113
Inscription: 04 Fév 2010, 00:00
Localisation: Evry (France)
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: PhD candidate, Bioinformatics

PrécédenteSuivante

Retourner vers Actualités

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 12 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1364 utilisateurs:
>1334 invités
>25 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)