[MacPorts] #52070: tmux @ 2.2 compile failed in tiger ppc

MacPorts noreply at macports.org
Sun Aug 21 05:12:29 PDT 2016


#52070: tmux @ 2.2 compile failed in tiger ppc
------------------------------+--------------------------------
  Reporter:  zhangchaowang@…  |      Owner:  macports-tickets@…
      Type:  defect           |     Status:  new
  Priority:  Normal           |  Milestone:
 Component:  ports            |    Version:  2.3.4
Resolution:                   |   Keywords:  tiger
      Port:  tmux             |
------------------------------+--------------------------------

Comment (by kenneth.f.cunningham@…):

 The first error is this:
 {{{
 413     :info:build compat/imsg.h:32: error: expected specifier-qualifier-
 list before 'u_char'
 }}}

 Googling "macosx tiger error: expected specifier-qualifier-list before
 'u_char'" we find a few references to this kind of error.
 <http://stackoverflow.com/questions/5087257/error-after-compilation-in-c>
 and <https://ghc.haskell.org/trac/ghc/ticket/5135#no1> seem possibly
 related to this issue in this case.

 In particular, it seems likely that the failed inclusion of the definition
 of u_char will be related to this file ""/usr/include/sys/types.h"" not
 being included or the appropriate block being parsed.

 To start, I'd try adding

 #include <sys/types.h>

 near the top in compat.h, and see what happens. compat.h sounds like the
 kind of file where this should go, and seems to be included in most of the
 other files in the project.


 Also, there are some changes in  "/usr/include/sys/types.h" depending on
 the system you're using, and so there might need to be some manipulation
 of the guard block to get it to compile on Tiger.

 On later systems, we see something line this is <sys/types.h>

 {{{
 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)
 typedef unsigned char           u_char;
 typedef unsigned short          u_short;
 typedef unsigned int            u_int;
 #ifndef _U_LONG
 typedef unsigned long           u_long;
 #define _U_LONG
 #endif
 typedef unsigned short          ushort;         /* Sys V compatibility */
 typedef unsigned int            uint;           /* Sys V compatibility */
 #endif
 }}}

 whereas on Tiger, the block looks like this:
 {{{
 #ifndef _POSIX_C_SOURCE
 typedef unsigned char       u_char;
 typedef unsigned short      u_short;
 typedef unsigned int        u_int;
 }}}

 I hope this gets you started. I am away from my Tiger machines just now,
 so can't test it for you directly. -- K

-- 
Ticket URL: <https://trac.macports.org/ticket/52070#comment:1>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list