Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 217046 - app-arch/dpkg-1.14.17 does not build with ncurses -unicode
Summary: app-arch/dpkg-1.14.17 does not build with ncurses -unicode
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-09 19:01 UTC by Jörg Gollnick
Modified: 2008-04-13 15:15 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jörg Gollnick 2008-04-09 19:01:20 UTC
app-arch/dpkg-1.14.17 does not build with ncurses -unicode

make[3]: Entering directory `/buildtmp/tmp/portage/app-arch/dpkg-1.14.17/work/dpkg-1.14.17/dselect'
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DLOCALEDIR=\"/usr/share/locale\" -DADMINDIR=\"/var/lib/dpkg\" -DLIBDIR=\"/usr/lib64/dpkg\" -idirafter ../libcompat -I../lib    -O2 -pipe -mno-tls-direct-seg-refs -MT basecmds.o -MD -MP -MF .deps/basecmds.Tpo -c -o basecmds.o basecmds.cc
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DLOCALEDIR=\"/usr/share/locale\" -DADMINDIR=\"/var/lib/dpkg\" -DLIBDIR=\"/usr/lib64/dpkg\" -idirafter ../libcompat -I../lib    -O2 -pipe -mno-tls-direct-seg-refs -MT baselist.o -MD -MP -MF .deps/baselist.Tpo -c -o baselist.o baselist.cc
In file included from basecmds.cc:33:
dselect.h:31:29: ncursesw/curses.h: No such file or directory
In file included from basecmds.cc:33:
dselect.h:56: error: ISO C++ forbids declaration of `WINDOW' with no type
dselect.h:56: error: expected `;' before '*' token
dselect.h:57: error: ISO C++ forbids declaration of `WINDOW' with no type
dselect.h:57: error: expected `;' before '*' token
dselect.h:141: error: variable or field `mywerase' declared void
dselect.h:141: error: `WINDOW' was not declared in this scope
dselect.h:141: error: `win' was not declared in this scope
basecmds.cc: In member function `void baselist::kd_redraw()':
basecmds.cc:87: error: `curscr' was not declared in this scope




Reproducible: Always

Steps to Reproduce:
1. build ncurses with -unicode
2. try to build dpkg


Actual Results:  
build broken

Expected Results:  
build works

please see also http://bugs.gentoo.org/show_bug.cgi?id=215670
Comment 1 Bo Ørsted Andresen (RETIRED) gentoo-dev 2008-04-09 19:23:50 UTC
Please add the output of emerge --info
Comment 2 Jörg Gollnick 2008-04-09 19:33:08 UTC
Portage 2.1.5_rc2 (default-linux/amd64/2006.0, gcc-3.4.6, glibc-2.7-r2, 2.6.20-xen-r6-domU x86_64)
=================================================================
System uname: 2.6.20-xen-r6-domU x86_64 AMD Sempron(tm) Processor 3000+
Timestamp of tree: Tue, 08 Apr 2008 23:15:02 +0000
app-shells/bash:     3.2_p33
dev-lang/python:     2.4.4-r9, 2.5.1-r5
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.12
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.24
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -mno-tls-direct-seg-refs"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe -mno-tls-direct-seg-refs"
DISTDIR="/download/gentoo"
FEATURES="autoconfig buildpkg candy distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/"
LDFLAGS=""
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/packages/x64_server"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/buildtmp/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/portage/local /portage/local_x64 /portage/local_x64_server"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="alsa amd64 berkdb bzip2 cli cracklib crypt cups dri eds emboss encode fam foomaticdb fortran gif gpm gstreamer iconv imlib isdnlog jpeg lzw lzw-tiff midi minimal mp3 mpeg mudflap ncurses nls nptl nptlonly opengl openmp pam pcre perl png pppd python qt3 qt4 quicktime readline reflection sdl session spell spl ssl tcpd tiff usb vorbis xorg xpm xv zlib" ALSA_CARDS="via82xx" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 3 Jörg Gollnick 2008-04-09 19:34:05 UTC
emerge sys-libs/ncurses -pv

These are the packages that would be merged, in order:

Calculating dependencies           ... done!
[ebuild   R   ] sys-libs/ncurses-5.6-r2  USE="gpm minimal -bootstrap -build -debug -doc -nocxx -profile -trace -unicode" 0 kB
Comment 4 SpanKY gentoo-dev 2008-04-10 04:16:26 UTC
should be fixed in cvs.  please test and let us know.

http://sources.gentoo.org/app-arch/dpkg/dpkg-1.14.17.ebuild?r1=1.1&r2=1.2
Comment 5 Jörg Gollnick 2008-04-10 20:11:31 UTC
unfortunally it not builds

x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DLOCALEDIR=\"/usr/share/locale\" -DADMINDIR=\"/var/lib/dpkg\" -DLIBDIR=\"/usr/lib64/dpkg\" -idirafter ../libcompat -I../lib    -O2 -pipe -mno-tls-direct-seg-refs -MT bindings.o -MD -MP -MF .deps/bindings.Tpo -c -o bindings.o bindings.cc
mv -f .deps/basetop.Tpo .deps/basetop.Po
cursesfile=`echo '#include <ncursesw/curses.h>' | \
                x86_64-pc-linux-gnu-gcc -std=gnu99 -E - | grep 'curses.h' | head -n 1 | \
                sed -e 's/^[^"]*"//; s/".*$//'`; \
        if [ "$cursesfile" = "" ]; then \
                echo "can't find curses file"; exit 1; \
        fi; \
        perl ./mkcurkeys.pl keyoverride $cursesfile >curkeys.h
mv -f .deps/bindings.Tpo .deps/bindings.Po
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I.. -DLOCALEDIR=\"/usr/share/locale\" -DADMINDIR=\"/var/lib/dpkg\" -DLIBDIR=\"/usr/lib64/dpkg\" -idirafter ../libcompat -I../lib    -O2 -pipe -mno-tls-direct-seg-refs -MT helpmsgs.o -MD -MP -MF .deps/helpmsgs.Tpo -c -o helpmsgs.o helpmsgs.cc
<stdin>:1:29: ncursesw/curses.h: No such file or directory
can't find curses file
make[3]: *** [curkeys.h] Error 1
make[3]: *** Waiting for unfinished jobs....
mv -f .deps/helpmsgs.Tpo .deps/helpmsgs.Po
make[3]: Leaving directory `/buildtmp/tmp/portage/app-arch/dpkg-1.14.17-r1/work/dpkg-1.14.17/dselect'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/buildtmp/tmp/portage/app-arch/dpkg-1.14.17-r1/work/dpkg-1.14.17/dselect'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/buildtmp/tmp/portage/app-arch/dpkg-1.14.17-r1/work/dpkg-1.14.17'
make: *** [all] Error 2
Comment 6 Jörg Gollnick 2008-04-11 21:00:56 UTC
(In reply to comment #5)
> unfortunally it not builds
> 
> x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I..
> -DLOCALEDIR=\"/usr/share/locale\" -DADMINDIR=\"/var/lib/dpkg\"
> -DLIBDIR=\"/usr/lib64/dpkg\" -idirafter ../libcompat -I../lib    -O2 -pipe
> -mno-tls-direct-seg-refs -MT bindings.o -MD -MP -MF .deps/bindings.Tpo -c -o
> bindings.o bindings.cc
> mv -f .deps/basetop.Tpo .deps/basetop.Po
> cursesfile=`echo '#include <ncursesw/curses.h>' | \
>                 x86_64-pc-linux-gnu-gcc -std=gnu99 -E - | grep 'curses.h' |
> head -n 1 | \
>                 sed -e 's/^[^"]*"//; s/".*$//'`; \
>         if [ "$cursesfile" = "" ]; then \
>                 echo "can't find curses file"; exit 1; \
>         fi; \
>         perl ./mkcurkeys.pl keyoverride $cursesfile >curkeys.h
> mv -f .deps/bindings.Tpo .deps/bindings.Po
> x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I..
> -DLOCALEDIR=\"/usr/share/locale\" -DADMINDIR=\"/var/lib/dpkg\"
> -DLIBDIR=\"/usr/lib64/dpkg\" -idirafter ../libcompat -I../lib    -O2 -pipe
> -mno-tls-direct-seg-refs -MT helpmsgs.o -MD -MP -MF .deps/helpmsgs.Tpo -c -o
> helpmsgs.o helpmsgs.cc
> <stdin>:1:29: ncursesw/curses.h: No such file or directory
> can't find curses file
> make[3]: *** [curkeys.h] Error 1
> make[3]: *** Waiting for unfinished jobs....
> mv -f .deps/helpmsgs.Tpo .deps/helpmsgs.Po
> make[3]: Leaving directory
> `/buildtmp/tmp/portage/app-arch/dpkg-1.14.17-r1/work/dpkg-1.14.17/dselect'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory
> `/buildtmp/tmp/portage/app-arch/dpkg-1.14.17-r1/work/dpkg-1.14.17/dselect'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/buildtmp/tmp/portage/app-arch/dpkg-1.14.17-r1/work/dpkg-1.14.17'
> make: *** [all] Error 2
> 
Need a little bit more to make it work without unicode.
May be somebody can integrate it in cvs.
I build it and tested it roughly, dselect shows a menu.

diff -u /usr/portage/app-arch/dpkg/dpkg-1.14.17.ebuild dpkg-1.14.17-r1.ebuild
--- /usr/portage/app-arch/dpkg/dpkg-1.14.17.ebuild      2008-04-10 06:36:23.000000000 +0200
+++ dpkg-1.14.17-r1.ebuild      2008-04-11 12:37:42.951258750 +0200
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/dpkg/dpkg-1.14.17.ebuild,v 1.2 2008/04/10 04:16:46 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/dpkg/dpkg-1.14.17.ebuild,v 1.1 2008/04/02 03:04:25 vapier Exp $

 inherit eutils multilib

@@ -11,7 +11,7 @@
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~ppc ~s390 ~sh ~sparc ~x86"
-IUSE="bzip2 nls selinux test unicode zlib"
+IUSE="bzip2 nls selinux test zlib unicode"

 RDEPEND=">=dev-lang/perl-5.6.0
        >=sys-libs/ncurses-5.2-r7
@@ -26,8 +26,10 @@
        cd "${S}"
        epatch "${FILESDIR}"/${PN}-1.14.12-nls.patch #192819
        if ! use unicode ; then
-               sed -i "s:ncursesw/curses.h:curses.h:" dselect/dselect.h #217046
-               export ac_cv_lib_ncursesw_initscr=no
+                  sed -i "s:ncursesw/curses.h:curses.h:" dselect/dselect.h #217046
+                  sed -i "s:ncursesw/curses.h:curses.h:" dselect/Makefile.am #217046
+                  sed -i "s:ncursesw/term.h:term.h:" dselect/main.cc #217046
+                  export ac_cv_lib_ncursesw_initscr=no
        fi
 }

Comment 8 Jörg Gollnick 2008-04-13 15:15:27 UTC
(In reply to comment #7)
> should be fixed now
> 
> http://sources.gentoo.org/app-arch/dpkg/dpkg-1.14.17.ebuild?r1=1.2&r2=1.3
> 
Tested dselect: compiles and can be started.