🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
4 messages
4 total messages Started by Pere Pujal i Carabantes Mon, 18 Sep 2006 15:42
warning: pointer targets differ in signedness
#888
Author: Pere Pujal i Carabantes
Date: Mon, 18 Sep 2006 15:42
290 lines
12621 bytes
Holas!

Estoy intentando instalar el modulo IPTables-IPv4-DBTarpit siguiendo
las instrucciones de
http://www.spamcannibal.org/docs/quick_install.html
De hecho intento instalar spancannibal.


Para eso hago
perl -MCPAN -e shell
o conf prerequisites_policy ask
install Test::Harness
install .....

creo el usuario spam con su correspondiente grupo
y llego a 
install IPTables::IPv4::DBTarpit


y no consigo pasar de 
cc -c  -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 bdbtarpit.c
bdbtarpit.c: In function 'dbtp_init':
bdbtarpit.c:136: warning: pointer targets in passing argument 2 of
'dbtp->dbenv->remove' differ in signedness
bdbtarpit.c:148: warning: pointer targets in passing argument 2 of
'dbtp->dbenv->open' differ in signedness
bdbtarpit.c: In function '_dbtp_set':
bdbtarpit.c:209: warning: incompatible implicit declaration of
built-in function 'memset'

Por lo que he conseguido entender en google, 
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/187907
ese warning aparece a partir del gcc 2.4. Le eho una ojeada al man de
gcc y llego a esta linea:
 cc -c  -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN
 -fno-strict-aliasing -pipe -I/usr/include -D_LARGEFILE_SOURCE
 -D_FILE_OFFSET_BITS=64 -O2 bdbtarpit.c -Wno-pointer-sign
bdbtarpit.c: In function '_dbtp_set':
bdbtarpit.c:209: warning: incompatible implicit declaration of
built-in function 'memset'
bdbtarpit.c: In function 'dbtp_getrecno':
bdbtarpit.c:269: warning: incompatible implicit declaration of
built-in function 'memset'

Alguna idea para seguir avanzando?
El log completo lo pego abajo y el fichero bdbtarpit.c lo podeis
encontrar en 
http://search.cpan.org/src/MIKER/IPTables-IPv4-DBTarpit-0.36/bdbtarpit.c

cc --version
cc (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5)


Salut
Pere



CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
  Database was generated on Mon, 18 Sep 2006 00:32:47 GMT
Running install for module IPTables::IPv4::DBTarpit
Running make for M/MI/MIKER/IPTables-IPv4-DBTarpit-0.36.tar.gz
CPAN: Digest::SHA loaded ok
CPAN: Module::Signature loaded ok
WARNING: This key is not certified with a trusted signature!
Primary key fingerprint: 2E66 557A B97C 19C7 91AF  8E20 328D A867 450F
89EC
Signature for /root/.cpan/sources/authors/id/M/MI/MIKER/CHECKSUMS ok
CPAN: Compress::Zlib loaded ok
Checksum for
/root/.cpan/sources/authors/id/M/MI/MIKER/IPTables-IPv4-DBTarpit-0.36.tar.gz
ok
Scanning cache /root/.cpan/build for sizes
IPTables-IPv4-DBTarpit-0.36/
IPTables-IPv4-DBTarpit-0.36/Tools/
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/spam4
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/spam5
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/spam6
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/spam7
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/spam8
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/spam1
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/spam2
IPTables-IPv4-DBTarpit-0.36/Tools/spam.lib/spam3
IPTables-IPv4-DBTarpit-0.36/Tools/README
IPTables-IPv4-DBTarpit-0.36/Tools/Makefile.PL
IPTables-IPv4-DBTarpit-0.36/Tools/t/
IPTables-IPv4-DBTarpit-0.36/Tools/t/touch.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/creatdb.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/version.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/db_strerror.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/secondDB.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/get_remove.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/t_inet_xtox.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/set_recovery.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/clear.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/statn.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/evidence.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/getrecno.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/txtfile.t
IPTables-IPv4-DBTarpit-0.36/Tools/t/s_inet_xtox.t
IPTables-IPv4-DBTarpit-0.36/Tools/c_includes/
IPTables-IPv4-DBTarpit-0.36/Tools/c_includes/alt_inet_aton.c
IPTables-IPv4-DBTarpit-0.36/Tools/xs_include/
IPTables-IPv4-DBTarpit-0.36/Tools/xs_include/miniSocket.inc
IPTables-IPv4-DBTarpit-0.36/Tools/Changes
IPTables-IPv4-DBTarpit-0.36/Tools/Tools.pm
IPTables-IPv4-DBTarpit-0.36/Tools/Tools.xs
IPTables-IPv4-DBTarpit-0.36/Tools/MANIFEST
IPTables-IPv4-DBTarpit-0.36/install-sh
IPTables-IPv4-DBTarpit-0.36/t/
IPTables-IPv4-DBTarpit-0.36/t/bdb2_p2C2p.t
IPTables-IPv4-DBTarpit-0.36/t/misc_random.t
IPTables-IPv4-DBTarpit-0.36/t/check.t
IPTables-IPv4-DBTarpit-0.36/t/readOne.t
IPTables-IPv4-DBTarpit-0.36/t/bdb_perl_2C_2perl.t
IPTables-IPv4-DBTarpit-0.36/t/util_pid.t
IPTables-IPv4-DBTarpit-0.36/t/fifo.t
IPTables-IPv4-DBTarpit-0.36/t/options.t
IPTables-IPv4-DBTarpit-0.36/t/mainrun.t
IPTables-IPv4-DBTarpit-0.36/t/siglog.t
IPTables-IPv4-DBTarpit-0.36/t/statn.t
IPTables-IPv4-DBTarpit-0.36/ltconfig
IPTables-IPv4-DBTarpit-0.36/fifo.c
IPTables-IPv4-DBTarpit-0.36/rc.dbtarpit
IPTables-IPv4-DBTarpit-0.36/DBTarpit.pm
IPTables-IPv4-DBTarpit-0.36/main.c
IPTables-IPv4-DBTarpit-0.36/libdbtarpit.pod
IPTables-IPv4-DBTarpit-0.36/extradocs/
IPTables-IPv4-DBTarpit-0.36/extradocs/bdb.musings.txt
IPTables-IPv4-DBTarpit-0.36/extradocs/ip.txt
IPTables-IPv4-DBTarpit-0.36/extradocs/bdb.tunning.txt
IPTables-IPv4-DBTarpit-0.36/extradocs/tcp.txt
IPTables-IPv4-DBTarpit-0.36/defines.h
IPTables-IPv4-DBTarpit-0.36/CTest.pm
IPTables-IPv4-DBTarpit-0.36/lib/
IPTables-IPv4-DBTarpit-0.36/lib/IPTables/
IPTables-IPv4-DBTarpit-0.36/lib/IPTables/IPv4/
IPTables-IPv4-DBTarpit-0.36/lib/IPTables/IPv4/DBTarpit/
IPTables-IPv4-DBTarpit-0.36/lib/IPTables/IPv4/DBTarpit/Inst.pm
IPTables-IPv4-DBTarpit-0.36/misc.c
IPTables-IPv4-DBTarpit-0.36/Makefile.PL
IPTables-IPv4-DBTarpit-0.36/inst/
IPTables-IPv4-DBTarpit-0.36/inst/dialog.pl
IPTables-IPv4-DBTarpit-0.36/inst/make_Config.pl
IPTables-IPv4-DBTarpit-0.36/bdbtarpit.c
IPTables-IPv4-DBTarpit-0.36/CTest.xs
IPTables-IPv4-DBTarpit-0.36/fifo_func.h
IPTables-IPv4-DBTarpit-0.36/util_pid_func.h
IPTables-IPv4-DBTarpit-0.36/bdbtarpit.h
IPTables-IPv4-DBTarpit-0.36/misc_func.h
IPTables-IPv4-DBTarpit-0.36/util_pid.c
IPTables-IPv4-DBTarpit-0.36/libipq_wrapper.c
IPTables-IPv4-DBTarpit-0.36/SECURITY_ISSUES
IPTables-IPv4-DBTarpit-0.36/libipq_wrapper.h
IPTables-IPv4-DBTarpit-0.36/MANIFEST
IPTables-IPv4-DBTarpit-0.36/ltmain.sh
IPTables-IPv4-DBTarpit-0.36/Changes
IPTables-IPv4-DBTarpit-0.36/tarpit.c
IPTables-IPv4-DBTarpit-0.36/data.c
IPTables-IPv4-DBTarpit-0.36/tarpit.h
IPTables-IPv4-DBTarpit-0.36/README
IPTables-IPv4-DBTarpit-0.36/bdbutil.pl
IPTables-IPv4-DBTarpit-0.36/GPL
IPTables-IPv4-DBTarpit-0.36/WHATARE.c.files
IPTables-IPv4-DBTarpit-0.36/config.sub
IPTables-IPv4-DBTarpit-0.36/godaemon.c
IPTables-IPv4-DBTarpit-0.36/endian.h
IPTables-IPv4-DBTarpit-0.36/local_config
IPTables-IPv4-DBTarpit-0.36/config.guess
IPTables-IPv4-DBTarpit-0.36/check.c
IPTables-IPv4-DBTarpit-0.36/META.yml
Removing previously used /root/.cpan/build/IPTables-IPv4-DBTarpit-0.36
Package came without SIGNATURE


  CPAN.pm: Going to build
  M/MI/MIKER/IPTables-IPv4-DBTarpit-0.36.tar.gz


#####################################################
DBTarpit comes with a preselected set of defaults
that should work for almost all installations.

        For use with SpamCannibal, set
        the daemon install directory to:

           /usr/local/spamcannibal/bin

#####################################################

dbtarpit daemon install directory       : [/usr/local/sbin]
/usr/local/spamcannibal/bin
Are you sure you want to use '/usr/local/spamcannibal/bin'? [yes]
shared library install directory        : [/usr/local/lib] /usr/lib
Are you sure you want to use '/usr/lib'? [yes]
shared library header install directory : [/usr/local/include]
/usr/include
Are you sure you want to use '/usr/include'? [yes]
dbtarpit database env/home directory    : [/var/run/dbtarpit]
dbtarpit primary database name          : [tarpit]
dbtarpit secondary database name        : [archive]

        type:   rm config.db
                perl Makefile.PL
        to restore defaults

Checking if your kit is complete...
Looks good
Checking if your kit is complete...
Looks good
Writing Makefile for IPTables::IPv4::DBTarpit::Tools
Writing Makefile for IPTables::IPv4::DBTarpit::CTest
CPAN: YAML loaded ok
/bin/sh ltconfig ./ltmain.sh
checking host system type... i686-pc-linux-gnu
checking for ranlib... ranlib
checking for gcc... gcc
checking whether we are using GNU C... yes
checking for object suffix... o
checking for executable suffix... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions ... no
checking if gcc static flag -static works... -static
checking whether ln -s works... yes
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the linker (/usr/bin/ld) supports shared
libraries... yes
checking for BSD-compatible nm... /usr/bin/nm -B
checking command to parse /usr/bin/nm -B output... ok
checking how to hardcode library paths into programs... immediate
checking for /usr/bin/ld option to reload object files... -r
checking dynamic linker characteristics... Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for objdir... .libs
creating libtool
/usr/bin/perl inst/make_Config.pl
cp lib/IPTables/IPv4/DBTarpit/Inst.pm
blib/lib/IPTables/IPv4/DBTarpit/Inst.pm
cp DBTarpit.pm blib/lib/IPTables/IPv4/DBTarpit.pm
cp SiteConfig.pm blib/lib/IPTables/IPv4/DBTarpit/SiteConfig.pm
make[1]: Entering directory
`/root/.cpan/build/IPTables-IPv4-DBTarpit-0.36/Tools'
cp Tools.pm ../blib/lib/IPTables/IPv4/DBTarpit/Tools.pm
AutoSplitting ../blib/lib/IPTables/IPv4/DBTarpit/Tools.pm
(../blib/lib/auto/IPTables/IPv4/DBTarpit/Tools)
cc -c  -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -O2 bdbtarpit.c
bdbtarpit.c: In function 'dbtp_init':
bdbtarpit.c:136: warning: pointer targets in passing argument 2 of
'dbtp->dbenv->remove' differ in signedness
bdbtarpit.c:148: warning: pointer targets in passing argument 2 of
'dbtp->dbenv->open' differ in signedness
bdbtarpit.c: In function '_dbtp_set':
bdbtarpit.c:209: warning: incompatible implicit declaration of
built-in function 'memset'
bdbtarpit.c: In function 'dbtp_getrecno':
bdbtarpit.c:269: warning: incompatible implicit declaration of
built-in function 'memset'
bdbtarpit.c: In function 'dbtp_stati':
bdbtarpit.c:298: warning: passing argument 2 of
'dbtp->dbaddr[ai]->stat' from incompatible pointer type
bdbtarpit.c:298: warning: passing argument 3 of
'dbtp->dbaddr[ai]->stat' makes pointer from integer without a cast
bdbtarpit.c:298: error: too few arguments to function
'dbtp->dbaddr[ai]->stat'
bdbtarpit.c: In function 'dbtp_del':
bdbtarpit.c:476: warning: incompatible implicit declaration of
built-in function 'bzero'
make[1]: *** [bdbtarpit.o] Error 1
make[1]: Leaving directory
`/root/.cpan/build/IPTables-IPv4-DBTarpit-0.36/Tools'make: ***
[subdirs] Error 2
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible
Failed during this command:
  MIKER/IPTables-IPv4-DBTarpit-0.36.tar.gz     : make NO
Re: warning: pointer targets differ in signedness
#890
Author: Luis Angel Fdez. Fdez.
Date: Mon, 18 Sep 2006 16:36
54 lines
3348 bytes
Pere Pujal i Carabantes <"ppujal A R R O B A"@airtel.net> escribi�:

  Hola

  [...]

> bdbtarpit.c: In function 'dbtp_stati':
> bdbtarpit.c:298: warning: passing argument 2 of
> 'dbtp->dbaddr[ai]->stat' from incompatible pointer type
> bdbtarpit.c:298: warning: passing argument 3 of
> 'dbtp->dbaddr[ai]->stat' makes pointer from integer without a cast
> bdbtarpit.c:298: error: too few arguments to function
> 'dbtp->dbaddr[ai]->stat'

  Lo dem�s son /warnings/, pero este es el error. Y todo esto, en la
l�nea...

297 #ifdef AT_LEAST_DB_3_3
298   dbtp->dberr = dbtp->dbaddr[ai]->stat(dbtp->dbaddr[ai],&statistics,DB_FAST_STAT);
299 #else
300  dbtp->dberr = dbtp->dbaddr[ai]->stat(dbtp->dbaddr[ai],&statistics,NULL,DB_RECORDCOUNT);
301 #endif

  Mirando un poco por la web, veo en la p�gina de Berkeley DB que:

int DB->stat(DB *db, DB_TXN *txnid, void *sp, u_int32_t flags);

  Y eso, si no me equivoco, para la versi�n 4.4.20.

  As� que, una vez mas, si no estoy metiendo la pata, es posible que
el #ifdef ese est� mal ya que para una versi�n 4.4.X que es /por lo
menos una 3.3.X/ la funci�n stat precisa de cuatro argumentos.

  Lo que no se es como arreglarlo, pero creo que el problema es ese.
Quiz�s, suponiendo que &statistics se corresponde con void *sp por
aquello de 's'tatistics 'p'ointer, funcione poner un NULL donde ir�a
el DB_TXN *txnid. Salvo que sepas que puede ir ah� :) porque...

"txnid
    If the operation is part of an application-specified transaction,
the txnid parameter is a transaction handle returned from
DB_ENV->txn_begin; otherwise NULL. If no transaction handle is
specified, but the operation occurs in a transactional database, the
operation will be implicitly transaction protected."

  Espero haber servido de algo :)

  Ta llueu.

-- 
Ubuntu 6.06 (dapper) (kernel 2.6.15-26-amd64-generic x86_64) 
AMD Athlon(tm) 64 Processor 3200+ (2200.149 MHz) up 3 days, 10:01
HT: C.D. Arrancatapinos (488047) VI.759 # http://muxin.no-ip.org/
SK: C.D. Arrancatapinos (18088) IV.57   # http://muxin.yi.org/
Re: warning: pointer targets differ in signedness
#893
Author: Pere Pujal i Carabantes
Date: Mon, 18 Sep 2006 20:56
69 lines
3312 bytes
Hola Luis Angel!

El 18-09-2006
Luis Angel Fdez. Fdez. va escriure en 
es.comp.os.linux.programacion:
 
> Pere Pujal i Carabantes <"ppujal A R R O B A"@airtel.net> escribi�:

>   Hola

>   [...]

> > bdbtarpit.c: In function 'dbtp_stati':
> > bdbtarpit.c:298: warning: passing argument 2 of
> > 'dbtp->dbaddr[ai]->stat' from incompatible pointer type
> > bdbtarpit.c:298: warning: passing argument 3 of
> > 'dbtp->dbaddr[ai]->stat' makes pointer from integer without a cast
> > bdbtarpit.c:298: error: too few arguments to function
> > 'dbtp->dbaddr[ai]->stat'

>   Lo dem�s son /warnings/, pero este es el error. Y todo esto, en la


[...Acotacion del problema en torno a libdb...]

>   Espero haber servido de algo :)

Pues voy avanzando (o retrocediendo segun se mire).
Como no tengo ni idea de como arreglar la linea que comentas, 
he instalado una version de libdb que cae en el otro caso del if 
(una 3.2.9, bastante anterior a la 3.4)

Ahora compila con warnings hasta que para en
cc -c   -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN 
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -O2  -DVERSION=\"0.36\" -DXS_VERSION=\"0.36\" 
-fPIC "-I/usr/lib/perl/5.8/CORE"   CTest.c
In file included from CTest.xs:42:
/usr/include/linux/ip.h:93:2: error: #error "Endian problem - this didn't 
happen"

Un cat -n /usr/include/linux/ip.h me muestra entre otras cosas:

85  struct iphdr {
86  #if defined(__LITTLE_ENDIAN_BITFIELD)
87          __u8    ihl:4,
88                  version:4;
89  #elif defined (__BIG_ENDIAN_BITFIELD)
90          __u8    version:4,
91                  ihl:4;
92  #else
93  #error  "Endian problem - this didn't happen"
94  #endif

Con lo que supongo que si defino una de las dos variables la cosa se 
arregla. Lo que no tengo ni idea de cual ni de donde seria el mejor 
lugar para hacerlo.
El procesador es un P4 �little endian?

Bueno, por probar he puesto un #DEFINE __LITTLE_ENDIAN_BITFIEL en
/usr/include/linux/ip.h
y compila :)
Ahora falta saber si realmente es esa la variable que necesito.


>   Ta llueu.

Salut
Pere
Re: warning: pointer targets differ in signedness
#727
Author: Pere Pujal i Carabantes
Date: Sat, 23 Sep 2006 23:17
44 lines
2468 bytes
El 18-09-2006
Pere Pujal i Carabantes va escriure en 
es.comp.os.linux.programacion:
 
> Hola Luis Angel!

> El 18-09-2006
> Luis Angel Fdez. Fdez. va escriure en 
> es.comp.os.linux.programacion:
>  


  >   Lo dem�s son /warnings/, pero este es el error. Y todo esto, en la


> [...Acotacion del problema en torno a libdb...]

> >   Espero haber servido de algo :)

> Pues voy avanzando (o retrocediendo segun se mire).
> Como no tengo ni idea de como arreglar la linea que comentas, 
> he instalado una version de libdb que cae en el otro caso del if 
> (una 3.2.9, bastante anterior a la 3.4)

Pues parece ser que no hac�a falta, Despues de instalar el 
IPTables-IPv4-DBTarpit y compilar spamcannibal, me daba un error en 
el make test. 
Prob� a instalar de nuevo la libdb3.4 y recompilar el 
IPTables-IPv4-DBTarpit por si el problema ven�a de la versi�n 
de libdb antigua que hab�a usado antes.

El caso es que compil� sin modificar nada, o sea que la deducci�n l�gica 
es que el problema estaba entre el teclado y la silla y es posible que
siga ah�. XD

Gracias por todo.
Salut
Pere
-- 
Mentjant spam a sc@fornol.no-ip.org
Comiendo spam en cs@fornol.no-ip.org
Je mange spam a spamc@fornol.no-ip.org
Eating spam at cspam@fornol.no-ip.org
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads