Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1678 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [c] perl embed sous linux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[c] perl embed sous linux

n°448332
Nokbilong
unique, comme tout le monde.
Posté le 04-07-2003 à 03:53:18  profilanswer
 

pom
 
j'aimerai utiliser une fonction perl dans mon tit code c, sous netbsd je l'ai deja fait mais j'ai un petit pb sous linux, avec le header perl.h (j'ai include EXTERN.h, pas de souci avec)
 
gcc me sort:
 


main.o(.text+0x1f): In function `main':
main.c:19: undefined reference to `PerlIO_stdoutf'
gnl.o(.text+0x196): In function `gnl':
gnl.c:41: undefined reference to `PerlIO_stdoutf'
...


 
en gros pour tout ce qui touche aux fd (printf entre autres ..) il me gueule ca :/ (oui je link bien avec les libs pour la compilation)
 
une idée kk1 ?


---------------
"-Dites 33. -Export!!" [:nokbilong]
mood
Publicité
Posté le 04-07-2003 à 03:53:18  profilanswer
 

n°448333
Taz
bisounours-codeur
Posté le 04-07-2003 à 04:13:00  profilanswer
 

t'es sur que c'est pas PerlIO_stdoutfd

n°448747
Nokbilong
unique, comme tout le monde.
Posté le 04-07-2003 à 14:06:00  profilanswer
 

++Taz a écrit :

t'es sur que c'est pas PerlIO_stdoutfd

.
 
c un c/c
le pb est pas la, sous netbsd il me fait pas ca.


---------------
"-Dites 33. -Export!!" [:nokbilong]
n°448831
Nokbilong
unique, comme tout le monde.
Posté le 04-07-2003 à 15:39:09  profilanswer
 

je n'utilise PAS de fonction perl sur les fd, c juste qu'il 'bind' mes fonction c avec son machin perl.. mais je sais pas pkoi


---------------
"-Dites 33. -Export!!" [:nokbilong]
n°448858
Taz
bisounours-codeur
Posté le 04-07-2003 à 16:04:36  profilanswer
 

tu donnes ta ligne de compilation quand meme histoire de voir (et si elle est différente celle sous BSD)

n°448879
Nokbilong
unique, comme tout le monde.
Posté le 04-07-2003 à 16:22:08  profilanswer
 

en gros le Makefile c :
 
 


NAME = bot
 
SRC = main.c gnl.c masta.c parse_one.c send.c getfunc.c glo.c sendspe.c poah_gen.c parse_two.c parse_own.c parse_pub.c trash.c perform.c rand.c rancmd.c sys.c kill.c addfile.c urls.c
 
OBJ = $(SRC:.c=.o)
 
CFLAGS = -O3 -Wall -g
CPPFLAGS = -I/usr/lib/perl5/5.8.0/i686-linux/CORE/
LDFLAGS = -L/usr/lib/perl5/5.8.0/i686-linux/CORE/ -lperl -lm -lcrypt
 
all : $(NAME)
 
$(NAME) : $(OBJ)
 gcc -o $(NAME) $(OBJ) -L/usr/lib/ -lefence
 

 
 
le meme que sous netbsd (a part les path bien entendu)
 
sous netbsd j'utilse 3 include,
 
 


#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"

 
 
sous linux le 2eme me fait les erreurs citées plus haut :/


---------------
"-Dites 33. -Export!!" [:nokbilong]
n°448897
Taz
bisounours-codeur
Posté le 04-07-2003 à 16:37:57  profilanswer
 

-O3 et -g t'as pas du tout comprendre...   [:tomtom75]  
 
je pense qu'il faut d'abord que tu règles tes problème d'include parce qu'il peut y avoir des définitions dedans

n°448910
Nokbilong
unique, comme tout le monde.
Posté le 04-07-2003 à 16:49:48  profilanswer
 

++Taz a écrit :

-O3 et -g t'as pas du tout comprendre...   [:tomtom75]  


cad?
que ca peut foirer dans certain cas les 2 en meme tps ?
sinon je vois pas quel est le pb a foutre -g en cflags, encore moins -O3
 

++Taz a écrit :


je pense qu'il faut d'abord que tu règles tes problème d'include parce qu'il peut y avoir des définitions dedans


 
bah c bien la le pb ...
je vois pas commetn le regler le pb, sinon j'aurai pas posté


Message édité par Nokbilong le 04-07-2003 à 16:54:31

---------------
"-Dites 33. -Export!!" [:nokbilong]
n°448922
Taz
bisounours-codeur
Posté le 04-07-2003 à 16:58:46  profilanswer
 

-g => symbol de debug
-O3 => plus au niveau d'optimisation. la premiere chose que fait alros ton compilateur c'est de virer tous les symboles de debuggage. et puis optimiser en phase de developpement, c'est un perte de temps
 
moi je l'ai  
 
[benoit@benmaster tmp]$ slocate perl.h
/usr/lib/perl/5.8.0/CORE/perl.h
 
et il te le faut. t'as quelle distribution?
 

Code :
  1. #if !defined(PERLIO_IS_STDIO)
  2. /*
  3. * Remap printf
  4. */
  5. #undef printf
  6. #ifdef __GNUC__
  7. #define printf(fmt,args...) PerlIO_stdoutf(fmt,##args)
  8. #else
  9. #define printf PerlIO_stdoutf
  10. #endif
  11. #endif

moi j'ai ça et ça prouve bien que t'en as besoin
 
 

n°448933
Nokbilong
unique, comme tout le monde.
Posté le 04-07-2003 à 17:07:21  profilanswer
 

++Taz a écrit :

-g => symbol de debug
-O3 => plus au niveau d'optimisation. la premiere chose que fait alros ton compilateur c'est de virer tous les symboles de debuggage. et puis optimiser en phase de developpement, c'est un perte de temps


 
bah pourtant que je compile avec ou sans -g y'a une dif pour gdb :/
 

++Taz a écrit :


moi je l'ai  
 
[benoit@benmaster tmp]$ slocate perl.h
/usr/lib/perl/5.8.0/CORE/perl.h
 
et il te le faut. t'as quelle distribution?
 

Code :
  1. #if !defined(PERLIO_IS_STDIO)
  2. /*
  3. * Remap printf
  4. */
  5. #undef printf
  6. #ifdef __GNUC__
  7. #define printf(fmt,args...) PerlIO_stdoutf(fmt,##args)
  8. #else
  9. #define printf PerlIO_stdoutf
  10. #endif
  11. #endif

moi j'ai ça et ça prouve bien que t'en as besoin


 
(fk@tek)locate perl.h
/usr/lib/perl5/5.8.0/i686-linux/CORE/perl.h
(fk@tek)
 
je l'ai c pas un pb.
le pb c les msg d'err qu'il me sorts quand je l'include


---------------
"-Dites 33. -Export!!" [:nokbilong]
mood
Publicité
Posté le 04-07-2003 à 17:07:21  profilanswer
 

n°448935
Taz
bisounours-codeur
Posté le 04-07-2003 à 17:10:05  profilanswer
 

essaye avec -D__GNUC__

n°448942
Nokbilong
unique, comme tout le monde.
Posté le 04-07-2003 à 17:16:11  profilanswer
 

++Taz a écrit :

essaye avec -D__GNUC__


 
en cflags ca me sorts :
 


<command line>:1:1: warning: "__GNUC__" redefined
<command line>:1:1: warning: this is the location of the previous definition

 
 
sinon ca change pas.


---------------
"-Dites 33. -Export!!" [:nokbilong]
n°448950
Taz
bisounours-codeur
Posté le 04-07-2003 à 17:20:25  profilanswer
 

il la trouve bien la lib perl? parce que moi elle est pas dans /usr/lib/perl/5.8.0/CORE/

n°448952
Nokbilong
unique, comme tout le monde.
Posté le 04-07-2003 à 17:22:57  profilanswer
 

++Taz a écrit :

il la trouve bien la lib perl? parce que moi elle est pas dans /usr/lib/perl/5.8.0/CORE/


 
ouai il la trouve
elle est dans le meme rep que les 2 autres
et je link avec ce rep


---------------
"-Dites 33. -Export!!" [:nokbilong]
n°449685
Nokbilong
unique, comme tout le monde.
Posté le 06-07-2003 à 16:23:02  profilanswer
 

:bounce:


---------------
"-Dites 33. -Export!!" [:nokbilong]
n°449697
Taz
bisounours-codeur
Posté le 06-07-2003 à 17:30:29  profilanswer
 

ben ça vient de toi et de ton système on va dire, vu que tu nous donnes meme pas ne serait-ce qu'un petit bout de code pour qu'on essaye...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [c] perl embed sous linux

 

Sujets relatifs
[Perl] Effacer éléments du tableau[Perl CGI] Passer des paramètres à une cgi à partir d'une autre cgi
[Perl] Vitesse entre grep et definedCompilation et debogage de module linux, aux pros de l'algo et systeme
[linux] printk , ca ecrit ou ?[JML] Installation de JML sur un linux ?
[PHP] Créer un user sous Linux via un mdp crypté, probleme...[JAVA ] ScrollPane : doLayout déconne sous Linux JRE 1.4.1
[Perl] Compte à rebours[Perl] Substitution
Plus de sujets relatifs à : [c] perl embed sous linux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR