From owner-freebsd-questions@FreeBSD.ORG Wed Nov 7 21:46:26 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6F42F214; Wed, 7 Nov 2012 21:46:26 +0000 (UTC) (envelope-from cjr@cruwe.de) Received: from wp376.webpack.hosteurope.de (wp376.webpack.hosteurope.de [IPv6:2a01:488:42::50ed:8591]) by mx1.freebsd.org (Postfix) with ESMTP id 297108FC12; Wed, 7 Nov 2012 21:46:26 +0000 (UTC) Received: from p5b37928e.dip.t-dialin.net ([91.55.146.142] helo=dijkstra.cruwe.de); authenticated by wp376.webpack.hosteurope.de running ExIM with esmtpsa (SSL3.0:DHE_RSA_AES_128_CBC_SHA1:16) id 1TWDS5-00008A-5F; Wed, 07 Nov 2012 22:46:25 +0100 Date: Wed, 7 Nov 2012 22:46:22 +0100 From: "Christopher J. Ruwe" To: , freebsd-ports@freebsd.org Subject: Re: trying to build a port for vagrant and failing Message-ID: <20121107224622.2b8f081f@dijkstra.cruwe.de> In-Reply-To: <50999622.6080306@FreeBSD.org> References: <20121106220059.7de9f176@dijkstra.cruwe.de> <50999622.6080306@FreeBSD.org> X-Mailer: Claws Mail 3.8.1 (GTK+ 2.24.6; amd64-portbld-freebsd9.0) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-bounce-key: webpack.hosteurope.de;cjr@cruwe.de;1352324786;314760a9; X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Nov 2012 21:46:26 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Tue, 06 Nov 2012 17:58:42 -0500 Greg Larkin wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 11/6/12 4:00 PM, Christopher J. Ruwe wrote: > > Currently, I am trying to write up a port for vagrant, a VirtualBox > > managment thing (http://vagrantup.com/). I am failing with the > > dependencies and would be grateful for some help. > > > > I have > > > > BUILD_DEPENDS= > > minitar:${PORTSDIR}/archivers/rubygem-archive-tar-minitar \ > > > > RUN_DEPENDS= erubis:${PORTSDIR}/www/rubygem-erubis \ > > rubygem-childprocess>=0.3.1:${PORTSDIR}/devel/rubygem-childprocess > > \ rubygem-i18n>=0.6.0:${PORTSDIR}/devel/rubygem-i18n \ > > rubygem-json>=1.5.1:${PORTSDIR}/devel/rubygem-json \ > > rubygem-log4r>=1.1.9:${PORTSDIR}/sysutils/rubygem-log4r \ > > rubygem-net-ssh>=2.2.2:${PORTSDIR}/security/rubygem-net-ssh \ > > rubygem-net-scp>=1.0.4:${PORTSDIR}/security/rubygem-net-scp > > > > in the makefile. > > > > From the build log (I am using poudriere for testing) I get > > > > > > ======================= > run-depends>========================== ===> > > rubygem-vagrant-1.0.5 depends on executable: erubis - not found > > ===> Verifying install for erubis in > > /usr/ports/www/rubygem-erubis ===> Installing existing package > > /usr/ports/packages/All/rubygem-erubis-2.7.0.tbz ===> Returning > > to build of rubygem-vagrant-1.0.5 ===> rubygem-vagrant-1.0.5 > > depends on package: rubygem-childprocess>=0.3.1 - not found ===> > > Verifying install for rubygem-childprocess>=0.3.1 in > > /usr/ports/devel/rubygem-childprocess ===> Installing existing > > package /usr/ports/packages/All/rubygem-childprocess-0.3.5.tbz > > ===> Returning to build of rubygem-vagrant-1.0.5 ===> > > rubygem-vagrant-1.0.5 depends on package: rubygem-i18n>=0.6.0 - > > not found ===> Verifying install for rubygem-i18n>=0.6.0 in > > /usr/ports/devel/rubygem-i18n ===> Installing existing package > > /usr/ports/packages/All/rubygem-i18n-0.6.0,2.tbz ===> Returning > > to build of rubygem-vagrant-1.0.5 ===> rubygem-vagrant-1.0.5 > > depends on package: rubygem-json>=1.5.1 - not found ===> Verifying > > install for rubygem-json>=1.5.1 in /usr/ports/devel/rubygem-json > > ===> Installing existing package > > /usr/ports/packages/All/rubygem-json-1.7.5.tbz ===> Returning to > > build of rubygem-vagrant-1.0.5 ===> rubygem-vagrant-1.0.5 > > depends on package: rubygem-log4r>=1.1.9 - not found ===> > > Verifying install for rubygem-log4r>=1.1.9 in > > /usr/ports/sysutils/rubygem-log4r ===> Installing existing > > package /usr/ports/packages/All/rubygem-log4r-1.1.10.tbz ===> > > Returning to build of rubygem-vagrant-1.0.5 ===> > > rubygem-vagrant-1.0.5 depends on package: rubygem-net-ssh>=2.2.2 - > > not found ===> Verifying install for rubygem-net-ssh>=2.2.2 in > > /usr/ports/security/rubygem-net-ssh ===> Installing existing > > package /usr/ports/packages/All/rubygem-net-ssh-2.1.4,2.tbz ===> > > Returning to build of rubygem-vagrant-1.0.5 ===> > > rubygem-vagrant-1.0.5 depends on package: rubygem-net-scp>=1.0.4 - > > not found ===> Verifying install for rubygem-net-scp>=1.0.4 in > > /usr/ports/security/rubygem-net-scp ===> Installing existing > > package /usr/ports/packages/All/rubygem-net-scp-1.0.4_1.tbz ===> > > Returning to build of rubygem-vagrant-1.0.5 ===> > > rubygem-vagrant-1.0.5 depends on file: /usr/local/bin/gem18 - found > > ===> rubygem-vagrant-1.0.5 depends on file: /usr/local/bin/ruby18 > > - found > > =================================================================== > > > > > > > So far so good. I noticed that rubygem-net-ssh-2.1.4.2 is supposed > > to satisfy >=rubygem-net-ssh-2.2.2, which I ignore for the while. > > > > Now, building yields > > > > ======================= >> ========================== ===> Installing for > > rubygem-vagrant-1.0.5 ===> rubygem-vagrant-1.0.5 depends on > > executable: erubis - found ===> rubygem-vagrant-1.0.5 depends on > > package: rubygem-childprocess>=0.3.1 - found ===> > > rubygem-vagrant-1.0.5 depends on package: rubygem-i18n>=0.6.0 - > > found ===> rubygem-vagrant-1.0.5 depends on package: > > rubygem-json>=1.5.1 - found ===> rubygem-vagrant-1.0.5 depends > > on package: rubygem-log4r>=1.1.9 - found ===> > > rubygem-vagrant-1.0.5 depends on package: rubygem-net-ssh>=2.2.2 - > > found ===> rubygem-vagrant-1.0.5 depends on package: > > rubygem-net-scp>=1.0.4 - found ===> rubygem-vagrant-1.0.5 depends > > on file: /usr/local/bin/gem18 - found ===> rubygem-vagrant-1.0.5 > > depends on file: /usr/local/bin/ruby18 - found ===> Generating > > temporary packing list ===> Checking if emulators/rubygem-vagrant > > already installed /usr/bin/env /usr/local/bin/gem18 install -l > > --no-update-sources --no-ri --install-dir /usr/local/lib/r\ > > uby/gems/1.8 /usr/ports/distfiles/rubygem/vagrant-1.0.5.gem -- > > --build-args ERROR: While executing gem ... (Gem::DependencyError) > > Unable to resolve dependencies: vagrant requires json (~> 1.5.1), > > net-ssh (~> 2.2.2) *** Error code 1 > > > > The installation is right about net-ssh (confer above), but > > definitely not on json (1.7.5 > 1.5.1). > > > > Can anybody hint me on a path to pursue to resolve that error? > > > > Many thanks, cheers, > > Hi Chris, > > You've run into a problem we have with the ports system and Rubygem > ports specifically. > > I also worked on porting vagrant a few months ago. I ran into this > issue, too, and it's caused by the fact that Ruby has the "~>" version > dependency operator. Check this thread for some details: > http://stackoverflow.com/questions/5170547/what-does-tilde-greater-than-mean-in-ruby-gem-dependencies > > The ports tree has the devel/rubygem-json and the > devel/rubygem-json146, but neither of these satisfy the "~> 1.5.1" > version dependency for vagrant. In order to do that, you'll have to > create a new port (devel/rubygem-json15) and install the 1.5.4 JSON > gem (http://rubygems.org/gems/json/versions/1.5.4). > > Hope that helps, > Greg > - -- > Greg Larkin > > http://www.FreeBSD.org/ - The Power To Serve > http://www.sourcehosting.net/ - Ready. Set. Code. > http://twitter.com/cpucycle/ - Follow you, follow me > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.12 (Darwin) > Comment: Using GnuPG with Mozilla - http://www.enigmail.net/ > > iEYEARECAAYFAlCZliIACgkQ0sRouByUApBTigCgnbpPrumRIVvLjYXjjLDeMjaK > WasAniPgIvIeRWIKEiHCl32sRI2ruFsx > =REtW > -----END PGP SIGNATURE----- > Hi Greg, thank you for your extensive clarification. - From your reply I infer that having vagrant in ports would necessitate another port, thereby somewhat cluttering ports with various rubygems. Is this the reason why you aborted the attempt and what is your advise on that matter: Continue ports-integration using two ports or abolishing the attempt (and have some "private" ports instead)? Thanks anyways, at least it helps understanding that I have not "terribly messed up" ;-) Cheers, - -- Christopher TZ: GMT + 2h GnuPG/GPG: 0xE8DE2C14 Punctuation matters: "Let's eat Grandma" or "Let's eat, Grandma" - Punctuation saves lives. "A panda eats shoots and leaves" or "A panda eats, shoots, and leaves" - Punctuation teaches proper biology. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQIcBAEBAgAGBQJQmtZcAAoJEJTIKW/o3iwUouUQAI4wuM/EpfbpHYCyd488BnFf m8WI/rLZFY7mPWJn1PPRF1WAh+9bxFWUsLPbfOdTBRXdw0Io/yI6XQeQ0aXpUONF QdEh1lswHc/flb5nDk5W9Wyun1sQ7baq99seND0vhB+TjqI37wOCfE5ycgY+HreS QExJg2UKMyd/GM8rXOEF/eVj3+DbvhsxAMmqhD0mXqxPDv3zeVd6uumcjs8kce+x FpYwCx0ZZE66qXhMCUsEyH5Yj+uKbveZJqcHTD0SxaTtpS4cP5x2FIKUXtb+C2uF TIRHfaHa5y450pU0l1F2WiivgjRDwZmt1j8LstOGuU8sFUolx/U4Z24l0hrpd67T wXM3KLt5bNj5PAMx7vo0PSdWzCou5mdYDyJqA/3U7o9TMnvcgXLJDmZz8EmRuvPG Tq/gut/fcDeMYjmerb0e0yRal9dHR5FaRz3FFeBGdymZ8tPWeA5L+VK5adEaGik4 nl/sQLCnLhWKnQ3hAAS+cmZpWL+W923obiX9EnLReDkIqp8hEksAejh2S7Kb6V2y eK+iMSGsYP9YNdALXMGZlgVyDCQrOp6ougNRD4vwGWOSLpdkwY4puHbqb1wkmqdr M2kmdv4pBrGPe0toliCuV96K6KK4k2/Oue8qmw+SpzUqo5ftMBSI+Z58pQAKGGJF /VQdflBzrO7t9lxp2vGP =LDSh -----END PGP SIGNATURE-----