Bug 186468

Summary: [PATCH] lang/ruby: rub19 won't build/install with lang/gcc installed on FreeBSD 10
Product: Ports & Packages Reporter: jim
Component: Individual Port(s)Assignee: Steve Wills <swills>
Status: Closed FIXED    
Severity: Affects Only Me CC: ruby
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
ruby-1.9.3.484_1,1.patch none

Description jim 2014-02-05 03:00:01 UTC
- lang/ruby19 requires libffi to build and run. lang/gcc installs a version of libffi.so in /usr/local/lib/gcc46/.
	# locate libffi
	/usr/local/lib/gcc46/libffi.a
	/usr/local/lib/gcc46/libffi.so
	/usr/local/lib/gcc46/libffi.so.4

	# locate ffi.h
	/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd10.0/4.6.4/include/ffi.h
- lang/ruby19 finds that version of libffi and does not build libffi from ports.
	===>   ruby-1.9.3.484_1,1 depends on file: /usr/local/bin/autoconf-2.69 - found
	===>   ruby-1.9.3.484_1,1 depends on shared library: libexecinfo.so - found
	===>   ruby-1.9.3.484_1,1 depends on shared library: libffi.so - found
	===>   ruby-1.9.3.484_1,1 depends on shared library: libyaml.so - found
- During build, libffi is not found, and "fiddle" is not build.
	configuring fiber
	configuring fiddle
	ffi.h is missing. Please install libffi.
	Failed to configure fiddle. It will not be installed.
	configuring io/console
-lang/ruby19 chokes on install
	===>  Installing for ruby-1.9.3.484_1,1
	===>  Checking if lang/ruby19 already installed
	===>   Registering installation for ruby-1.9.3.484_1,1
	pkg-static: lstat(/usr/ports/lang/ruby19/work/stage/usr/local/lib/ruby/1.9/amd64-freebsd10/fiddle.so): No such file or directory
	pkg-static: lstat(/usr/ports/lang/ruby19/work/stage/usr/local/lib/ruby/1.9/fiddle/closure.rb): No such file or directory
	pkg-static: lstat(/usr/ports/lang/ruby19/work/stage/usr/local/lib/ruby/1.9/fiddle/function.rb): No such file or directory
	pkg-static: lstat(/usr/ports/lang/ruby19/work/stage/usr/local/lib/ruby/1.9/fiddle.rb): No such file or directory
	pkg-static: lstat(/usr/ports/lang/ruby19/work/stage/usr/local/lib/ruby/1.9/fiddle/): No such file or directory
	*** Error code 74

	Stop.
	make[1]: stopped in /usr/ports/lang/ruby19
	*** Error code 1

	Stop.
	make: stopped in /usr/ports/lang/ruby19


Port maintainer (ruby@FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.99_11 (mode: change, diff: SVN)

Fix: Make libffi and build and run dependency.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-02-05 03:20:55 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gerald

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Gerald Pfeifer freebsd_committer freebsd_triage 2014-02-06 23:17:39 UTC
Responsible Changed
From-To: gerald->ruby@FreeBSD.org

Reassigning to proper maintainers.
Comment 3 Mark Linimon freebsd_committer freebsd_triage 2014-02-10 05:04:03 UTC
Responsible Changed
From-To: ruby@FreeBSD.org->ruby

Canonicalize assignment.
Comment 4 Steve Wills freebsd_committer freebsd_triage 2014-02-10 15:14:50 UTC
Responsible Changed
From-To: ruby->swills

I'll take it.
Comment 5 dfilter service freebsd_committer freebsd_triage 2014-02-10 20:22:28 UTC
Author: swills
Date: Mon Feb 10 20:22:20 2014
New Revision: 343678
URL: http://svnweb.freebsd.org/changeset/ports/343678
QAT: https://qat.redports.org/buildarchive/r343678/

Log:
  - Fix build when newer gcc which includes a libffi is installed
  
  PR:		ports/186468
  Submitted by:	Jim Ohlstein <jim@ohlste.in>

Modified:
  head/lang/ruby19/Makefile
  head/lang/ruby20/Makefile

Modified: head/lang/ruby19/Makefile
==============================================================================
--- head/lang/ruby19/Makefile	Mon Feb 10 20:10:29 2014	(r343677)
+++ head/lang/ruby19/Makefile	Mon Feb 10 20:22:20 2014	(r343678)
@@ -18,9 +18,12 @@ LICENSE=	BSD2CLAUSE RUBY
 LICENSE_COMB=	dual
 
 LIB_DEPENDS=	libexecinfo.so:${PORTSDIR}/devel/libexecinfo \
-		libffi.so:${PORTSDIR}/devel/libffi \
 		libyaml.so:${PORTSDIR}/textproc/libyaml
 
+# Using LIB_DEPENDS finds the libffi from gcc which causes problems
+BUILD_DEPENDS=	libffi>=0:${PORTSDIR}/devel/libffi
+RUN_DEPENDS=	libffi>=0:${PORTSDIR}/devel/libffi
+
 GNU_CONFIGURE=	yes
 WRKSRC=		${RUBY_WRKSRC}
 CONFIGURE_ARGS=	${RUBY_CONFIGURE_ARGS} \

Modified: head/lang/ruby20/Makefile
==============================================================================
--- head/lang/ruby20/Makefile	Mon Feb 10 20:10:29 2014	(r343677)
+++ head/lang/ruby20/Makefile	Mon Feb 10 20:22:20 2014	(r343678)
@@ -18,9 +18,12 @@ LICENSE=	BSD2CLAUSE RUBY
 LICENSE_COMB=	dual
 
 LIB_DEPENDS=	libexecinfo.so:${PORTSDIR}/devel/libexecinfo \
-		libffi.so:${PORTSDIR}/devel/libffi \
 		libyaml.so:${PORTSDIR}/textproc/libyaml
 
+# Using LIB_DEPENDS finds the libffi from gcc which causes problems
+BUILD_DEPENDS=	libffi>=0:${PORTSDIR}/devel/libffi
+RUN_DEPENDS=	libffi>=0:${PORTSDIR}/devel/libffi
+
 GNU_CONFIGURE=	yes
 WRKSRC=		${RUBY_WRKSRC}
 CONFIGURE_ARGS=	${RUBY_CONFIGURE_ARGS} \
_______________________________________________
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 6 Steve Wills freebsd_committer freebsd_triage 2014-02-10 20:22:32 UTC
State Changed
From-To: open->closed

Committed, with minor changes. Thanks!