Bug 186790 - textproc/flex 2.5.38 causes some depedencies to fail to build
Summary: textproc/flex 2.5.38 causes some depedencies to fail to build
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Barbara Guida
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-15 13:30 UTC by Matthew Rezny
Modified: 2014-02-21 09:40 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Rezny freebsd_committer freebsd_triage 2014-02-15 13:30:00 UTC
multimedia/libkate 0.4.1_2 (needed for VLC) failed to build on this machine. I had installed just installed VLC, and thus libkate, an another machine less than a week prior. The versions and options for libkate were same on both. The most pertinent difference I noticed between the two machines was the version of flex. Reverting to the prior version of flex corrected the build problem.

The tail of the libkate build was as follows:
[snip; no errors, minor unrelated warnings]
/bin/sh ../libtool --tag=CC --silent --mode=link cc -Wall -W  -I/usr/src/include  -I/usr/local/include/libpng15  -O3 -pipe -march=amdfam10 -I/usr/local/include -fstack-protector -fno-strict-aliasing -fstack-protector -o kateenc kateenc-kateenc.o kateenc-kate_lexer.o kateenc-kate_parser.o kateend-kpng.o ../lib/liboggkate.la ../lib/libkate.la -L/usr/local/lib -logg  -L/usr/local/lib -lpng15   -lfl
/usr/local/lib/libfl.so: undefined reference to 'yylex'
cc:error: linker command failed with exit code 1 (use -v to see invocation)
gmake[3]: *** [kateenc] Error 1
gmake[3]: Leaving directory '/usr/obj/usr/ports/multimedia/libkate/work/libkate-0.4.1/tools'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory '/usr/obj/usr/ports/multimedia/libkate/work/libkate-0.4.1/tools'
[snip; gmake recursion]
gmake: *** [all] Error 2

Fix: 

Revert flex to 2.5.37_1 i.e. cd /usr/ports/textproc/flex && svnlite -r 339569 up && make (re)install clean
cd /usr/ports/multimedia/libkate && make install clean (now succeeds)
How-To-Repeat: Ensure /usr/ports is at least r344136 (so that flex is at 2.5.38)
cd /usr/ports/textproc/flex && make install clean (will succeed)
cd /usr/ports/multimedia/libkate && make install clean (will fail)
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-02-15 13:30:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->johans

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Johan van Selst freebsd_committer freebsd_triage 2014-02-15 14:31:17 UTC
Responsible Changed
From-To: johans->bar

The port multimedia/libkate does not depend on textproc/flex 
and it does not need it. The port should probably be tweaked 
so that it always used flex from base instead. 

Even better would be to get a fix for libkate upstream to ensure 
that the kateenc binary is built without linking the fl library, 
as it doesn't appear to use this libary anyway. 

I am reassinging this PR to the maintainer of multimedia/libkate 
(bar@FreeBSD.org) for further investigation. 

Do let me know if you find any other issues with the latest 
flex update.  I checked many dependencies, but probably not all. 
However this port (multimedia/libkate) is not a dependency of flex.
Comment 3 Matthew Rezny freebsd_committer freebsd_triage 2014-02-17 00:36:03 UTC
I just hit the same problem, undefined reference to yylex in /usr/ 
local/lib/libfl.so, while building graphics/ender on another box. I  
noticed there is a flex 2.5.38_1 which corrects missing .la files in  
pkg-plist.  Unfortunately, that still does not help the situation, not  
that I expected the presence of any .la files to affect use of the .so  
file. I had to revert flex to 2.5.37_1 to build ender.

Maybe the libkate port has a problem since it's not listed as a port  
requiring flex for build. However, there seems to be a problem with  
current flex because I've seen more than one failure thus far. I don't  
know how many other ports might have failed had they been tried prior  
to reverting to the older flex.
Comment 4 dfilter service freebsd_committer freebsd_triage 2014-02-21 09:35:32 UTC
Author: johans
Date: Fri Feb 21 09:35:23 2014
New Revision: 345345
URL: http://svnweb.freebsd.org/changeset/ports/345345
QAT: https://qat.redports.org/buildarchive/r345345/

Log:
  Disable installation of shared libraries.
  These cause problems with several ports.
  
  PR:		ports/186790
  Submitted by:	Matthew Rezny <matthew@reztek.cz> and others

Modified:
  head/textproc/flex/Makefile
  head/textproc/flex/pkg-plist

Modified: head/textproc/flex/Makefile
==============================================================================
--- head/textproc/flex/Makefile	Fri Feb 21 09:34:10 2014	(r345344)
+++ head/textproc/flex/Makefile	Fri Feb 21 09:35:23 2014	(r345345)
@@ -2,7 +2,7 @@
 
 PORTNAME=	flex
 PORTVERSION=	2.5.38
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	textproc
 MASTER_SITES=	SF/${PORTNAME}
 
@@ -17,7 +17,7 @@ USES=		bison gmake
 USE_BZIP2=	yes
 GNU_CONFIGURE=	yes
 # install flex header to its own dir to avoid conflict with system flex.
-CONFIGURE_ARGS=	--includedir=${PREFIX}/include/flex
+CONFIGURE_ARGS=	--includedir=${PREFIX}/include/flex --disable-shared
 CONFIGURE_ENV=	M4=${LOCALBASE}/bin/gm4
 INSTALL_TARGET=	install-strip
 

Modified: head/textproc/flex/pkg-plist
==============================================================================
--- head/textproc/flex/pkg-plist	Fri Feb 21 09:34:10 2014	(r345344)
+++ head/textproc/flex/pkg-plist	Fri Feb 21 09:35:23 2014	(r345345)
@@ -3,12 +3,8 @@ bin/flex++
 include/flex/FlexLexer.h
 lib/libfl.a
 lib/libfl.la
-lib/libfl.so
-lib/libfl.so.2
 lib/libfl_pic.a
 lib/libfl_pic.la
-lib/libfl_pic.so
-lib/libfl_pic.so.2
 man/man1/flex.1.gz
 %%PORTDOCS%%%%DOCSDIR%%/AUTHORS
 %%PORTDOCS%%%%DOCSDIR%%/COPYING
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 5 Johan van Selst freebsd_committer freebsd_triage 2014-02-21 09:35:42 UTC
State Changed
From-To: open->closed

Has been worked around by removing shared libraries from flex.