threads / discuss / 1854

Strange dependency problem installing GIT 0.99.7

Subject: Strange dependency problem installing GIT 0.99.7

## tl;dr

8 messages between Sep 19, 2005 and Sep 19, 2005.

replies: 7people: 4as markdown or json

Peter Williams· Sep 19, 2005, 02:15 UTC · lore

When I tried to install GIT 0.99.7 from the rpm package (on a Fedora Core 4 system) I got the following error message:

error: Failed dependencies:
         perl(String::ShellQuote) is needed by git-core-0.99.7-1.i386

So I installed String::ShellQuote from CPAN and tried again with the same result. So I then rebuilt the rpm on my system and still got the same error message. So I've installed the rpm using the --nodeps option but would like to test whether it is successfully finding String::ShellQuote. Which command(s) would exercise this perl package?

Peter
-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce
Junio C Hamano· Sep 19, 2005, 04:46 UTC · re: Peter Williams · lore

Re: Strange dependency problem installing GIT 0.99.7

Peter Williams <pwil3058@bigpond.net.au> writes:
Show 5 quoted lines
> So I installed String::ShellQuote from CPAN and tried again with the 
> same result.  So I then rebuilt the rpm on my system and still got the 
> same error message.  So I've installed the rpm using the --nodeps option 
> but would like to test whether it is successfully finding 
> String::ShellQuote.  Which command(s) would exercise this perl package?

$ git grep ShellQuote git-archimport.perl:42:use String::ShellQuote;

Sorry for the gotcha.  Any RPM experts to offer advice?
Peter Williams· Sep 19, 2005, 05:11 UTC · re: Junio C Hamano · lore

Re: Strange dependency problem installing GIT 0.99.7

Junio C Hamano wrote:
Show 12 quoted lines
> Peter Williams <pwil3058@bigpond.net.au> writes:
> 
> 
>>So I installed String::ShellQuote from CPAN and tried again with the 
>>same result.  So I then rebuilt the rpm on my system and still got the 
>>same error message.  So I've installed the rpm using the --nodeps option 
>>but would like to test whether it is successfully finding 
>>String::ShellQuote.  Which command(s) would exercise this perl package?
> 
> 
> $ git grep ShellQuote
> git-archimport.perl:42:use String::ShellQuote;

That command finds ShellQuote OK which more or less confirms that it's just an rpm problem.

Peter
-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce
Sean· Sep 19, 2005, 05:17 UTC · re: Junio C Hamano · lore

Re: Strange dependency problem installing GIT 0.99.7

On Mon, September 19, 2005 12:46 am, Junio C Hamano said:
Show 10 quoted lines
> Peter Williams <pwil3058@bigpond.net.au> writes:
>
>> So I installed String::ShellQuote from CPAN and tried again with the
>> same result.  So I then rebuilt the rpm on my system and still got the
>> same error message.  So I've installed the rpm using the --nodeps option
>> but would like to test whether it is successfully finding
>> String::ShellQuote.  Which command(s) would exercise this perl package?
>
> $ git grep ShellQuote
> git-archimport.perl:42:use String::ShellQuote;
Peter,

You need to install ShellQuote with rpm rather than installing it directly from CPAN. You can pick up a rpm version of ShellQuote from several places, here's one: http://tinyurl.com/7p7ey

Cheers, Sean

Peter Williams· Sep 19, 2005, 06:24 UTC · re: Sean · lore

Re: Strange dependency problem installing GIT 0.99.7

Sean wrote:
Show 21 quoted lines
> On Mon, September 19, 2005 12:46 am, Junio C Hamano said:
> 
>>Peter Williams <pwil3058@bigpond.net.au> writes:
>>
>>
>>>So I installed String::ShellQuote from CPAN and tried again with the
>>>same result.  So I then rebuilt the rpm on my system and still got the
>>>same error message.  So I've installed the rpm using the --nodeps option
>>>but would like to test whether it is successfully finding
>>>String::ShellQuote.  Which command(s) would exercise this perl package?
>>
>>$ git grep ShellQuote
>>git-archimport.perl:42:use String::ShellQuote;
> 
> 
> 
> Peter,
> 
> You need to install ShellQuote with rpm rather than installing it directly
> from CPAN.  You can pick up a rpm version of ShellQuote from several
> places, here's one:  http://tinyurl.com/7p7ey

IMHO rpm shouldn't care how ShellQuote got there unless it (how it got there) is stated as an explicit dependency in the spec file (which it isn't). So I still think this is a bug in rpm's (automatic) dependency mechanism that needs fixing.

Peter PS I notice that perl isn't included in the explicit list of dependencies in the spec file even though other equally ubiquitous packages are.

-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce
Sean· Sep 19, 2005, 07:16 UTC · re: Peter Williams · lore

Re: Strange dependency problem installing GIT 0.99.7

On Mon, September 19, 2005 2:24 am, Peter Williams said:
> IMHO rpm shouldn't care how ShellQuote got there unless it (how it got
> there) is stated as an explicit dependency in the spec file (which it
> isn't).  So I still think this is a bug in rpm's (automatic) dependency
> mechanism that needs fixing.

But rpm resolves dependencies by looking in the rpm database not by checking the filesystem. You can actually disable the automatic perl dependency detection when creating the rpm, but that probably isn't desirable.

At least on Red Hat/Fedora machines you can create your own rpms directly from CPAN so it's not too big a restriction:

$ cpan2rpm String::ShellQuote $ cd ~/rpm/RPMS/noarch $ sudo rpm -ivh perl-String-ShellQuote-1.03-1.noarch.rpm

Which is all you need to download, package and install the perl module.
> PS I notice that perl isn't included in the explicit list of
> dependencies in the spec file even though other equally ubiquitous
> packages are.

There is special handling for perl detection within the rpmbuild procedure, so perl will be added automatically where many others won't be.

Sean
H. Peter Anvin· Sep 19, 2005, 19:23 UTC · re: Peter Williams · lore

Re: Strange dependency problem installing GIT 0.99.7

Peter Williams wrote:
Show 6 quoted lines
> 
> IMHO rpm shouldn't care how ShellQuote got there unless it (how it got 
> there) is stated as an explicit dependency in the spec file (which it 
> isn't).  So I still think this is a bug in rpm's (automatic) dependency 
> mechanism that needs fixing.
> 

Unfortunately it doesn't work that way (and this is the wrong mailing list to discuss it on.) Anyway, the best way to install CPAN modules on an RPM-based system is to use cpan2rpm.

	-hpa
Sean· Sep 19, 2005, 06:14 UTC · re: Junio C Hamano · lore

Re: Strange dependency problem installing GIT 0.99.7

On Mon, September 19, 2005 12:46 am, Junio C Hamano said:
Show 10 quoted lines
> Peter Williams <pwil3058@bigpond.net.au> writes:
>
>> So I installed String::ShellQuote from CPAN and tried again with the
>> same result.  So I then rebuilt the rpm on my system and still got the
>> same error message.  So I've installed the rpm using the --nodeps option
>> but would like to test whether it is successfully finding
>> String::ShellQuote.  Which command(s) would exercise this perl package?
>
> $ git grep ShellQuote
> git-archimport.perl:42:use String::ShellQuote;
Peter,

You need to install ShellQuote with rpm rather than installing it directly from CPAN. You can pick up a rpm version of ShellQuote from several places, here's one: http://tinyurl.com/7p7ey

Cheers, Sean

← back to recent threads