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 |