Quote:
Originally posted by sparX CG
Hello all, I'm new to Linux at the moment...
libtool: link: cannot find the library `__LIBGL_PATH__/libGL.la'
make[3]: *** [FvwmAmetista] Error 1
make[3]: Leaving directory `/root/metisse-0.3.5/FvwmAmetista/main'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/metisse-0.3.5/FvwmAmetista'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/metisse-0.3.5'
make: *** [all] Error 2
Same error! That 'libgl.la' file is in my /usr/lib folder alright. And so are all the required libraries. libtool just can't seem to find them. I even tried 'export __LIBGL_PATH__=/usr/lib' Nothing seems to work...
|
Uuuups, Metisse is still not production software, it could perfectly happen that it had a bug.
A very simple answer could be setting your LDFLAGS variable to the current libGL.la path. This is set as a part of the compiler invocation:
Code:
LDFLAGS=/path/to/your/library ./configure --flags
I found two other possible solutions on this page:
Kurztipp: »cannot find the library«-Fehler beheben
For the sake of non-German speakers, here's the translation of the procedures:
NOTE: UGLY HACK TO FOLLOW
If the above solution does not work, the correct way would be sending the Metisse team a bug report and waiting for their answer. What follows can work, but it's a darn ugly hack. Proceed at your own risk.
First method
Libtool uses a script called
ltmain.sh and it happens that many packages use their own local version of this script instead of using the one already installed on your system. To fix this you need to copy your system's
ltmain.sh into the package tree overwriting the local script:
Code:
cp /usr/share/libtool/ltmain.sh /path/to/your/package/ltmain.sh
Ensure that you copy into the directory where this
ltmain.sh file resides. BTW, you don't need to be root to do this.
If this fails after issuing
./configure and
make, there is a second step to try
second method
This hack involves editing the
ltmain.sh file in your package's tree. The German text says that the expression we search is in the line 1537, but this could have changed. So the first thing we have to do is getting the line number with the expression with grep [1]:
Code:
grep -n "esac # case $deplib" ltmain.sh
(I found it at line 2247)
Now open the file with your favorite editor and use the Go-To-Line function to jump to this line.
In vim you can first enable line numbering (to know where you are) and then jump straight to this line (ESC is the ESC key)
Code:
ESC :set nu
ESC :2247
Now you have to insert a new line of code in the line before this one with the code
-pthread) continue;;.
In vim you can operate in this way (from the line found with grep):
Code:
ESC :O
a
-pthread) continue;;
ESC :wq
The result should be like this:
Code:
...
2246: -pthread) continue;;
2247: esac # case $deplib
...
So long the author, this should let the stuff compile.
Don't forget to post if it works
[1] You can of course use the built-in search function of your favorite editor, but to keep things editor-neutral I use this approach.