This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: sys/types.h fails to compile under g++


thanks for that Larry.

I'm going to install and download the latest g++ version (v3.2.3 apparently) however I am not %100 confident that it will address the issue I'm encountering. I'm running with g++ v3.2, I doubt this issue is addressed in such a minor release. It seems that there's something fundamentally wrong with one of the packages (cygwin or gnu). I cannot understand how such a widely used compiler should fail to compile a simple file like <sys/types.h> off the bat.


I cannot say that with confidence until I download the latest gnu g++ compiler release. PLEASE PLEASE PLEASE let this work otherwise I'm gonna have to start programming using the MS socket interface API's which is what I expressly set out to avoid.


If anybody reads this and has a socket client/server demo with makefiles, could they pass them on to me. If they could let me know the versions of g++ and cygwin they're using to build, it would also help me eliminate compiler/version dependencies.



Cheers, I'll let you know how I fare.

GrahamO


From: Larry Hall <cygwin-lh@cygwin.com>
Reply-To: Cygwin List <cygwin@cygwin.com>
To: "Graham Walsh" <graham_walsh50@hotmail.com>, cygwin@cygwin.com
Subject: Re: sys/types.h fails to compile under g++
Date: Sat, 31 Jan 2004 13:24:53 -0500

WFM with 'g++ -o sock sock.cpp'.

Your gcc/g++ is out of date, though I doubt that's the main problem.  See
<http://cygwin.com/problems.html> if you need to post again for help on
this issue.

Thanks,

Larry


At 09:52 AM 1/31/2004, Graham Walsh you wrote:
>Hiya, first time using cygwin.... I have a linker error when compiling a stock socket app. All I use is standard calls to socket, bind etc. etc.
>
>All the symbols usually located in libsocket.so on unix are missing, i.e. bind, socket, etc. etc. I am at a loss as to what to link against. If anybody knows the compilation and link options I need it would help me out completely. I am assuming that the standard cygwin release provides all the libs I need to do this type of unix coding on my humble XP box. If I've missed anything, please let me know. I am using GCC v3.2 on an XP machine with the latest cygwin installation.
>
>
>my goal here is simply to write unix style code with gcc on my xp box.
>
>
>Cheers,
>
>
>GrahamO
>
>
>#include <stdio.h>
>#include <sys/types.h>
>#include <sys/socket.h>
>#include <netinet/in.h>
>#include <netdb.h>
>#include <unistd.h>
>#include <string.h>
>#include <arpa/inet.h>
>#include <stdlib.h>
>#define PORT 3550 /* Port that will be opened */
>#define BACKLOG 2 /* Number of allowed connections */
>extern "C" int close(int);
>extern "C" void bzero(void *, size_t);
>using namespace std;
>main()
>{
> int fd, fd2; /* file descriptors */
> struct sockaddr_in server; /* server's address information */
> struct sockaddr_in client; /* client's address information */
> int sin_size;
> if ((fd=socket(AF_INET, SOCK_STREAM, 0)) == -1 )
> { /* calls socket() */
> printf("socket() error\n");
> exit(-1);
> }
> server.sin_family = AF_INET;
> server.sin_port = htons(PORT); /* Remember htons() from "Conversions" section? =) */
> server.sin_addr.s_addr = INADDR_ANY; /* INADDR_ANY puts your IP address automatically */
>// bzero(&(server.sin_zero),8); /* zero the rest of the structure */
>// void *memset (void *ptr, int val, size_t len);
> memset(&(server.sin_zero), 0, 8);
>
> if(bind(fd,(struct sockaddr*)&server,sizeof(struct sockaddr))==-1){ /* calls bind() */
> printf("bind() error\n");
> exit(-1);
>
> }
> if(listen(fd,BACKLOG) == -1){ /* calls listen() */
> printf("listen() error\n");
> exit(-1);
> }
>while(1){
> sin_size=sizeof(struct sockaddr_in);
> if ((fd2 = accept(fd,(struct sockaddr *)&client,&sin_size))==-1){ /* calls accept() */
> printf("accept() error\n");
> exit(-1);
> }
>
> printf("You got a connection from %s\n",inet_ntoa(client.sin_addr) ); /* prints client's IP */
>
> send(fd2,"Welcome to my server.\n",22,0); /* send to the client welcome message */
>
> close(fd2); /* close fd2 */
>}
>}
>/* <---- SOURCE CODE ENDS HERE ----> */
>
>_________________________________________________________________
>Scope out the new MSN Plus Internet Software ? optimizes dial-up to the max! http://join.msn.com/?pgmarket=en-us&page=byoa/plus&ST=1
>
>
>--
>Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
>Problem reports: http://cygwin.com/problems.html
>Documentation: http://cygwin.com/docs.html
>FAQ: http://cygwin.com/faq/


--
Larry Hall                              http://www.rfk.com
RFK Partners, Inc.                      (508) 893-9779 - RFK Office
838 Washington Street                   (508) 893-9889 - FAX
Holliston, MA 01746


_________________________________________________________________
Check out the coupons and bargains on MSN Offers! http://shopping.msn.com/softcontent/softcontent.aspx?scmId=1418



-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]