Gentoo Archives: gentoo-alt

From: Stephen McCamant <mccamant@××××××.edu>
To: gentoo-alt@l.g.o
Subject: [gentoo-alt] Prefix bootstrap stage3 pinentry fails when host system has FLTK
Date: Tue, 08 May 2018 18:03:42
Message-Id: 23281.58999.63872.751635@dio.cs.umn.edu
1 I've been exploring creating a Gentoo Prefix installation on an x86_64
2 Ubuntu 16.04 machine where I do not have root, as an alternative way
3 of installing new software. I managed to finish the bootstrap once and
4 build a number of packages back in January (back then the host OS was
5 Ubuntu 14.04). But when I tried to re-do this process yesterday, the
6 bootstrap process failed during the compilation of the pinentry
7 program in stage3.
8
9 It looks like the problem relates to pinentry's configure script
10 attempting to auto-detect whether the FLTK GUI toolkit is
11 available. It's installed on my host machine, but not yet inside the
12 Prefix, so it shouldn't be used. But the pinentry configure script
13 finds the host's /usr/bin/fltk-config in my PATH and tries to compile
14 a FLTK version of pinentry; the compilation then fails because the
15 FLTK headers are not available inside the Prefix. (Presumably linking
16 would also fail later because the libraries aren't in the Prefix
17 either.)
18
19 A similar problem that affects the cross-compilation of pinentry was
20 recently reported in https://bugs.gentoo.org/653938 . One of the
21 patches attached to that bug
22 (https://bugs.gentoo.org/attachment.cgi?id=528442&action=diff) sounds
23 like it would be a fix/workaround for the same problem I'm having: it
24 adds fltk as a USE flag for the package, and then tells configure to
25 enable/disable FLTK depending on the USE flag. I'm guessing that
26 during the bootstrap process, Portage would then know that FLTK was
27 not available and build without it.
28
29 Is there a convenient way to test this change, either by rerunning
30 some commands in my unfinished bootstrap directory, or by redoing the
31 bootstrap but inserting a patched version of the pinentry ebuild file?
32
33 I've pasted below the most relevant excerpts from the stage3 log, and
34 the output of emerge --info. Let me know if it would also be helpful
35 to add a comment on the existing bug, or create a new bug perhaps with
36 even more logs.
37
38 -- Stephen
39
40 >>> Emerging (26 of 35) app-crypt/pinentry-1.1.0-r1::gentoo
41 * pinentry-1.1.0.tar.bz2 BLAKE2B SHA512 size ;-) ...
42 [ ok ]
43 >>> Unpacking source...
44 >>> Unpacking pinentry-1.1.0.tar.bz2 to
45 >>> /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work
46 >>> Source unpacked in
47 >>> /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work
48 >>> Preparing source in
49 >>> /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work/pinentry-1.1.0 ...
50 * Applying pinentry-1.0.0-make-icon-work-under-Plasma-Wayland.patch
51 ...
52 [ ok ]
53 * Applying pinentry-0.8.2-ncurses.patch ...
54 [ ok ]
55 * Running eautoreconf in
56 '/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work/pinentry-1.1.0' ...
57 * Running aclocal -I m4 ...
58 [ ok ]
59 * Running autoconf --force ...
60 [ ok ]
61 * Running autoheader ...
62 [ ok ]
63 * Running automake --add-missing --copy --force-missing ...
64 [ ok ]
65 * Running elibtoolize in: pinentry-1.1.0/
66 >>> Source prepared.
67 >>> Configuring source in
68 >>>
69 >>>
70 >>> /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work/pinentry-1.1.0 ...
71 * econf: updating pinentry-1.1.0/build-aux/config.guess with
72 /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/share/gnuconfig/config.guess
73 * econf: updating pinentry-1.1.0/build-aux/config.sub with
74 /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/share/gnuconfig/config.sub
75 ./configure
76 --prefix=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr
77 --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
78 --mandir=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/share/man
79 --infodir=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/share/info
80 --datadir=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/share
81 --sysconfdir=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/etc
82 --localstatedir=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/lib
83 --disable-dependency-tracking --disable-silent-rules
84 --docdir=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/share/doc/pinentry-1.1.0-r1
85 --htmldir=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/share/doc/pinentry-1.1.0-r1/html
86 --libdir=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/lib64
87 --enable-pinentry-tty --without-libcap --disable-pinentry-emacs
88 --disable-libsecret --disable-pinentry-gnome3 --disable-pinentry-gtk2
89 --enable-pinentry-curses --enable-fallback-curses
90 --disable-pinentry-qt
91 MOC=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/lib64/qt5/bin/moc
92 checking for a BSD-compatible
93 install...
94 /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/bin/install
95 -c
96 checking whether build environment is sane... yes
97 [...]
98 checking for fltk-config... /usr/bin/fltk-config
99 checking for FLTK 1.3... yes
100 [...]
101 configure:
102
103 Pinentry v1.1.0 has been configured as follows:
104
105 Revision: (0)
106 Platform: x86_64-pc-linux-gnu
107
108 Curses Pinentry ..: yes
109 TTY Pinentry .....: yes
110 Emacs Pinentry ...: no
111 GTK+-2 Pinentry ..: no
112 GNOME 3 Pinentry .: no
113 Qt Pinentry ......: no
114 TQt Pinentry .....: no
115 W32 Pinentry .....: no
116 FLTK Pinentry ....: yes
117
118 Fallback to Curses: yes
119 Emacs integration : yes
120
121 libsecret ........: no
122
123 Default Pinentry .: pinentry-curses
124
125 >>> Source configured.
126 >>> Compiling source in
127 >>> /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work/pinentry-1.1.0 ...
128 make
129 SHELL=/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/tmp/bin/bash
130 -j7
131 make all-recursive
132 [...]
133 x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I..
134 -I/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/include
135 -I/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/include
136 -I/usr/include/cairo -I/usr/include/glib-2.0
137 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
138 -I/usr/include/freetype2 -I/usr/include/libpng12
139 -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/glib-2.0
140 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
141 -I/usr/include/freetype2 -I/usr/include/libpng12
142 -fvisibility-inlines-hidden -D_LARGEFILE_SOURCE
143 -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT
144 -I/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/include/ncursesw -I../secmem -I../pinentry -Wall -std=c++11 -O2 -pipe -O2 -pipe -std=gnu++11 -c -o qualitypasswindow.o qualitypasswindow.cxx
145 qualitypasswindow.cxx:25:10: fatal error: FL/Fl_Window.H: No such file
146 or directory
147 #include <FL/Fl_Window.H>
148 ^~~~~~~~~~~~~~~~
149 compilation terminated.
150 make[2]: *** [Makefile:456: qualitypasswindow.o] Error 1
151 make[2]: *** Waiting for unfinished jobs....
152 pinwindow.cxx:26:10: fatal error: FL/Fl.H: No such file or directory
153 #include <FL/Fl.H>
154 ^~~~~~~~~
155 compilation terminated.
156 make[2]: *** [Makefile:456: pinwindow.o] Error 1
157 passwindow.cxx:28:10: fatal error: FL/Fl_Window.H: No such file or
158 directory
159 #include <FL/Fl_Window.H>
160 ^~~~~~~~~~~~~~~~
161 compilation terminated.
162 make[2]: *** [Makefile:456: passwindow.o] Error 1
163 main.cxx:50:10: fatal error: FL/Fl.H: No such file or directory
164 #include <FL/Fl.H>
165 ^~~~~~~~~
166 compilation terminated.
167 make[2]: *** [Makefile:456: main.o] Error 1
168 make[2]: Leaving directory
169 '/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work/pinentry-1.1.0/fltk'
170 make[1]: *** [Makefile:474: all-recursive] Error 1
171 make[1]: Leaving directory
172 '/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work/pinentry-1.1.0'
173 make: *** [Makefile:415: all] Error 2
174 * ERROR: app-crypt/pinentry-1.1.0-r1::gentoo failed (compile phase):
175 * emake failed
176 *
177 * If you need support, post the output of `emerge --info
178 '=app-crypt/pinentry-1.1.0-r1::gentoo'`,
179 * the complete build log and the output of `emerge -pqv
180 '=app-crypt/pinentry-1.1.0-r1::gentoo'`.
181 * The complete build log is located at
182 '/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/temp/build.log'.
183 * The ebuild environment file is located at
184 '/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/temp/environment'.
185 * Working directory:
186 '/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work/pinentry-1.1.0'
187 * S:
188 '/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/work/pinentry-1.1.0'
189
190 >>> Failed to emerge app-crypt/pinentry-1.1.0-r1, Log file:
191
192 >>>
193 >>> '/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/var/tmp/portage/app-crypt/pinentry-1.1.0-r1/temp/build.log'
194
195 Portage 2.3.18-prefix (python 2.7.3-final-0,
196 default/linux/amd64/17.0/no-multilib/prefix/kernel-3.2+, gcc-7.3.0,
197 unavailable, 4.13.0-39-generic x86_64)
198 =================================================================
199 System Settings
200 =================================================================
201 System uname: Linux-4.13.0-39-generic-x86_64-with-debian-stretch-sid
202 KiB Mem: 197991096 total, 133054224 free
203 KiB Swap: 3905532 total, 3905532 free
204 Timestamp of repository gentoo: Mon, 07 May 2018 00:45:01 +0000
205 Head commit of repository gentoo:
206 6f597edb19270c32954e252b435c75de43578fc4
207 sh bash 4.4_p19
208 ld GNU ld (GNU Binutils for Ubuntu) 2.26.1
209 app-shells/bash: 4.4_p19::gentoo
210 sys-devel/binutils: 2.30-r2::gentoo
211 sys-devel/gcc: 7.3.0-r1::gentoo
212 sys-devel/gcc-config: 1.9.1::gentoo
213 Repositories:
214
215 gentoo
216 location:
217 /scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/usr/portage
218 sync-type: rsync
219 sync-uri: rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix
220 priority: -1000
221 sync-rsync-extra-opts:
222
223 ACCEPT_KEYWORDS="amd64 ~amd64 ~amd64-linux"
224 ACCEPT_LICENSE="* -@EULA"
225 CBUILD="x86_64-pc-linux-gnu"
226 CFLAGS="-O2 -pipe -O2 -pipe"
227 CHOST="x86_64-pc-linux-gnu"
228 CONFIG_PROTECT="/etc"
229 CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/gentoo-release
230 /etc/terminfo"
231 CXXFLAGS="-O2 -pipe -O2 -pipe"
232 DISTDIR="/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/tmp/usr/portage/distfiles"
233 FCFLAGS="-O2 -pipe"
234 FEATURES="assume-digests binpkg-logs config-protect-if-modified
235 distlocks ebuild-locks fixlafiles force-prefix merge-sync
236 multilib-strict news parallel-fetch preserve-libs protect-owned
237 sfperms strict unknown-features-warn unmerge-logs unmerge-orphans
238 unprivileged"
239 FFLAGS="-O2 -pipe"
240 GENTOO_MIRRORS="http://distfiles.gentoo.org"
241 LANG="en_US.UTF-8"
242 LDFLAGS="-Wl,-O1 -Wl,--as-needed"
243 MAKEOPTS="-j7"
244 PKGDIR="/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/tmp/usr/portage/packages"
245 PORTAGE_CONFIGROOT="/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/tmp/"
246 PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times
247 --omit-dir-times --compress --force --whole-file --delete --stats
248 --human-readable --timeout=180 --exclude=/distfiles --exclude=/local
249 --exclude=/packages --exclude=/.git"
250 PORTAGE_TMPDIR="/scratch/heathrow/mccamant-public/gentoo-prefix-64-may2018/tmp/var/tmp"
251 USE="acl amd64 berkdb bzip2 cli crypt cxx dri fortran gdbm iconv ipv6
252 modules ncurses nls nptl openmp pcre prefix readline seccomp ssl tcpd
253 unicode zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp
254 atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938
255 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio
256 via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core
257 socache_shmcb unixd actions alias auth_basic authn_alias authn_anon
258 authn_dbm authn_default authn_file authz_dbm authz_default
259 authz_groupfile authz_host authz_owner authz_user autoindex cache cgi
260 cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter
261 file_cache filter headers include info log_config logio mem_cache mime
262 mime_magic negotiation rewrite setenvif speling status unique_id
263 userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon plan sheets
264 stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool
265 swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc"
266 GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt
267 gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle
268 oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip
269 tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse"
270 KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216
271 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console
272 presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice"
273 PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5"
274 PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5"
275 RUBY_TARGETS="ruby22 ruby23" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev
276 intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2
277 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy
278 condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude
279 chaos account"
280 Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK,
281 LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS,
282 PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Replies