Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 222415 - missing libfl.a from sys-devel/flex with recent install media
Summary: missing libfl.a from sys-devel/flex with recent install media
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Release Media
Classification: Unclassified
Component: LiveCD/DVD/USB (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Release Team
URL:
Whiteboard:
Keywords:
: 229639 315797 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-05-16 17:48 UTC by Piotr Bober
Modified: 2010-04-20 07:01 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (bug,3.23 KB, text/plain)
2008-05-16 17:52 UTC, Piotr Bober
Details
emerge openmotif (buf,1.29 KB, text/plain)
2008-05-16 17:54 UTC, Piotr Bober
Details
build.log (build.log,380.62 KB, text/plain)
2008-05-16 21:34 UTC, Piotr Bober
Details
emerge --info from bug 223683 comment #7 (bug223683c7-emerge-info,3.36 KB, text/plain)
2008-05-30 10:43 UTC, Ulrich Müller
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Bober 2008-05-16 17:48:39 UTC
Hi,
 i tried to emerge openmotif, but it fails while compiling in place where it uses crt1.0.
Comment 1 Piotr Bober 2008-05-16 17:52:42 UTC
Created attachment 153361 [details]
emerge --info
Comment 2 Piotr Bober 2008-05-16 17:54:02 UTC
Created attachment 153363 [details]
emerge openmotif

only last lines of the proces
Comment 3 Piotr Bober 2008-05-16 17:57:05 UTC
Portage 2.1.4.4 (default/linux/amd64/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.24-gentoo-r8 x86_64)
=================================================================
System uname: 2.6.24-gentoo-r8 x86_64 AMD Turion(tm) 64 Mobile Technology ML-32
Timestamp of tree: Fri, 16 May 2008 16:00:01 +0000
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r6
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.8.5-r3, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=k8 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="gentoo.mirror.pw.edu.pl"
LANG="pl_PL"
LC_ALL="pl_PL"
LINGUAS="pl_PL"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 avahi berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam firefox fortran gdbm gif gnome gpm gstreamer gtk hal iconv ipv6 isdnlog jpeg kde kerberos ldap libnotify mad midi mikmod mmx mp3 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline reflection sdl session spell spl sse sse2 ssl startup-notification svg tcpd tiff truetype unicode vorbis xml xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl_PL" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 4 Ulrich Müller gentoo-dev 2008-05-16 20:55:12 UTC
Please attach the complete build.log.
Comment 5 Piotr Bober 2008-05-16 21:34:18 UTC
Created attachment 153377 [details]
build.log

full build.log as requested
Comment 6 Ulrich Müller gentoo-dev 2008-05-16 22:12:17 UTC
Looks like configure has a problem with libfl:
   checking for flex... flex
   checking for yywrap in -lfl... no
   checking for yywrap in -ll... no
   checking lex output file root... lex.yy
   checking whether yytext is a pointer... no

What is the output of:
$ nm /usr/lib*/libfl*
Comment 7 Piotr Bober 2008-05-16 22:15:14 UTC
(In reply to comment #6)
> Looks like configure has a problem with libfl:
>    checking for flex... flex
>    checking for yywrap in -lfl... no
>    checking for yywrap in -ll... no
>    checking lex output file root... lex.yy
>    checking whether yytext is a pointer... no
> 
> What is the output of:
> $ nm /usr/lib*/libfl*
> 

localhost ~ # nm /usr/lib*/libfl*
nm: '/usr/lib*/libfl*': No such file

Comment 8 Ulrich Müller gentoo-dev 2008-05-17 08:34:16 UTC
> localhost ~ # nm /usr/lib*/libfl*
> nm: '/usr/lib*/libfl*': No such file

This should exist...
Please (re-)emerge sys-devel/flex and try again.
Comment 9 Piotr Bober 2008-05-17 09:44:05 UTC
(In reply to comment #8)
> > localhost ~ # nm /usr/lib*/libfl*
> > nm: '/usr/lib*/libfl*': No such file
> 
> This should exist...
> Please (re-)emerge sys-devel/flex and try again.
> 

Your suggestion worked. I emerged flex (weird, cause "reemerged" it actually) and everything compiled fine. I'm pretty sure that I haven't removed libmain.o or libyywrap.o... 
Thanks for your help.
Comment 10 Ulrich Müller gentoo-dev 2008-05-30 10:01:52 UTC
Reopening, since I've now got a second report about this problem, see bug 223683 comment #7.
Comment 11 Ulrich Müller gentoo-dev 2008-05-30 10:15:16 UTC
Reassigning to base-system.
How is it possible that a system ends up without libfl.a installed?
Comment 12 Piotr Bober 2008-05-30 10:43:16 UTC
(In reply to comment #11)
> Reassigning to base-system.
> How is it possible that a system ends up without libfl.a installed?
> 

Maybe it's a problem with the liveCD??(mine was 2008.0 beta2(amd64))
Comment 13 Ulrich Müller gentoo-dev 2008-05-30 10:43:36 UTC
Created attachment 154821 [details]
emerge --info from bug 223683 comment #7

(It is a bad idea to link to pastebins, since they tend to disappear after some time. Therefore attaching the info here.)
Comment 14 Ulrich Müller gentoo-dev 2008-05-30 14:00:43 UTC
(In reply to comment #12)
> > How is it possible that a system ends up without libfl.a installed?
> 
> Maybe it's a problem with the liveCD??(mine was 2008.0 beta2(amd64))

Indeed, the 2008.0_beta2 live cd has no /usr/lib64/libfl.a, in contrast to 2007.0.
CCing release@g.o, is this on purpose?
Comment 15 SpanKY gentoo-dev 2008-05-31 06:49:39 UTC
flex always installs its static library

the livecd always prunes all static archives ... having them on the install cd makes no sense at all as the livecd env is a runtime only and static archives means bloat in that env
Comment 16 Jeroen Roovers (RETIRED) gentoo-dev 2008-07-06 21:26:12 UTC
*** Bug 229639 has been marked as a duplicate of this bug. ***
Comment 17 Andrew Gaffney (RETIRED) gentoo-dev 2008-10-02 18:33:00 UTC
I just extracted the stage3-i686-2008.0 tarball, and /usr/lib/libfl.a exists. Whether or not it exists on the CD doesn't matter (unless you're doing a GUI install, and then it only matters for the LiveCD, not the minimal).
Comment 18 Ulrich Müller gentoo-dev 2008-10-03 18:09:50 UTC
> I just extracted the stage3-i686-2008.0 tarball, and /usr/lib/libfl.a exists.
> Whether or not it exists on the CD doesn't matter (unless you're doing a GUI
> install, and then it only matters for the LiveCD, not the minimal).

So, is a GUI install officially supported? If it is, then libfl.a should be on the LiveCD.

The difference between libfl.a and other static libraries is that libfl.a contains main() and therefore cannot be linked dynamically.
Comment 19 Andrew Gaffney (RETIRED) gentoo-dev 2008-10-03 18:21:16 UTC
I can say with relative certainty that it is *not* on the minimal CD. However, it *should* be on the LiveCD. It is possible that it isn't, though. Can someone boot the various LiveCDs and check? I'm not currently able to.
Comment 20 Thilo Bangert (RETIRED) (RETIRED) gentoo-dev 2008-10-13 20:25:00 UTC
i checked livecd-i686-installer-2008.0-r1.iso and it was there...
Comment 21 Ulrich Müller gentoo-dev 2008-10-13 21:47:31 UTC
(In reply to comment #20)
> i checked livecd-i686-installer-2008.0-r1.iso and it was there...

This bug is about amd64... Please read comment #14 again.

I've checked again with livecd-amd64-installer-2008.0-r1.iso, and there is definitely no /usr/lib{,32,64}/libfl.a. The i686 livecd has it, though.
Comment 22 Andrew Gaffney (RETIRED) gentoo-dev 2008-10-13 22:30:07 UTC
What about the amd64 stage3 tarball?
Comment 23 Ulrich Müller gentoo-dev 2008-10-14 07:19:44 UTC
> What about the amd64 stage3 tarball?

$ tar tvf stage3-amd64-2008.0.tar.bz2 | grep libfl
-rw-r--r-- root/root      2756 2008-06-17 03:51 ./usr/lib64/libfl.a
Comment 24 Andrew Gaffney (RETIRED) gentoo-dev 2008-10-14 12:24:44 UTC
Okay, so it's only missing from the amd64 livecd. I'm not sure this is worth rebuilding the entire CD for, though. This only effects people doing amd64 GUI installs, and there's a workaround.
Comment 25 Rob Somers 2008-12-21 03:00:29 UTC
This is only somewhat related, but I searched for the terms in the gcc output, and this is where I ended up...

usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status

So I did nm /usr/lib*/libfl* (as suggested in one of the comments), and it gave me 
/usr/lib/libfl.a:

libmain.o:
                 U _GLOBAL_OFFSET_TABLE_
0000000000000000 T main
                 U yylex

libyywrap.o:
0000000000000000 T yywrap

/usr/lib64/libfl.a:

libmain.o:
                 U _GLOBAL_OFFSET_TABLE_
0000000000000000 T main
                 U yylex

libyywrap.o:
0000000000000000 T yywrap

I did rebuild flex, but it looks like I didn't need to.  Anyway, I am not sure of what to do with this - I am just building a very small sample program using setjmp and longjmp, but I cannot get it built because of this problem.
Comment 26 Ulrich Müller gentoo-dev 2010-02-11 10:45:26 UTC
libfl.a is on the amd64 livedvd, so I think that this bug can be closed.
Comment 27 Ulrich Müller gentoo-dev 2010-04-20 07:01:47 UTC
*** Bug 315797 has been marked as a duplicate of this bug. ***