Gentoo Archives: gentoo-alt

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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-alt] Prefix bootstrap stage3 pinentry fails when host system has FLTK Stephen McCamant <mccamant@××××××.edu>