Opened 7 years ago

Closed 7 years ago

#54171 closed defect (fixed)

rogue @5.4.4: error: incomplete definition of type 'struct term'

Reported by: whmagill Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: haspatch Cc: Polyergic (Shad Sterling), rshuston
Port: rogue

Description (last modified by ryandesign (Ryan Carsten Schmidt))

> sudo port install rogue
--->  Computing dependencies for rogue
--->  Fetching archive for rogue
--->  Attempting to fetch rogue-5.4.4_3.darwin_16.x86_64.tbz2 from https://packages.macports.org/rogue
--->  Attempting to fetch rogue-5.4.4_3.darwin_16.x86_64.tbz2 from http://lil.fr.packages.macports.org/rogue
--->  Attempting to fetch rogue-5.4.4_3.darwin_16.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/rogue
--->  Fetching distfiles for rogue
--->  Attempting to fetch rogue5.4.4-src.tar.gz from https://distfiles.macports.org/rogue
--->  Verifying checksums for rogue
--->  Extracting rogue
--->  Configuring rogue
--->  Building rogue
Error: Failed to build rogue: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_games_rogue/rogue/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port rogue failed
:info:build mdport.c:264:17: error: incomplete definition of type 'struct term'
:info:build     if (cur_term->type.Strings == NULL)
:info:build         ~~~~~~~~^
:info:build /opt/local/include/term.h:710:16: note: forward declaration of 'struct term'
:info:build typedef struct term TERMINAL;}}}

Attachments (1)

log-file (22.0 KB) - added by whmagill 7 years ago.
Log-file

Download all attachments as: .zip

Change History (9)

Changed 7 years ago by whmagill

Attachment: log-file added

Log-file

comment:1 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: rogue removed
Port: rogue added; 5.4.4 removed
Summary: rogue-5.4.4_3.darwin_16.x86_64.tbz2 fails to build - Sierra 10.12.4; Xcode 8.3.2rogue @5.4.4: error: incomplete definition of type 'struct term'

comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

I would suspect the recent update of ncurses in [9f2c4a0bfdce59a8d535f3062587f798a6347444/macports-ports].

comment:3 Changed 7 years ago by kurthindenburg (Kurt Hindenburg)

comment:4 Changed 7 years ago by rshuston

I was able to fix it by doing a quick modification to the modport.c file. Basically I did the following:

Attempt to install rogue...

$ sudo port install rogue

... and wait for installation to fail with the "incomplete definition of type 'struct term'" error.

Edit the mdport.c file as sudo (I use vi but use whatever editor you like):

$ sudo vi /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_games_rogue/rogue/work/rogue5.4.4/mdport.c

Search for the spot where #include <term.h> exits:

#if defined(HAVE_TERM_H)
#include <term.h>
#elif defined(HAVE_NCURSES_TERM_H)
#include <ncurses/term.h>
#endif

and add #define NCURSES_INTERNALS before the #include <term.h> so that you have

#if defined(HAVE_TERM_H)
#define NCURSES_INTERNALS
#include <term.h>
#elif defined(HAVE_NCURSES_TERM_H)
#include <ncurses/term.h>
#endif

Now continue with your installation:

$ sudo port install rogue

Everything should build and install cleanly at this point.

comment:5 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: Polyergic added

Has duplicate #55162.

comment:6 Changed 7 years ago by Polyergic (Shad Sterling)

How do I get this fix included in the distribution?

comment:7 in reply to:  4 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: rshuston added
Keywords: haspatch added
Owner: set to ryandesign
Status: newaccepted

Replying to rshuston:

I was able to fix it by doing a quick modification to the modport.c file. Basically I did the following:

#define NCURSES_INTERNALS

Thanks, I'll do that for now, then see about updating the port to a newer version later.

comment:8 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: acceptedclosed

In dbfaf022b24353c2d1254eee6c961273efc7d0ba/macports-ports:

rogue: Fix build failure with latest ncurses

Closes: #54171

Note: See TracTickets for help on using tickets.