bugGNU Octave - Bugs: bug #60163, Solaris SPARC build: kpty.cpp...


bug #60163: Solaris SPARC build: kpty.cpp missing #include

Submitted by:  Michele <michele31415>
Submitted on:  Wed 03 Mar 2021 05:20:26 PM UTC  
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Unexpected Error or Warning
Status:  Fixed Assigned to:  None
Originator Name:  Michele Open/Closed:  Closed
Release:  6.2.0 Operating System:  Solaris/SunOS

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Tue 09 Mar 2021 04:16:23 PM UTC, comment #7: 

No response, so I'll assume changes worked.

Marking as fixed and closing report.

Rik <rik5>
Project Administrator
Thu 04 Mar 2021 05:48:58 PM UTC, comment #6: 

@Michele: Can you confirm that building the latest stable branch code works?  Both bug #60162 and bug #60163 I believe are resolved now.

Rik <rik5>
Project Administrator
Thu 04 Mar 2021 03:04:05 PM UTC, comment #5: 

Rik: OK, I grafted the change to stable and merged with default.

John W. Eaton <jwe>
Project Administrator
Thu 04 Mar 2021 01:29:14 AM UTC, comment #4: 

On my Solaris 10. I see

# cd /usr/include/sys
# ls str*
stream.h    strlog.h    stropts.h   strstat.h   strsun.h
strft.h     strmdep.h   strredir.h  strsubr.h   strtty.h
# cd ..
# find . stropts | grep stropts
find: stat() error stropts: No such file or directory

Michele <michele31415>
Wed 03 Mar 2021 10:21:28 PM UTC, comment #3: 

@jwe: Your changeset was applied to dev.  Is it okay to graft to stable?  The reporter is having trouble building 6.2.

Rik <rik5>
Project Administrator
Wed 03 Mar 2021 08:57:59 PM UTC, comment #2: 

Octave's configure script doesn't appear to check for stropts.h or sys/stropts.h.  I pushed the following changeset:


Marking ready for test.

John W. Eaton <jwe>
Project Administrator
Wed 03 Mar 2021 05:41:58 PM UTC, comment #1: 

There is already this code sequence:

# include <sys/stropts.h>        // Defines I_PUSH
# define _NEW_TTY_CTRL

Followed later by

#if (defined(__svr4__) || defined(__sgi__))
  // Solaris
  ioctl(d->slaveFd, I_PUSH, "ptem");
  ioctl(d->slaveFd, I_PUSH, "ldterm");

This is the only time I_PUSH is used, and apparently only for the Solaris platform.

Is it possible that stropts.h should be located in /usr/include/sys/stropts.h rather than in /usr/include?  Or have the locations of files changed on Solaris since this code was written and versioning checks need to be done to find stropts.h?

Rik <rik5>
Project Administrator
Wed 03 Mar 2021 05:20:26 PM UTC, original submission:  

Building 6.2.0 in Solaris 10 SPARC, gmake stops with:

  CXX      libgui/qterminal/libqterminal/unix/la-TerminalCharacterDecoder.lo
libgui/qterminal/libqterminal/unix/kpty.cpp: In member function 'bool KPty::open()':
libgui/qterminal/libqterminal/unix/kpty.cpp:377:21: error: 'I_PUSH' was not declared in this scope
   ioctl(d->slaveFd, I_PUSH, "ptem");

This is because kpty.cpp needs a line:

#include <stropts.h>

Michele <michele31415>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by michele31415 (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.




    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-03-09 rik5 StatusReady For Test => Fixed
        Open/ClosedOpen => Closed
    2021-03-03 jwe StatusNone => Ready For Test

    Back to the top

    Powered by Savane 3.7