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 |