aMule Forum
English => aMule Help => Topic started by: OldFrog on March 16, 2005, 07:31:42 PM
-
I use aMule on Mandrake 10.1 and I get the followingg error when using the current specfile :
Failed build dependencies: krb5-devel >= 1.3.1 is needed by aMule-CVS-20050316
Actually, I have the following installed :
libkrb51-devel-1.3-6.4.100mdk
libkrb51-1.3-6.4.100mdk
Running rpmbuild -ta aMule-CVS-2005mmdd.tar.bz2 --nodeps did the trick. ;)
-
AFAIK the spec file was originally created for RH (FC) systems. It seems that they have different pacakage names than Mdk.
-
OldFrog,
Please, just for my curiosity, post the result of
$ $ rpm -q --provides libkrb5-devel
Cheers!
-
Here you are :
$ rpm -q --provides libkrb51-devel
krb-devel = 1.3-6.4.100mdk
krb5-devel = 1.3-6.4.100mdk
devel(libdes425)
devel(libgssapi_krb5)
devel(libgssrpc)
devel(libk5crypto)
devel(libkadm5clnt)
devel(libkadm5srv)
devel(libkdb5)
devel(libkrb4)
devel(libkrb5)
libkrb51-devel = 1.3-6.4.100mdk
-
The different names should not be a problem as long as the rpms provided the same thing. But in my opinion, the problem is that Mandrake is using a different numbering system. aMule requires krb5-devel >= 1.3.1, Mandrake rpm provides krb5-devel = 1.3-6.4.100mdk. Now how do you compare those two? Probably rpm is ignoring what is after the dash and considering it a release string. So what Mandrake is actually providing is probably krb5-devel = 1.3, while aMule is requiring krb5-devel >= 1.3.1.
OldFrog, if you are a curious person :) you could change that line in aMule spec:
From:
BuildPreReq: wxGTK-devel >= 2.4.2, krb5-devel >= 1.3.1, grep, curl-devel >= 7.10.6, automake >= 1.7
To:
BuildPreReq: wxGTK-devel >= 2.4.2, krb5-devel >= 1.3, grep, curl-devel >= 7.10.6, automake >= 1.7
And see if it works. Do it like this:
$ tar zxvf aMule-CVS-20050317.tar.bz2
$ vi amule-cvs/aMule-CVS.spec
... edit the line...
$ tar zcvf aMule-CVS-20050317.tar.bz2 amule-cvs
$ rpmbuild -ta aMule-CVS-20050317.tar.bz2
Just scientific curiosity :) I don't know who has put this requirement in aMule, but maybe it could be lowered to krb5-devel >= 1.3. Anyone knows something about this? Why aMule requires kerberos?
Cheers!
-
same error on suse 9.2 ->
Failed build dependencies: krb5-devel >= 1.3.1 is needed by aMule-CVS-20050318
(using the --nodeps flag the process ends like this http://forum.amule.org/thread.php?threadid=5487 so i'll wait till tomorrow).
the problem is: suse (and packager) doesn't provide a package called krb5-devel (nor krb5) so what are the files in that package needed by amule? maybe are in another rpm?
thanx
-
reeky,
Provides need not to be a package name. In Mandrake's case, it does provide krb5-devel indeed, look at this:
Originally posted by OldFrog
$ rpm -q --provides libkrb51-devel
krb-devel = 1.3-6.4.100mdk
krb5-devel = 1.3-6.4.100mdk
devel(libdes425)
devel(libgssapi_krb5)
devel(libgssrpc)
devel(libk5crypto)
devel(libkadm5clnt)
devel(libkadm5srv)
devel(libkdb5)
devel(libkrb4)
devel(libkrb5)
libkrb51-devel = 1.3-6.4.100mdk
My guess is that rpm is interpreting krb5-devel = 1.3-6.4.100mdk as krb5-devel = 1.3, so it will not be satisfied because this is less than 1.3.1. If anyone can confirm this, I can change it to a lower value so that it works for Mandrake.
Cheers!
-
suse doesn't use kerberos but heimdal (free implementation of kerberos), so i have to install heimdal-devel and keep using --nodeps flag? if right, this is not a solution coz i won't be warned about other broken dependencies (if any) :(
bye
-
Originally posted by reeky
suse doesn't use kerberos but heimdal (free implementation of kerberos), so i have to install heimdal-devel and keep using --nodeps flag? if right, this is not a solution coz i won't be warned about other broken dependencies (if any) :(
bye
Right partially.
[list=1]
- Heimdal
- Heimdal-lib
- heimdal-tools
- heimdal-tools-devel
- heimdal-x11
- e2fsprogs-devel
[/list=1]
All version 0.6.2, after you will have Suse ready for compile aMule.
Byez ;)
-
Originally posted by reeky
suse doesn't use kerberos but heimdal (free implementation of kerberos), so i have to install heimdal-devel and keep using --nodeps flag? if right, this is not a solution coz i won't be warned about other broken dependencies (if any) :(
bye
reeky,
Please post:
$ rpm -q --provides heimdal-tools-devel
You can repeat this command for all heimdal rpms and see if any provides krb5-devel.
-
Originally posted by phoenix
reeky,
Please post:
$ rpm -q --provides heimdal-tools-devel
You can repeat this command for all heimdal rpms and see if any provides krb5-devel.
here it is ->
reek@linux:~> rpm -q --provides heimdal
heimdal = 0.6.2-8
reek@linux:~> rpm -q --provides heimdal-devel
heimdal-devel = 0.6.2-8.1
reek@linux:~> rpm -q --provides heimdal-lib
libasn1.so.6
libgssapi.so.1
libkafs.so.0
libkrb5.so.17
libotp.so.0
libroken.so.16
libsl.so.0
heimdal-lib = 0.6.2-8
reek@linux:~> rpm -q --provides heimdal-tools
libhdb.so.7
libkadm5clnt.so.4
libkadm5srv.so.7
heimdal-tools = 0.6.2-8
reek@linux:~> rpm -q --provides heimdal-tools-devel
heimdal-tools-devel = 0.6.2-8.1
reek@linux:~> rpm -q --provides heimdal-x11
heimdal-x11 = 0.6.2-8
and just to quote myself... :)
Originally posted by reeky
suse (and packager) doesn't provide a package called krb5-devel (nor krb5) so what are the files in that package needed by amule? maybe are in another rpm?
so the kerberos related files needed by amule are in one of the heimdal rpms?
bye
ps: let me quote you phoenix... :D
Originally posted by phoenix
Why aMule requires kerberos?
-
reeky,
You certainly does not expect me to answer the question I made at first, do you? :P
You see, I am not the original packager, I was hoping someone else could answer that for me. I am not willing to go after the actual prerequisites for that, I'm sorry, I'm too lazy at the moment :)
This heimdal stuff you posted is not very encouraging... The correct solutions seems to be to have separate spec files for each distro, but then, how do we tell rpmbuild to use the correct spec?
-
maybe this is not the right way and it's a bit stupid too but...
well... someone said amule requires krb5-devel and this someone used fedora.
being this a -devel package some part of it should be included in amule code so i took this page as example http://rpm.pbone.net/index.php3/stat/6/idpl/1203124 , i extracted the amule archive and made a quick search using the "file search -> find text in files". seems that the only result is "des.h" but because it finds "ECcodes.h".
in any case... i removed krb5 from the spec file and built the rpm (yeah! today cvs is not broken!!! :P ;) ) ; now amule is running and seems to work fine
bye
-
reeky,
In fact, I think I can remove that dependency. I have stopped beeing lazy and went to find what was the real dependency and it is on curl-devel. That way, curl-devel will set its own dependency, be it on heimdal or kerberos. Look:
$ apt-get remove krb5-devel
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
cups-devel curl-devel krb5-devel openssl-devel
So, if we set curl-devel dependency only, this should no longer be an issue.
EDIT: Done, krb5-libs and krb5-devel are no longer on the spec file. curl-lib and curl-devel are enough.
-
Originally posted by phoenix
...cut...
That way, curl-devel will set its own dependency, be it on heimdal or kerberos.
...cut...
?(
curl-devel desn't need heimdal or kerberos (nor their -devel) but it's krb5-devel that needs curl-devel
?(
-
Strange.
$ curl-config --libs
-L/usr/lib -lcurl -L/usr/kerberos/lib -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto -lresolv -ldl -lz -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -L/usr/lib -lidn -lssl -lcrypto -lz
-
well - I built on my suse machine a rpm without this krb thing - and it runs 5 days now - anyway - why do we need krb?
-
RaVen,
From my previous posts, you can see that if you remove krb5 from FC3 systems, you also remove curl. So, even though there is no explicit dependency on the spec file, there is a dependency of curl on krb5, at least on my system.
Anyway, the build prerequisit has been removed now, if someone could test and report a rpm build without --nodeps, I would be gratefull.
reeky,
I checked FC3 curl.src.rpm, and there is no mention of krb5 there. Really strange, did you see it in Suse rpm?
-
This explains some things - but I didn't want anybody to remove krb5 - I just wanted to know why krb5 is one of the dependecies - that's all. Ok you need krb5 for curl - and you need curl for amule - but you don't need krb5 for it!
So all i want to say is - if krb5 is not needed (i'm not talking about curl) please remove it from the dependencies - and leave curl there.
Sorry for my bad english - think I have to upgrade my english to Version 3.2 to make people understand me :-D
-
and - afaik in Suse curl and Kerberos have nothing to do with each oder.
Or lets say there's no "krb5" in suse - it's called heimdal (free implementation of Krb5) - and afaik there isn't curl mentioned.... (but I may be wrong)
-
RaVen: that is excatly what phoenix did, and said about 3post ealier :)
-
well - uhm - then - sorry for that
-
ah - you removed it already from the spec, as i experienced now :-)..... okay - sometimes i'm a little slow - thx anyway
-
Originally posted by phoenix
Strange.
$ curl-config --libs
-L/usr/lib -lcurl -L/usr/kerberos/lib -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lcom_err -lk5crypto -lresolv -ldl -lz -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -L/usr/lib -lidn -lssl -lcrypto -lz
here is mine
reek@linux:~> curl-config --libs
-L/usr/lib -lcurl -L/usr/ssl/lib -lssl -lcrypto -ldl -lz
as i said, my rpm has not been built using the --nodeps flag but simpy modifying the spec file and repackaging all the stuff :)
bye
-
lol :D
Ok folks, let me try to explain it in other words:
1- I have already removed the krb5 dependency from the spec file. I believe you all already got that one :D
2- Can someone on Mandrake and someone else on Suse do rpmbuild -ta aMule-CVS-20050323.tar.bz2 and report the result? Just plain that, no repackaging.
Originally posted by reeky
reek@linux:~> curl-config --libs
-L/usr/lib -lcurl -L/usr/ssl/lib -lssl -lcrypto -ldl -lz
So, that is the difference. On FC3 curl depends on krb5. On Suse, it doesn't. Anyway, I believe it is correct now, there is only a dependency on curl. If someone can do that command for Mandrake, it would be nice too. ;)
Cheers!
-
Originally posted by phoenix
lol :D
2- Can someone on Mandrake and someone else on Suse do rpmbuild -ta aMule-CVS-20050323.tar.bz2 and report the result? Just plain that, no repackaging.
Been there, done that on Mandrake 10.0 yesterday. It woorked flawlessly.
(Gtk2, wx 2.4.5)
-
And for the 2d question, still on Mandrake 10.0 :
curl-config --libs
-L/usr/lib -lcurl -lz -lssl -lcrypto -ldl -lssl -lcrypto -ldl
-
Originally posted by OldFrog
(Gtk2, wx 2.4.5)
Guess you mean wx 2.5.4, right?
Originally posted by OldFrog
curl-config --libs
-L/usr/lib -lcurl -lz -lssl -lcrypto -ldl -lssl -lcrypto -ldl
Ok, that is fine. Anyone else with a braindamaged distro like mine (FC3), please raise hands! :D
OldFrog, thank you very much for your help!
Enjoy aMule! :D
-
hmm - dunno what i did wrong -but I believe it's my fault... :P:
with wx 2.4 i get this:
SysTray.cpp: In function `gboolean on_delete(GtkWidget*, GdkEvent*, void*)':
SysTray.cpp:163: warning: unused parameter `GtkWidget*widget'
SysTray.cpp:163: warning: unused parameter `GdkEvent*event'
SysTray.cpp:163: warning: unused parameter `void*user_data'
SysTray.cpp: In constructor `CSysTray::CSysTray(wxWindow*, DesktopMode, const wxString&)':
SysTray.cpp:593: error: `g_signal_connect' undeclared (first use this function)
SysTray.cpp:593: error: (Each undeclared identifier is reported only once for each function it appears in.)
make[4]: *** [amule-SysTray.o] Fehler 1
make[4]: Leaving directory `/usr/src/packages/BUILD/amule-cvs/src'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/usr/src/packages/BUILD/amule-cvs/src'
make[2]: *** [all] Fehler 2
make[2]: Leaving directory `/usr/src/packages/BUILD/amule-cvs/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/usr/src/packages/BUILD/amule-cvs'
make: *** [all] Fehler 2
error: Bad exit status from /var/tmp/rpm-tmp.44902 (%build)
as i said - don't know what i did - just same procedure as every day :P
With wxgtk 2.5 it compiles and runs - but as soon as i hit the traffic dialog amule ends with a Qpainter error.
Ah - got suse 9.2
-
nah not your fault, good old kry forgot "tk" in this line where it fails...
-
well - shit happens - great work anyway Kry