View previous topic :: View next topic |
Author |
Message |
fernandotcl Veteran
Joined: 20 Nov 2003 Posts: 1396 Location: Sao Paulo, Brazil
|
Posted: Sat Nov 29, 2003 8:30 pm Post subject: [FIXED] Complex dependence problem |
|
|
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 |
|
|
fernandotcl Veteran
Joined: 20 Nov 2003 Posts: 1396 Location: Sao Paulo, Brazil
|
Posted: Sat Nov 29, 2003 9:00 pm Post subject: |
|
|
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 |
|
|
fernandotcl Veteran
Joined: 20 Nov 2003 Posts: 1396 Location: Sao Paulo, Brazil
|
Posted: Sat Nov 29, 2003 10:11 pm Post subject: |
|
|
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 |
|
|
scoon l33t
Joined: 23 Aug 2003 Posts: 747 Location: Philadelphia, PA
|
Posted: Fri Dec 05, 2003 10:16 pm Post subject: |
|
|
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 |
|
|
fernandotcl Veteran
Joined: 20 Nov 2003 Posts: 1396 Location: Sao Paulo, Brazil
|
Posted: Fri Dec 05, 2003 11:51 pm Post subject: |
|
|
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 |
|
|
kallamej Administrator
Joined: 27 Jun 2003 Posts: 4975 Location: Gothenburg, Sweden
|
Posted: Sat Dec 06, 2003 8:39 am Post subject: |
|
|
It looks like a USE flag problem. If you use 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 |
|
|
robmoss Retired Dev
Joined: 27 May 2003 Posts: 2634 Location: Jesus College, Oxford
|
|
Back to top |
|
|
fernandotcl Veteran
Joined: 20 Nov 2003 Posts: 1396 Location: Sao Paulo, Brazil
|
Posted: Sat Dec 06, 2003 6:09 pm Post subject: |
|
|
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 |
|
|
fernandotcl Veteran
Joined: 20 Nov 2003 Posts: 1396 Location: Sao Paulo, Brazil
|
Posted: Sat Dec 06, 2003 6:49 pm Post subject: |
|
|
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 |
|
|
fernandotcl Veteran
Joined: 20 Nov 2003 Posts: 1396 Location: Sao Paulo, Brazil
|
Posted: Mon Dec 15, 2003 5:20 pm Post subject: |
|
|
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 |
|
|
|
|
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
|
|