Can't build Gnu Screen

683 views
Skip to first unread message

Taylor LeMasurier-Wren

unread,
May 19, 2012, 2:16:09 AM5/19/12
to chromium-...@chromium.org
I'm trying to build Gnu Screen to use on my Cr-48. It was easy to do before, I just had to run "sudo emerge screen" with standard ChromiumOS SDK (I did customize the ebuild to use /tmp/screen to store the socket and /usr/local/etc/screenrc for the config). But, now that Chrome OS is back on i686, I have to cross-compile it into /build/x86-mario, and it always fails. It seems that the configure can't use fifos when cross-compiling. Can someone lend me some help?

configure: checking setreuid...
configure: checking seteuid...
configure: checking select...
configure: checking fifos...
checking usable fifos... configure: error: in `/build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3':
configure: error: cannot run test program while cross compiling
See `config.log' for more details
!!! Please attach the following file when seeking support:
!!! /build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3/config.log
 * ERROR: app-misc/screen-4.0.3-r4 failed (configure phase):
 *   econf failed
 *
 * Call stack:
 *     ebuild.sh, line   56:  Called src_configure
 *   environment, line 3468:  Called econf '--with-socket-dir=/tmp/screen' '--with-sys-screenrc=/usr/local/etc/screenrc' '--with-pty-mode=0620' '--with-pty-group=5' '--enable-rxvt_osc' '--enable-telnet' '--enable-colors256' '--disable-pam'
 *     ebuild.sh, line  561:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
 *
 * If you need support, post the output of 'emerge --info =app-misc/screen-4.0.3-r4',
 * the complete build log and the output of 'emerge -pqv =app-misc/screen-4.0.3-r4'.
 * This ebuild is from an overlay named 'x-gentoo-x86': '/home/ripps/trunk/src/third_party/gentoo-x86/'
 * The complete build log is located at '/build/x86-mario/tmp/portage/logs/app-misc:screen-4.0.3-r4:20120519-054857.log'.
 * The ebuild environment file is located at '/build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/temp/environment'.
 * S: '/build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3'

config.log

Mike Frysinger

unread,
May 21, 2012, 11:37:11 AM5/21/12
to ripp...@gmail.com, chromium-...@chromium.org
On Sat, May 19, 2012 at 2:16 AM, Taylor LeMasurier-Wren wrote:
> I'm trying to build Gnu Screen to use on my Cr-48. It was easy to do before,
> I just had to run "sudo emerge screen" with standard ChromiumOS SDK (I did
> customize the ebuild to use /tmp/screen to store the socket and
> /usr/local/etc/screenrc for the config). But, now that Chrome OS is back on
> i686, I have to cross-compile it into /build/x86-mario, and it always fails.
> It seems that the configure can't use fifos when cross-compiling. Can
> someone lend me some help?
>
>> configure: checking fifos...
>> checking usable fifos... configure: error: in
>> `/build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3':
>> configure: error: cannot run test program while cross compiling
>> See `config.log' for more details

i specifically tested cross-compiling before i added the new screen.
i just tested it again, and it works for x86-alex boards:
configure: checking fifos...
checking usable fifos... (cached) yes
checking broken fifo implementation... (cached) yes

is your toolchain/crossdev up to date ?
-mike

Taylor LeMasurier-Wren

unread,
May 25, 2012, 9:26:39 AM5/25/12
to chromium-...@chromium.org, ripp...@gmail.com
I've already updated everything using update_chroot and build_packages. Still can't get it to build. 

Sean Paul

unread,
May 25, 2012, 9:49:37 AM5/25/12
to ripp...@gmail.com, chromium-...@chromium.org
You said in your previous email that you use "sudo emerge screen" to
build screen. If you're building it for the device, you probably want
to run "emerge-x86-mario screen" instead.

Sean

> --
> Chromium OS discuss mailing list: chromium-...@chromium.org
> View archives, change email options, or unsubscribe:
> http://groups.google.com/a/chromium.org/group/chromium-os-discuss?hl=en

Zdenek Behan

unread,
May 25, 2012, 9:57:32 AM5/25/12
to sean...@chromium.org, ripp...@gmail.com, chromium-...@chromium.org
On Fri, May 25, 2012 at 3:49 PM, Sean Paul <sean...@chromium.org> wrote:
On Fri, May 25, 2012 at 9:26 AM, Taylor LeMasurier-Wren
<ripp...@gmail.com> wrote:
> On Monday, May 21, 2012 10:37:11 AM UTC-5, Mike Frysinger wrote:
>>
>> On Sat, May 19, 2012 at 2:16 AM, Taylor LeMasurier-Wren wrote:
>> > I'm trying to build Gnu Screen to use on my Cr-48. It was easy to do
>> > before,
>> > I just had to run "sudo emerge screen" with standard ChromiumOS SDK (I
>> > did
>> > customize the ebuild to use /tmp/screen to store the socket and
>> > /usr/local/etc/screenrc for the config). But, now that Chrome OS is back
>> > on
>> > i686, I have to cross-compile it into /build/x86-mario, and it always
>> > fails.
>> > It seems that the configure can't use fifos when cross-compiling. Can
>> > someone lend me some help?
>> >
>> >> configure: checking fifos...
>> >> checking usable fifos... configure: error: in
>> >>
>> >> `/build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3':
>> >> configure: error: cannot run test program while cross compiling
>> >> See `config.log' for more details

You'll probably have to debug this at least a little yourself to find out more. Be aware that the configure death messages are commonly rather cryptic, and may not mean quite what they pretend to be from the outside. Go look at the config.log, find the test program that failed and attempt to reproduce the failure, the gcc error messages will probably be a lot more meaningful.

Mike Frysinger

unread,
May 25, 2012, 11:53:37 AM5/25/12
to ripp...@gmail.com, chromium-...@chromium.org
when you do `emerge-x86-mario screen`, it should:
...
>>> Configuring source in /build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3 ...
...
configure: loading site script /usr/share/config.site
configure: loading site script /usr/share/crossdev/include/site/linux
configure: loading site script /usr/share/crossdev/include/site/linux-gnu
configure: loading site script /usr/share/crossdev/include/site/i686-linux-gnu
...

those scripts should take care of exporting various screen_cv_*
variables so that the configure test results in:
...
configure: checking fifos...
checking usable fifos... (cached) yes
checking broken fifo implementation... (cached) yes
...

if you don't see that output, figure out why. `sudo emerge crossdev`
takes care of installing those site files.
-mike

Taylor LeMasurier-Wren

unread,
May 25, 2012, 9:41:06 PM5/25/12
to chromium-...@chromium.org, ripp...@gmail.com
Ok, just to be clear, I used `sudo emerge screen` when Chrome OS was 64 bit, but now that it's 32 bit again, I've been using emerge-x86-mario. It's the x86-mario wrapper that's not working.

Taylor LeMasurier-Wren

unread,
May 25, 2012, 9:47:16 PM5/25/12
to chromium-...@chromium.org, sean...@chromium.org, ripp...@gmail.com
> On Monday, May 21, 2012 10:37:11 AM UTC-5, Mike Frysinger wrote:
>>
>> On Sat, May 19, 2012 at 2:16 AM, Taylor LeMasurier-Wren wrote:
>> > I'm trying to build Gnu Screen to use on my Cr-48. It was easy to do
>> > before,
>> > I just had to run "sudo emerge screen" with standard ChromiumOS SDK (I
>> > did
>> > customize the ebuild to use /tmp/screen to store the socket and
>> > /usr/local/etc/screenrc for the config). But, now that Chrome OS is back
>> > on
>> > i686, I have to cross-compile it into /build/x86-mario, and it always
>> > fails.
>> > It seems that the configure can't use fifos when cross-compiling. Can
>> > someone lend me some help?
>> >
>> >> configure: checking fifos...
>> >> checking usable fifos... configure: error: in
>> >>
>> >> `/build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3':
>> >> configure: error: cannot run test program while cross compiling
>> >> See `config.log' for more details

You'll probably have to debug this at least a little yourself to find out more. Be aware that the configure death messages are commonly rather cryptic, and may not mean quite what they pretend to be from the outside. Go look at the config.log, find the test program that failed and attempt to reproduce the failure, the gcc error messages will probably be a lot more meaningful.

I've looked at it, the best I can figure out is that it says " cannot run test program while cross compiling" right after it checks fifos. But don't take my word for it, I've attached the config.log.
config.log

Mike Frysinger

unread,
May 25, 2012, 10:19:06 PM5/25/12
to ripp...@gmail.com, chromium-...@chromium.org
On Fri, May 25, 2012 at 9:41 PM, Taylor LeMasurier-Wren wrote:
> On Friday, May 25, 2012 10:53:37 AM UTC-5, Mike Frysinger wrote:
>> when you do `emerge-x86-mario screen`, it should:
>> ...
>> >>> Configuring source in
>> >>> /build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3 ...
>> ...
>> configure: loading site script /usr/share/config.site
>> configure: loading site script /usr/share/crossdev/include/site/linux
>> configure: loading site script /usr/share/crossdev/include/site/linux-gnu
>> configure: loading site script
>> /usr/share/crossdev/include/site/i686-linux-gnu
>> ...
>>
>> those scripts should take care of exporting various screen_cv_*
>> variables so that the configure test results in:
>> ...
>> configure: checking fifos...
>> checking usable fifos... (cached) yes
>> checking broken fifo implementation... (cached) yes
>> ...
>>
>> if you don't see that output, figure out why.  `sudo emerge crossdev`
>> takes care of installing those site files.
>
> Ok, just to be clear, I used `sudo emerge screen` when Chrome OS was 64 bit,
> but now that it's 32 bit again, I've been using emerge-x86-mario. It's the
> x86-mario wrapper that's not working.

and i showed you how to diagnose `emerge-x86-mario` not working
-mike

Taylor LeMasurier-Wren

unread,
May 25, 2012, 10:37:07 PM5/25/12
to chromium-...@chromium.org, ripp...@gmail.com
 Ok, so I have crossdev installed, but it's not loading the site scripts? How do I get it to load them?

Taylor LeMasurier-Wren

unread,
May 25, 2012, 10:40:31 PM5/25/12
to chromium-...@chromium.org, ripp...@gmail.com
No. It seems to be loading the site scripts, they just don't fix the problem

>>> Emerging (1 of 1) app-misc/screen-4.0.3-r4 for /build/x86-mario/
 * screen-4.0.3.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                                                  [ ok ]
 * Running stacked hooks for pre_pkg_setup
 *    sysroot_build_bin_dir ...                                                                                                                         [ ok ]
 * Running stacked hooks for pre_src_unpack
 *    python_multilib_setup ...                                                                                                                         [ ok ]
>>> Unpacking source...
>>> Unpacking screen-4.0.3.tar.gz to /build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work
>>> Source unpacked in /build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work
>>> Preparing source in /build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3 ...
 * Applying screen-4.0.1-int-overflow-fix.patch ...                                                                                                     [ ok ]
 * Applying screen-4.0.1-vsprintf.patch ...                                                                                                             [ ok ]
 * Applying 4.0.2-no-utempter.patch ...                                                                                                                 [ ok ]
 * Applying 4.0.2-no-libelf.patch ...                                                                                                                   [ ok ]
 * Applying 4.0.2-64bit-time.patch ...                                                                                                                  [ ok ]
 * Applying 4.0.2-windowlist-multiuser-fix.patch ...                                                                                                    [ ok ]
 * Applying 4.0.2-nonblock.patch ...                                                                                                                    [ ok ]
 * Applying screen-4.0.3-config.h-autoconf-2.62.patch ...                                                                                               [ ok ]
 * Applying screen-4.0.3-crosscompile.patch ...                                                                                                         [ ok ]
 * Applying screen-4.0.3-setenv_autoconf.patch ...                                                                                                      [ ok ]
 * Applying 4.0.3-extend-d_termname-ng2.patch ...                                                                                                       [ ok ]
 * Running autoconf -I /build/x86-mario/usr/share/aclocal ...                                                                                           [ ok ]
>>> Source prepared.

>>> Configuring source in /build/x86-mario/tmp/portage/app-misc/screen-4.0.3-r4/work/screen-4.0.3 ...
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --with-socket-dir=/tmp/screens --with-sys-screenrc=/usr/local/etc/screenrc --with-pty-mode=0620 --with-pty-group=5 --enable-rxvt_osc --enable-telnet --enable-colors256 --disable-pam

configure: loading site script /usr/share/config.site
configure: loading site script /usr/share/crossdev/include/site/linux
configure: loading site script /usr/share/crossdev/include/site/linux-gnu
configure: loading site script /usr/share/crossdev/include/site/i686-linux-gnu

this is screen version 4.0.3
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether i686-pc-linux-gnu-gcc accepts -g... yes
checking for i686-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... i686-pc-linux-gnu-gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking whether i686-pc-linux-gnu-gcc needs -traditional... no
checking for library containing strerror... none required
checking for compiler sanity... configure: WARNING: skipping test due to crosscompilation
checking if compiler sets exit status... configure: WARNING: skipping test due to crosscompilation
checking for gawk... gawk
checking for a BSD-compatible install... /usr/bin/install -c
configure: checking for buggy tools...
- sh  is 'GNU bash, version 4.2.20(1)-release (x86_64-pc-linux-gnu)'.
- sed is 'GNU sed version 4.2.1'.
checking if a system-wide socket dir should be used... yes
configure: checking for MIPS...
configure: checking for Ultrix...
configure: checking for butterfly...
configure: checking for POSIX.1...
- you have a POSIX system
configure: checking for System V...
configure: checking for sequent/ptx...
configure: checking for Solaris 2.x...
configure: checking BSD job jontrol...
- you have jobcontrol

configure: checking setreuid...
configure: checking seteuid...
configure: checking select...
configure: checking fifos...

Mike Frysinger

unread,
May 25, 2012, 11:02:50 PM5/25/12
to chromium-...@chromium.org
On Fri, May 25, 2012 at 10:40 PM, Taylor LeMasurier-Wren wrote:
> No. It seems to be loading the site scripts, they just don't fix the problem

you can fix locally by doing:
# sudo su -
# cd /usr/share/crossdev/include/site/
# grep screen_cv linux-gnueabi >> linux-gnu
-mike

Taylor LeMasurier-Wren

unread,
May 25, 2012, 11:09:40 PM5/25/12
to chromium-...@chromium.org
Awesome, that worked! Thanks, I've beating my head against this for a while now. 
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages