I sent much the same thing in a patch to Fred.  I suspect that he
didn't notice because it is called winsocket on Windows.

On Mon, Mar 1, 2010 at 2:38 AM, Martin Spott <martin.sp...@mgras.net> wrote:
> I'm expieriencing difficulties to compile 'terrasync' after the latest
> patch. While PLIB's socket seems to be the target, the type "socket"
> interferes with the system headers:
>
> g++ -g -O3 -march=opteron -DHAVE_CONFIG_H -I. -I../../src/Include  
> -I/usr/include/subversion-1  -I/usr/include/apr-1.0  -I/opt/gnu/include 
> -I/usr/local/include -I/opt/Boost/include/boost-1_37 
> -I/opt/FlightGear/include  -g -O2 -I/opt/FlightGear -D_REENTRANT -c -o 
> terrasync.o terrasync.cxx
> terrasync.cxx:118: error: 'netSocket socket' redeclared as different kind of 
> symbol
> /usr/include/sys/socket.h:101: error: previous declaration of 'int 
> socket(int, int, int)'
> terrasync.cxx: In function 'void terminate_request_handler(int)':
> terrasync.cxx:298: error: request for member 'close' in 'socket', which is of 
> non-class type 'int ()(int, int, int)throw ()'
> [...]
>
>
> The following simple patch at least permits to compile - is this the
> way it's meant to be ?
>
> --- terrasync.cxx.original      2010-03-01 08:44:20.000000000 +0100
> +++ terrasync.cxx       2010-03-01 11:35:55.975624335 +0100
> @@ -115,7 +115,7 @@
>  deque<string> waitingTiles;
>  typedef map<string,time_t> CompletedTiles;
>  CompletedTiles completedTiles;
> -netSocket socket;
> +netSocket netSocket;
>
>  #ifdef HAVE_SVN_CLIENT_H
>
> @@ -295,7 +295,7 @@
>     write(1, msg, sizeof(msg) - 1);
>     terminating = true;
>     signal(param, prior_signal_handlers[param]);
> -    socket.close();
> +    netSsocket.close();
>  }
>
>
> @@ -517,12 +517,12 @@
>     // Must call this before any other net stuff
>     netInit( &argc,argv );
>
> -    if ( ! socket.open( false ) ) {  // open a UDP socket
> +    if ( ! netSocket.open( false ) ) {  // open a UDP socket
>         printf("error opening socket\n");
>         return -1;
>     }
>
> -    if ( socket.bind( host, port ) == -1 ) {
> +    if ( netSocket.bind( host, port ) == -1 ) {
>         printf("error binding to port %d\n", port);
>         return -1;
>     }
> @@ -571,8 +571,8 @@
>             if (verbose && waitingTiles.empty()) {
>                 cout << "Idle; waiting for FlightGear position\n";
>             }
> -            socket.setBlocking(waitingTiles.empty());
> -            len = socket.recv(msg, maxlen, 0);
> +            netSocket.setBlocking(waitingTiles.empty());
> +            len = netSocket.recv(msg, maxlen, 0);
>             if (len >= 0) {
>                 msg[len] = '\0';
>                 recv_msg = true;
>
>
> Cheers,
>        Martin.
> --
>  Unix _IS_ user friendly - it's just selective about who its friends are !
> --------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Flightgear-devel mailing list
> Flightgear-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/flightgear-devel
>

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to