je pensais qu'en déclarant le pointeur, il n'y avait pas besoin d'allouer de la mémoire, puisque celui-ci utiliserait la mémoire déjà alouer par la fonction tar_open
Oui, c'est bien ça : comme je le dis un peu plus haut, j'ai sorti une belle anerie (je n'avais pas lu la man page de tar_open en entier. Cela dit si tu as des segfaults dans d'autres cas, c'est bien vers ce genre de problème qu'il faut s'orienter.
Bon, en fait, une minute suffit : dans ton appel à tar_open, tu passes un pointeur "tarh" pour lequel jamais une once de mémoire n'a été allouée. Pas bieeeeeen !
Pour le reste, je te laisse, j'suis crevé. Pis ça te donnera l'occasion de reviser le fonctionnement de ces joyeusetés ;o) Faudrait pas que je sois le seul à bosser !
Apparemment cela passe en référençant la lib de manière plus directe. J'ai donc décomposé ma commande en :
gcc -I/usr/local/include -c test.c
...
gcc test.o /usr/local/lib/libtar.a -o test
Cela produit donc un exécutable. Par contre l'exécution donne un zoli message "Bus error" (sous OSX kipusaipaslibre, je sais _o/PAF) sur l'appel tar_open, mais bon, je n'ai pas trop regardé ton code. Je vais y jeter un coup d'oeil un peu plus tar(d) si j'ai quelques minutes ;-)
Quand je tente de compiler ton code, l'erreur que je vois ne concerne pas une inclusion, mais c'est :
ld: Undefined symbols:
_tar_open
Autrement dit un problème de linkage (pardon, édition de liens). Ton code est donc probablement correct au niveau des inclusions, mais la subtilité doit être sur la ligne de commande pour compiler, sachant que la mienne était :
gcc -I/usr/local/include -L/usr/local/lib -ltar test.c -o test
Le résultat est le type de mon exception InvalidDataException.
De quelle manière obtiens-tu ce résultat : getMessage, toString, ou bien getClass().getName() ? Parceque si la classe de l'exception était bel-et-bien InvalidDataException, cela serait catché...
Ce problème survient uniquement lorsque je fais tourner mon application sur un serveur se trouvant sur une autre machine. Lorsque je test sur mon serveur jboss en local, je n'ai aucun problème.
Ce que dit le texte dont tu parles concerne les EJBException. Cela se comprend, parceque cette exception intervient lorsque le cycle de vie de l'EJB est mis en péril.
La RemoteException en revanche ne sert pas à la même chose : elle n'est d'ailleurs pas "hi-jackée" par le container. De ce que j'ai compris, avant la version 1.4, elle servait uniquement aux exceptions liées à la communication entre l'interface remote et l'EJB, mais depuis la 1.4, elle sert aussi à encapsuler les autres exceptions pour fournir un moyen de les remonter.
La bibliothèque libtar est livrée avec un répertoire doc qui comprend des fichiers man décrivant les principales fonctions qui la compose : soit le package est bien installé et tu peux directement faire man soit tu ne veux pas l'installer, et il suffira pour l'afficher d'une genre :
Et là tu vas me dire, "oui mais des exemples". Certes, ça manque, et google est bien muet sur le coup. Tout ce que j'ai pu trouver c'est un code source en C qui comporte notamment une ouverture de fichier TAR avec cette lib (j'ai bien regardé le code source de gnozip, malheureusement celui-ci utilise une implémentation maison du détarrage...)
Voilà, entre ça, les man pages, et ta débrouillardise, ça devrait aller ? ;-)
Désolé de ne pas avoir donné de code à moi, mais je n'ai jamais utilisé cette lib pour être honnête ! Bonne chance.
Je vais peut-être dire une bêtise, mais il me semblait que seules les RemoteException étaient remontées au client dans le cas d'un client exécuté de manière distante. La javadoc de cette classe semble même parler d'encapsulation des exceptions levées dans le Bean au sein d'une RemoteException :
As of release 1.4, this exception has been retrofitted to conform to the general purpose exception-chaining mechanism. The "wrapped remote exception" that may be provided at construction time and accessed via the public detail field is now known as the cause, and may be accessed via the Throwable.getCause() method, as well as the aforementioned "legacy field."
Que je sache, CVS permet de versionner des fichiers binaires aussi bien que textes... Pour ce qui est des méta-données, de quel genre de méta-données parles tu ? une description du fichier ? une liste de couples champ, valeur ?
Bon, je vais peut-être me faire moinser. Je n'ai aucune affinité avec ce monsieur Le Pen, mais pour ma part je trouve déplacé de proférer des insultes gratuites, sur qui que ce soit. C'est vrai qu'en l'occurrence, il peut en inspirer assez aisément, mais je ne trouve pas ça correct malgré tout.
Si ça peut te rassurer, j'avais aussi rencontré des problèmes avec l'ANPE lors de ma recherche d'emploi : 0 annonces, m'avaient-ils annoncé. Alors finalement, il vaut mieux se débrouiller, envoyer des CVs, aller dans des salons de recrutement (avoir un contact humain direct, c'est parfois plus motivant que de balancer pleins de CVs sans réponses).
Pour moi ça a marché. Sinon si tu vois des annonces Java/J2EE et que tu es prêt à te former comme tu le dis, n'hésites pas à le faire : il existe des tonnes de tutoriaux très bien fais sur le net (et des tonnes de projets libres dans le domaine). Pendant 3 mois de chômage entre 2 emplois, je m'étais formé à J2EE et d'autres technos à la mode (LDAP, etc...), et franchement quand tu les notes sur le CV (même si tu rajoutes "notions" derrière), ça fait déjà un mot qui accroche. Autre avantage, si on te demande ce que tu as fait pendant un "trou" sur ton CV, tu pourrais dire que tu as mis ce temps à profit pour apprendre tel outil ou telle technologie (démontrant ainsi ta capacité à te former).
Sinon je ne sais pas où tu cherches du boulot, mais tu peux peut-être étendre un peu le domaine de ta recherche à quelques villes qui te plaisent ?
En tout cas bonne chance, j'espère que tu trouveras !
Sur une instance d'OpenLDAP (qui tourne donc sur un port TCP), il n'y a bel et bien qu'un annuaire. Par contre, il ne faut pas voir un annuaire comme une liste de contacts, mais plutôt comme une arborescence dans laquelle des contacts (ou autre chose d'ailleurs) peuvent se loger dans différentes branches. Donc potentiellement, cela te fais N listes de contacts.
Ensuite, quand tu fais une recherche (ou quand tu configures un soft exploitant le protocole LDAP), tu précises :
1. une base de recherche : c'est un truc du genre "c=fr, o=mondomaine, ou=mescontacts" (c'est ce qu'on appelle un DN, pour "Distinguished Name")
2. un filtre de recherche (genre tu tapes "Al", et ton programme pourrait retrouver "Alain" et "Aline", mais uniquement s'ils sont contenus dans la base de recherche)
Evidemment je simplifie un peu : les annuaires LDAP permettent beaucoup plus de choses (e.g. authentification, gestion de droits, gestion de groupes d'utilisateurs, etc...) : c'est un sujet très vaste :o)
[^] # Re: merci à toi
Posté par mrlem (site web personnel, Mastodon) . En réponse au message utilisation de libtar. Évalué à 2.
J'espère aussi que ça t'aidera à avancer :o)
[^] # Re: Docs
Posté par mrlem (site web personnel, Mastodon) . En réponse au message utilisation de libtar. Évalué à 2.
Oui, c'est bien ça : comme je le dis un peu plus haut, j'ai sorti une belle anerie (je n'avais pas lu la man page de tar_open en entier. Cela dit si tu as des segfaults dans d'autres cas, c'est bien vers ce genre de problème qu'il faut s'orienter.
[^] # Re: dans le meme genre
Posté par mrlem (site web personnel, Mastodon) . En réponse au journal [HS] Le droit de grève. Évalué à -6.
[^] # Re: Docs
Posté par mrlem (site web personnel, Mastodon) . En réponse au message utilisation de libtar. Évalué à 2.
[^] # Re: Docs
Posté par mrlem (site web personnel, Mastodon) . En réponse au message utilisation de libtar. Évalué à 2.
[^] # Re: Docs
Posté par mrlem (site web personnel, Mastodon) . En réponse au message utilisation de libtar. Évalué à 2.
Pour le reste, je te laisse, j'suis crevé. Pis ça te donnera l'occasion de reviser le fonctionnement de ces joyeusetés ;o) Faudrait pas que je sois le seul à bosser !
[^] # Re: Docs
Posté par mrlem (site web personnel, Mastodon) . En réponse au message utilisation de libtar. Évalué à 2.
[^] # Re: Docs
Posté par mrlem (site web personnel, Mastodon) . En réponse au message utilisation de libtar. Évalué à 2.
Autrement dit un problème de linkage (pardon, édition de liens). Ton code est donc probablement correct au niveau des inclusions, mais la subtilité doit être sur la ligne de commande pour compiler, sachant que la mienne était :
(test.c étant ton source)
[^] # Re: Spécialisé binaire ?
Posté par mrlem (site web personnel, Mastodon) . En réponse au message versionning de fichiers binaires. Évalué à 2.
Ben moi j'ai essayé ;o)
[^] # Re: Type d'exception
Posté par mrlem (site web personnel, Mastodon) . En réponse au message servlet ne catch pas une exception lancée par un EJB. Évalué à 2.
De quelle manière obtiens-tu ce résultat : getMessage, toString, ou bien getClass().getName() ? Parceque si la classe de l'exception était bel-et-bien InvalidDataException, cela serait catché...
[^] # Re: pas remote
Posté par mrlem (site web personnel, Mastodon) . En réponse au message servlet ne catch pas une exception lancée par un EJB. Évalué à 1.
;o)
[^] # Re: Type d'exception
Posté par mrlem (site web personnel, Mastodon) . En réponse au message servlet ne catch pas une exception lancée par un EJB. Évalué à 1.
La RemoteException en revanche ne sert pas à la même chose : elle n'est d'ailleurs pas "hi-jackée" par le container. De ce que j'ai compris, avant la version 1.4, elle servait uniquement aux exceptions liées à la communication entre l'interface remote et l'EJB, mais depuis la 1.4, elle sert aussi à encapsuler les autres exceptions pour fournir un moyen de les remonter.
# Docs
Posté par mrlem (site web personnel, Mastodon) . En réponse au message utilisation de libtar. Évalué à 3.
Les pages dispos son :
- tar_append_file.3
- tar_block_read.3
- tar_extract_all.3
- tar_extract_file.3
- tar_open.3
- th_get_pathname.3
- th_print_long_ls.3
- th_read.3
- th_set_from_stat.3
Et là tu vas me dire, "oui mais des exemples". Certes, ça manque, et google est bien muet sur le coup. Tout ce que j'ai pu trouver c'est un code source en C qui comporte notamment une ouverture de fichier TAR avec cette lib (j'ai bien regardé le code source de gnozip, malheureusement celui-ci utilise une implémentation maison du détarrage...)
http://darcs.frugalware.org/repos/pacman-i18n/src/pacman.c
Voilà, entre ça, les man pages, et ta débrouillardise, ça devrait aller ? ;-)
Désolé de ne pas avoir donné de code à moi, mais je n'ai jamais utilisé cette lib pour être honnête ! Bonne chance.
# Type d'exception
Posté par mrlem (site web personnel, Mastodon) . En réponse au message servlet ne catch pas une exception lancée par un EJB. Évalué à 1.
# Spécialisé binaire ?
Posté par mrlem (site web personnel, Mastodon) . En réponse au message versionning de fichiers binaires. Évalué à 1.
Que je sache, CVS permet de versionner des fichiers binaires aussi bien que textes... Pour ce qui est des méta-données, de quel genre de méta-données parles tu ? une description du fichier ? une liste de couples champ, valeur ?
[^] # Re: Mes conseils
Posté par mrlem (site web personnel, Mastodon) . En réponse au journal Pourquoi pas blender ?. Évalué à 2.
[^] # Re: Bon
Posté par mrlem (site web personnel, Mastodon) . En réponse au journal Bayrou défendra le logiciel libre à l'Assemblé Nationale. Évalué à 7.
Voilà, c'est mon avis.
# Qui donc ?
Posté par mrlem (site web personnel, Mastodon) . En réponse au journal Aide sur le site linuxfr.org. Évalué à 8.
Ben le lien "contactez-nous" en haut de la page (en tout petit, il est vrai) semblerait pas mal indiqué, non ? ;o)
[^] # Re: d'accord
Posté par mrlem (site web personnel, Mastodon) . En réponse au journal Aide sur le site linuxfr.org. Évalué à 10.
# Module Tie
Posté par mrlem (site web personnel, Mastodon) . En réponse au message Comment faire ?. Évalué à 2.
# Ma recherche de boulot
Posté par mrlem (site web personnel, Mastodon) . En réponse au journal Les n commandements du chercheur de travail. Évalué à 7.
Si ça peut te rassurer, j'avais aussi rencontré des problèmes avec l'ANPE lors de ma recherche d'emploi : 0 annonces, m'avaient-ils annoncé. Alors finalement, il vaut mieux se débrouiller, envoyer des CVs, aller dans des salons de recrutement (avoir un contact humain direct, c'est parfois plus motivant que de balancer pleins de CVs sans réponses).
Pour moi ça a marché. Sinon si tu vois des annonces Java/J2EE et que tu es prêt à te former comme tu le dis, n'hésites pas à le faire : il existe des tonnes de tutoriaux très bien fais sur le net (et des tonnes de projets libres dans le domaine). Pendant 3 mois de chômage entre 2 emplois, je m'étais formé à J2EE et d'autres technos à la mode (LDAP, etc...), et franchement quand tu les notes sur le CV (même si tu rajoutes "notions" derrière), ça fait déjà un mot qui accroche. Autre avantage, si on te demande ce que tu as fait pendant un "trou" sur ton CV, tu pourrais dire que tu as mis ce temps à profit pour apprendre tel outil ou telle technologie (démontrant ainsi ta capacité à te former).
Sinon je ne sais pas où tu cherches du boulot, mais tu peux peut-être étendre un peu le domaine de ta recherche à quelques villes qui te plaisent ?
En tout cas bonne chance, j'espère que tu trouveras !
# C'est drôle...
Posté par mrlem (site web personnel, Mastodon) . En réponse au message g un probléme. Évalué à 0.
[^] # Re: Re
Posté par mrlem (site web personnel, Mastodon) . En réponse au message compatibilité caractères windows linux. Évalué à 1.
Je dirais de configurer le linux en UTF-8, et non pas en ISO-8859-1 comme c'est le cas actuellement.
[^] # Re: 0.9999999...
Posté par mrlem (site web personnel, Mastodon) . En réponse au message javascript bug sur une addition ?. Évalué à 2.
[^] # Re: LDAP
Posté par mrlem (site web personnel, Mastodon) . En réponse au message openLDAP et carnets d'adresses Kontact. Évalué à 1.
Ensuite, quand tu fais une recherche (ou quand tu configures un soft exploitant le protocole LDAP), tu précises :
1. une base de recherche : c'est un truc du genre "c=fr, o=mondomaine, ou=mescontacts" (c'est ce qu'on appelle un DN, pour "Distinguished Name")
2. un filtre de recherche (genre tu tapes "Al", et ton programme pourrait retrouver "Alain" et "Aline", mais uniquement s'ils sont contenus dans la base de recherche)
Evidemment je simplifie un peu : les annuaires LDAP permettent beaucoup plus de choses (e.g. authentification, gestion de droits, gestion de groupes d'utilisateurs, etc...) : c'est un sujet très vaste :o)