Hello, may I shortly introduce myself here: I am a german Sysadmin who is member of the German Privacy Foundation. I am running two tor nodes with Linux (baphomet, info4all) privately. Now I take my time to play around running tor on Sparc/Solaris10 with Sun's Compiler Suite. For this purpose I have another node (herecomesthesun) running at home via DSL. Perhaps I can manage to setup a high volume tor node on Sparc hardware in the near future. My test machine: Sun Enterprise E450, 4x248 Mhz, 2GB RAM root@e450# uname -a SunOS e450 5.10 Generic_127127-11 sun4u sparc SUNW,Ultra-4 root@e450# pkginfo -l SPROcc PKGINST: SPROcc NAME: Sun Studio 12 C Compiler CATEGORY: application ARCH: sparc VERSION: 12.0,REV=2007.05.03 You must know that I am NO programmer. I dont understand any C code. When building the tor executables I noticed some courious messages I would like to tell here, maybe this helps the developers improving the code. First, I changed the configure script fast & dirty to enable threads with Solaris: if test x$enable_threads = x; then case $host in *-*-solaris* ) # Don't try multithreading on solaris -- cpuworkers seem to lock. { echo "$as_me:$LINENO: You are running Solaris; Sometimes threading makes cpu workers lock up here. Use it at your risk." >&5 echo "$as_me: You are running Solaris; Sometimes threading makes cpu workers lock up here. Use it at your risk." >&6;} enable_threads="yes";; *) enable_threads="yes";; esac fi This seems to work, because configure notices: checking pthread.h usability... yes checking pthread.h presence... yes checking for pthread.h... yes checking for pthread_create... yes Another message that always occurs with or without threads is this: checking for net/pfvar.h... no checking for linux/netfilter_ipv4.h... no configure: Transparent proxy support enabled, but missing headers. checking for struct timeval.tv_sec... yes OK. configure succeeds. Then doing make, I get some warning messages here: source='compat.c' object='compat.o' libtool=no \ DEPDIR=.deps depmode=none /bin/bash ../../depcomp \ cc -DHAVE_CONFIG_H -I. -I../.. -I../../src/common -I/usr/local/ssl/include -g -g -O -c compat.c "compat.c", line 373: warning: initializer does not fit or is out of range: 128 "compat.c", line 373: warning: initializer does not fit or is out of range: 129 "compat.c", line 373: warning: initializer does not fit or is out of range: 130 ... ... # lots of lines here ! ... "compat.c", line 398: warning: initializer does not fit or is out of range: 255 "compat.c", line 1162: warning: statement not reached "compat.c", line 2177: warning: initializer does not fit or is out of range: -1 source='circuituse.c' object='circuituse.o' libtool=no \ DEPDIR=.deps depmode=none /bin/bash ../../depcomp \ cc -DHAVE_CONFIG_H -I. -I../.. -DSHARE_DATADIR="\"/usr/share\"" -DLOCALSTATEDIR="\"/usr/var\"" -DBINDIR="\"/usr/bin\"" -I../../src/common -I/usr/local/ssl/include -g -g -O -c circuituse.c "circuitlist.c", line 679: warning: loop not entered at top source='buffers.c' object='buffers.o' libtool=no \ DEPDIR=.deps depmode=none /bin/bash ../../depcomp \ cc -DHAVE_CONFIG_H -I. -I../.. -DSHARE_DATADIR="\"/usr/share\"" -DLOCALSTATEDIR="\"/usr/var\"" -DBINDIR="\"/usr/bin\"" -I../../src/common -I/usr/local/ssl/include -g -g -O -c buffers.c "buffers.c", line 1456: warning: statement not reached source='geoip.c' object='geoip.o' libtool=no \ DEPDIR=.deps depmode=none /bin/bash ../../depcomp \ cc -DHAVE_CONFIG_H -I. -I../.. -DSHARE_DATADIR="\"/usr/share\"" -DLOCALSTATEDIR="\"/usr/var\"" -DBINDIR="\"/usr/bin\"" -I../../src/common -I/usr/local/ssl/include -g -g -O -c geoip.c "geoip.c", line 296: warning: syntax error: empty declaration "geoip.c", line 298: warning: syntax error: empty declaration make finishes successful (exit 0) an I got a binary: root@e450# file src/or/tor src/or/tor: ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped root@e450# ldd src/or/tor libz.so.1 => /usr/lib/libz.so.1 libevent-1.4.so.2 => /usr/lib/libevent-1.4.so.2 libssl.so.0.9.8 => /usr/local/ssl/lib/libssl.so.0.9.8 libcrypto.so.0.9.8 => /usr/local/ssl/lib/libcrypto.so.0.9.8 libnsl.so.1 => /lib/libnsl.so.1 libsocket.so.1 => /lib/libsocket.so.1 libc.so.1 => /lib/libc.so.1 librt.so.1 => /lib/librt.so.1 libresolv.so.2 => /lib/libresolv.so.2 libdl.so.1 => /lib/libdl.so.1 libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 libmp.so.2 => /lib/libmp.so.2 libmd.so.1 => /lib/libmd.so.1 libscf.so.1 => /lib/libscf.so.1 libaio.so.1 => /lib/libaio.so.1 libdoor.so.1 => /lib/libdoor.so.1 libuutil.so.1 => /lib/libuutil.so.1 libgen.so.1 => /lib/libgen.so.1 libm.so.2 => /lib/libm.so.2 /platform/SUNW,Ultra-4/lib/libc_psr.so.1 /platform/SUNW,Ultra-4/lib/libmd_psr.so.1 Please notice libgcc_s.so.1 Is this OK? I use Sun's CC, so is this wrong or right to have linked the binary against a gcc library? The executable works all day long, I got no errors. Kind Regards Thomas
Attachment:
signature.asc
Description: This is a digitally signed message part.