ossimlabs / ossim

Core OSSIM (Open Source Software Image Map) package including C++ code for OSSIM library, command-line applications, tests, and build system
MIT License
297 stars 142 forks source link

Build error - FreeBSD #109

Closed lbartoletti closed 6 years ago

lbartoletti commented 7 years ago

Hi,

I have some build error on FreeBSD:

with clang38 (default in base system) or clang39

/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/src/sockets/ossimToolServer.cpp:77:26: error: variable has
      incomplete type 'struct sockaddr_in'
      struct sockaddr_in cli_addr;
                         ^
/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/include/ossim/sockets/ossimToolServer.h:30:36: note: 
      forward declaration of 'sockaddr_in'
   bool processOssimRequest(struct sockaddr_in& cli_addr);
                                   ^
/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/src/sockets/ossimToolServer.cpp:174:8: error: no viable
      conversion from '__bind<int &, sockaddr *&, unsigned int &>' to 'int'
   int bindResult = bind(m_svrsockfd, server_info->ai_addr, server_info->ai_addrlen);
       ^            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/src/sockets/ossimToolServer.cpp:453:30: error: member access
      into incomplete type 'struct sockaddr_in'
      void* addr = &(cli_addr.sin_addr);
                             ^
/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/include/ossim/sockets/ossimToolServer.h:30:36: note: 
      forward declaration of 'sockaddr_in'
   bool processOssimRequest(struct sockaddr_in& cli_addr);
                                   ^
3 errors generated.
*** Error code 1

Stop.
make[2]: stopped in /usr/home/Loic/prog/ossim/build
*** Error code 1

Stop.
make[1]: stopped in /usr/home/Loic/prog/ossim/build
*** Error code 1

Stop.
make: stopped in /usr/home/Loic/prog/ossim/build

With clang40:

/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/src/base/ossimArgumentParser.cpp:187:16: error: ordered
      comparison between pointer and zero ('int *' and 'int')
   if (theArgc > 0)
       ~~~~~~~ ^ ~
/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/src/base/ossimArgumentParser.cpp:214:12: error: ordered
      comparison between pointer and zero ('int *' and 'int')
   if(argc > 0) delete (theArgv);
      ~~~~ ^ ~
/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/src/base/ossimArgumentParser.cpp:477:28: warning: equality
      comparison with extraneous parentheses [-Wparentheses-equality]
      if ((theArgv[pos][0] == '-'))
           ~~~~~~~~~~~~~~~~^~~~~~
/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/src/base/ossimArgumentParser.cpp:477:28: note: remove
      extraneous parentheses around the comparison to silence this warning
      if ((theArgv[pos][0] == '-'))
          ~                ^     ~
/home/Loic/prog/ossim/ossim-DaytonaBeach-2.0.0/src/base/ossimArgumentParser.cpp:477:28: note: use '=' to
      turn this equality comparison into an assignment
      if ((theArgv[pos][0] == '-'))
                           ^~
                           =
1 warning and 2 errors generated.
*** Error code 1