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
Author: Pere Pujal i Carabantes
Date: Mon, 18 Sep 2006 15:42
Date: Mon, 18 Sep 2006 15:42
290 lines
12621 bytes
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
Author: Luis Angel Fdez. Fdez.
Date: Mon, 18 Sep 2006 16:36
Date: Mon, 18 Sep 2006 16:36
54 lines
3348 bytes
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
Author: Pere Pujal i Carabantes
Date: Mon, 18 Sep 2006 20:56
Date: Mon, 18 Sep 2006 20:56
69 lines
3312 bytes
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
Author: Pere Pujal i Carabantes
Date: Sat, 23 Sep 2006 23:17
Date: Sat, 23 Sep 2006 23:17
44 lines
2468 bytes
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