Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[FIXED] Complex dependence problem
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
fernandotcl
Veteran
Veteran


Joined: 20 Nov 2003
Posts: 1396
Location: Sao Paulo, Brazil

PostPosted: Sat Nov 29, 2003 8:30 pm    Post subject: [FIXED] Complex dependence problem Reply with quote

I downloaded a tarball containing a program I'd like to install, but wasn't in Portage. Then, when I read the README file, I saw it needed GLU. Then, I saw that it was a masked package in Portage, and edited the package.mask file. I commented out everything about Mesa (now I know I did something VERY stupid). Well, the program form the tarball didn't work, for unknow reasons, but soonly I didn't need it anymore, so it wasn't a problem.

Everything was OK. But then I tried to install Neverball, Neverputt and FooBillard, and none were successful. Portage (gcc) stopped when it was going to link them, because there were several (9) problems with some (5) undefined references in /usr/lib/libGLU.so.

I uninstalled the Mesa packages and uncommented their lines, so they become masked again. But when I typed "emerge depclean" I was told that a Qt library (x11-libs/qt-3.2.2-r1) needed some GLU package, and there was a broken dependence. Below it said the problem might have been caused by Frozen Bubble. I uninstalled it. Then, "emerge depclean" displayed again the same error message, this time it "guessed" the problem was caused by Cube. Then I uninstalled it. "emerge depclean" worked flawlessy.

But now, again, emerging those games (FooBillard, Neverball and Neverputt) gave the Qt/GLU broken dependence problem. It says that all virtual/glu packages were masked and that qt-3.2.2-r1 needed them. I edited package.mask again, and masked qt-3.2.2-r1. Then, it says that another version of Qt needs the GLU packages... I masked ALL Qt packages, and then, it said kde-base/arts needed it! Then I undid that, so package.mask is now right, as it came from "emerge sync".

I removed Qt, and did an "emerge depclean" that removed all kde-stuff (as I use XFCE4, it wouldn't be useful anyway, would it?). If I comment out the Mesa stuff in package.mask, the packages FooBillard starts being compiled, with the kde-stuff along. I didn't wait for it to finish, because it will install a GLU package, and it will produce the linker error all over again. I saw that using the --pretend option.

So, isn't there a broken dependence? It seems to be that:

Those games need SDL library --> SDL library needs kde-base/arts (?) --> arts needs Qt --> Qt needs GLU --> GLU is masked!!! (and doesn't allow the game be linked due to undefined references)

There should be something else between then, I just made it shorter.

I'm not even an experienced Portage user, but I can conclude there's some package that should be masked and isn't.

Note: I've already done "emerge sync" a lot of times.


Thanks in advance.


Last edited by fernandotcl on Mon Dec 15, 2003 5:20 pm; edited 2 times in total
Back to top
View user's profile Send private message
fernandotcl
Veteran
Veteran


Joined: 20 Nov 2003
Posts: 1396
Location: Sao Paulo, Brazil

PostPosted: Sat Nov 29, 2003 9:00 pm    Post subject: Reply with quote

I checked those dependeces:

all those games (Neverball, Neverputt, FooBillards, Cube, Frozen-Bubble) need libsdl --> libsdl needs ARTS --> ARTS needs Qt --> Qt 3.2.2 needs GLU --> GLU is Masked!

It may be a bug! I don't know about previous Qt versions, but mine (the same as the one I found at http://www.gentoo.org/dyn/pkgs/ , that also IS the avaiable version) needs it! So, it seems to be impossible to use this Qt version, because there's no non-masked GLU.

I've got an idea, I'll reinstall XFree. In package.mask is stated that other versions of GLU (except XFree's) aren't good. I'll give some feedback later.
Back to top
View user's profile Send private message
fernandotcl
Veteran
Veteran


Joined: 20 Nov 2003
Posts: 1396
Location: Sao Paulo, Brazil

PostPosted: Sat Nov 29, 2003 10:11 pm    Post subject: Reply with quote

I recompiled XFree and the error messages keep appearing. I don't have any other idea of what to do. Any ideas?


Thanks in advance.
Back to top
View user's profile Send private message
scoon
l33t
l33t


Joined: 23 Aug 2003
Posts: 747
Location: Philadelphia, PA

PostPosted: Fri Dec 05, 2003 10:16 pm    Post subject: Reply with quote

fernandotcl wrote:
I recompiled XFree and the error messages keep appearing. I don't have any other idea of what to do. Any ideas?


Thanks in advance.


So did you ever get this resolved, I just started try ing to install kde and I am having such a time with the gl/glut problem ?
Back to top
View user's profile Send private message
fernandotcl
Veteran
Veteran


Joined: 20 Nov 2003
Posts: 1396
Location: Sao Paulo, Brazil

PostPosted: Fri Dec 05, 2003 11:51 pm    Post subject: Reply with quote

Still didn't found a solution...

If you're going to install KDE, as it uses Qt, it may give this error if you have a situation like mine. When I need to install something that uses Qt, like SDL for Frozen Bubble, I just comment out the MESA/GLU lines in "/usr/portage/profiles/package.mask", and it works. Note that sometimes you may need to comment out or to uncomment these lines in order to portage to work. It isn't a clean solution, but it's what I have for now. Note also that package.mask is overwritten by "emerge sync", and that packages that need libGLU.so still can't be installed.

Good luck.
Back to top
View user's profile Send private message
kallamej
Administrator
Administrator


Joined: 27 Jun 2003
Posts: 4975
Location: Gothenburg, Sweden

PostPosted: Sat Dec 06, 2003 8:39 am    Post subject: Reply with quote

It looks like a USE flag problem. If you use
Code:
emerge -pv package
you will be shown the USE flags the package supports and if you have them enabled or disabled. In your case you can try to emerge using
Code:
USE="-arts" emerge -pv package

or change /etc/make.conf accordingly.
_________________
Please read our FAQ Forum, it answers many of your questions.
irc: #gentoo-forums on irc.libera.chat
Back to top
View user's profile Send private message
robmoss
Retired Dev
Retired Dev


Joined: 27 May 2003
Posts: 2634
Location: Jesus College, Oxford

PostPosted: Sat Dec 06, 2003 9:04 am    Post subject: Reply with quote

You may also want to do:

Code:
# revdep-rebuild

_________________
Reality is for those who can't face Science Fiction.

emerge -U will kill your Gentoo
ecatmur, Lord of Portage Bash Scripts
Back to top
View user's profile Send private message
fernandotcl
Veteran
Veteran


Joined: 20 Nov 2003
Posts: 1396
Location: Sao Paulo, Brazil

PostPosted: Sat Dec 06, 2003 6:09 pm    Post subject: Reply with quote

I did that, and it didn't work.

Everytime I sync Portage, the package.mask is overwritten, and I can't do "emerge depclean", as the GLU packages are masked. I have to comment out these lines in order to be able to do it.

The games (NB, NP, FB) still show the same libGLU.so errors when linking.

Is there any way to recompile everything installed, as an "emerge world" or something, so I wouldn't need to reinstall Gentoo from scratch?

I forgot to ask... scoon, did you edit package.mask? Have you had those errors before editing it? Have you installed any of the games (Neverball, Neverputt, FooBillard), and did they show errors?

Thanks.
Back to top
View user's profile Send private message
fernandotcl
Veteran
Veteran


Joined: 20 Nov 2003
Posts: 1396
Location: Sao Paulo, Brazil

PostPosted: Sat Dec 06, 2003 6:49 pm    Post subject: Reply with quote

I think I've just found out somethings quite interesting. I'm not 100% sure, but I'm very convinced this is the cause of the problem.

In our systems, the only libGLU.so that should be used is the xfree's. If you install mesa-glu by yourself, it will overwrite the file, causing errors. But some games need mesa-glu. So, mesa-glu is by default injected, not installed. The games should think mesa-glu is installed, else they'll try to install it by theirselves, and then there will be a dependence problem.

What to do then? I have an idea.

1- Unemerge mesa-glu.
2- Recompile xfree, so the correct libGLU.so will be installed.
3- Inject mesa-glu
4- Install the games

It may work, but it would take around 3 hours. So, I'd better wait for some feedback from experienced users (or maybe even developers, that know if mesa-glu is injected or no) before trying it by myself.

I've already unemerged mesa-glu and injected it, but I didn't recompile xfree yet. I got an error message saying that it couldn't find "GL/glu.h".

EDIT: Compiling FooBillard, it said "/usr/include/GL/glut.h" wasn't found, but it does exist and it's there. Some weird things are happening...
Back to top
View user's profile Send private message
fernandotcl
Veteran
Veteran


Joined: 20 Nov 2003
Posts: 1396
Location: Sao Paulo, Brazil

PostPosted: Mon Dec 15, 2003 5:20 pm    Post subject: Reply with quote

I reinstalled Gentoo and I think I found something interesting here. Looking in the file "/var/cache/edb/virtuals" I can see:

Code:
virtual/glu x11-base/xfree


That should mean "virtual/glu" is an alias to "x11-base/xfree". That explains everything. Probably by installing myself mesa-glu, it has removed this alias from the list.

Check that out, scoon.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum