can't install dsniff through darwin ports on Tiger


hello all!

I can't install dsniff through darwin ports on Tiger.

Here is the error message:

---> Building libnet with target all
Error: Target returned: shell command "cd "/opt/local/var/db/dports/build/file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_net_libnet/work/Libnet-1.0.2a" && make all" returned error 2
Command output: gcc -O2 -funroll-loops -fomit-frame-pointer -Wall -DHAVE_CONFIG_H -c src/libnet_insert_ipo.c -o src/libnet_insert_ipo.o
In file included from src/../include/libnet.h:81,
from src/libnet_insert_ipo.c:36:
src/../include/./libnet/libnet-functions.h:500: warning: 'struct ipoption' declared inside parameter list
src/../include/./libnet/libnet-functions.h:500: warning: its scope is only this definition or declaration, which is probably not what you want
src/libnet_insert_ipo.c:39: warning: 'struct ipoption' declared inside parameter list
src/libnet_insert_ipo.c:40: error: conflicting types for 'libnet_insert_ipo'
src/../include/./libnet/libnet-functions.h:500: error: previous declaration of 'libnet_insert_ipo' was here
src/libnet_insert_ipo.c: In function 'libnet_insert_ipo':
src/libnet_insert_ipo.c:83: error: dereferencing pointer to incomplete type
make: *** [src/libnet_insert_ipo.o] Error 1

Error: The following dependencies failed to build: libnet libnids libpcap


anyone know how I can fix this?

thanks in advance
This has to do with the move to GCC 4, which is more standards compliant than previous versions of GCC. This will cause some programs to fail when compiling, and the only thing to do is to either rewrite the code yourself (bad idea, unless you know what you're doing), wait for a new version of the program, or use gcc 3.3.

The last option seems the most viable, but I don't know what other effect that might have on your already compiled ports. I don't think there are any serious effects, but you never know :). So, the solution to your problem, use gcc 3.3. To do that, in the Terminal type

sudo gcc_select 3.3

And that will switch you back to GCC 3.3. Things will compile then. Good luck.