Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 619416

Summary: app-editors/nvi-1.81.6-r7 fails due to missing sys/stropts.h
Product: Gentoo/Alt Reporter: Shunsuke Shimizu <grafi>
Component: Prefix SupportAssignee: Gentoo Prefix <prefix>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Patch to check the existence of sys/stropts.h

Description Shunsuke Shimizu 2017-05-23 05:18:29 UTC
OS X does not have sys/stropts.h.
It seems this header is related to very old fashioned terminal control facility.
Checking the existence of sys/stropts.h in configure cures the problem.

Note that homebrew has similar patch.
https://github.com/Homebrew/formula-patches/blob/master/nvi/patch-ex_script.c.diff

Reproducible: Always

Actual Results:  
libtool: compile:  x86_64-apple-darwin16-clang -DHAVE_CONFIG_H -I. -D__REGEX_PRIVATE -I. -I./../include -DVI=\"/Users/shunsuke_shimizu/Gentoo/usr/bin/nvi-ipc\" -I./../regex -D_PATH_MSGCAT=\"/Users/shunsuke_shimizu/Gentoo/usr/share/vi/catalog/\" -I/Users/shunsuke_shimizu/Gentoo/usr/include/db5.1 -O -c ./../ex/ex_script.c  -fno-common -DPIC -o .libs/libvi_la-ex_script.o
./../ex/ex_script.c:27:10: fatal error: 'sys/stropts.h' file not found
#include <sys/stropts.h>
         ^


# emerge --info

Portage 2.3.5-prefix (python 3.5.2-final-0, prefix/darwin/macos/10.12/x64, clang-3.9.1, unavailable, 16.5.0 x86_64)
=================================================================
System uname: Darwin-16.5.0-x86_64-i386-64bit
Timestamp of repository gentoo_prefix: Tue, 23 May 2017 02:58:52 +0000
sh bash 4.3_p48
app-shells/bash:    4.3_p48::gentoo_prefix
dev-lang/perl:      5.24.1-r1::gentoo_prefix
dev-lang/python:    2.7.12::gentoo_prefix, 3.4.5::gentoo_prefix, 3.5.2::gentoo_prefix
dev-util/cmake:     3.8.0-r1::gentoo_prefix
dev-util/pkgconfig: 0.29.1::gentoo_prefix
sys-devel/autoconf: 2.69-r3::gentoo_prefix
sys-devel/automake: 1.14.1-r1::gentoo_prefix, 1.15-r2::gentoo_prefix
sys-devel/libtool:  2.4.6-r4::gentoo_prefix
sys-devel/make:     4.2.1-r1::gentoo_prefix
Repositories:

gentoo_prefix
    location: /Users/shunsuke_shimizu/Gentoo/usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix
    priority: -1000

ACCEPT_KEYWORDS="~x64-macos"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-apple-darwin16"
CC="x86_64-apple-darwin16-clang"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-apple-darwin16"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/terminfo"
CXX="x86_64-apple-darwin16-clang++"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/Users/shunsuke_shimizu/Gentoo/usr/portage/distfiles"
FCFLAGS=""
FEATURES="assume-digests binpkg-logs case-insensitive-fs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans unprivileged"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-dead_strip_dylibs"
MAKEOPTS="-j3"
PKGDIR="/Users/shunsuke_shimizu/Gentoo/usr/portage/packages"
PORTAGE_CONFIGROOT="/Users/shunsuke_shimizu/Gentoo/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/Users/shunsuke_shimizu/Gentoo/var/tmp"
USE="aqua coreaudio cracklib cxx ipv6 modules ncurses nls objc objc++ prefix prefix-guest readline ssl unicode x64-macos zlib" ABI_X86="64" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="Darwin" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby21 ruby22" USERLAND="GNU" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Shunsuke Shimizu 2017-05-23 05:20:22 UTC
Created attachment 473826 [details, diff]
Patch to check the existence of sys/stropts.h

Applying this patch makes build succeeding.
Comment 2 Fabian Groffen gentoo-dev 2017-05-23 09:56:00 UTC
The patch is a bit questionable, but matches the assumptions in the code, which sort of compensates.  Did you try to submit this patch upstream by chance?
Comment 3 Fabian Groffen gentoo-dev 2017-05-23 11:21:50 UTC
a simple export vi_cv_sys5_pty=no works too, so I committed that for the moment to the ebuild.
Comment 4 Shunsuke Shimizu 2017-05-28 05:47:48 UTC
(In reply to Fabian Groffen from comment #3)
> a simple export vi_cv_sys5_pty=no works too, so I committed that for the
> moment to the ebuild.

Thanks for your quick fix!
Solaris might requires vi_cv_sys5_pty, but I'm not sure.

(In reply to Fabian Groffen from comment #2)
> The patch is a bit questionable, but matches the assumptions in the code,
> which sort of compensates.  Did you try to submit this patch upstream by
> chance?

I believe the upstream is not maintained, as the last release is 10 years ago.
So I didn't try to send the patch.
Comment 5 Fabian Groffen gentoo-dev 2017-05-28 06:49:11 UTC
(In reply to Shunsuke Shimizu from comment #4)
> (In reply to Fabian Groffen from comment #3)
> > a simple export vi_cv_sys5_pty=no works too, so I committed that for the
> > moment to the ebuild.
> 
> Thanks for your quick fix!
> Solaris might requires vi_cv_sys5_pty, but I'm not sure.

I only applied the export for darwin, so it shouldn't affect any other platform.