LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Compiling mesa from git (https://www.linuxquestions.org/questions/slackware-14/compiling-mesa-from-git-828340/)

rvdboom 08-25-2010 03:30 AM

Compiling mesa from git
 
Hi,

I just wanted to warn the Slack team that since the commit of the new GLSL compiler from Intel to mesa, there was a hard dependency introduced on the talloc library, which is right now provided in Slackware within the Samba package.
However, I could only compile a recent mesa git pull by creating a "/usr/lib64/pkgconfig/talloc.pc" file, following the advice of nanonyme, on Phoronix.
The file has been copied from Fedora :

Code:
Code:

prefix=/usr
exec_prefix=/usr
libdir=/usr/lib64
includedir=/usr/include

Name: talloc
Description: A hierarchical pool based memory system with destructors
Version: 2.0.1
Libs: -L${libdir} -ltalloc
Cflags: -I${includedir}
URL: http://talloc.samba.org/

After that compilation could work.
Since there's a fair chance that this is to stay, I thought that maybe the Slack team, and some others, could be interested in this trick.
Best regards,

dolphin77 08-27-2010 02:06 AM

Thanks for the info.

Irecently tried to do the same. But didn't figure out that this lib is already included with slackware. So i downloaded talloc 2.0.1, and installed it as a separate package.

PS didn't have time yet to check. But isn't simple symlinking libtalloc.so-2.0.1 to libtalloc.so-2.0 should resolve this problem?

Martinezio 08-27-2010 06:01 AM

On my system, there is no libtalloc.so-2.0 ;)

Code:

root@marcin:~# ls -la /usr/lib64/*talloc*
lrwxrwxrwx 1 root root    14 2010-08-17 14:54 /usr/lib64/libtalloc.so -> libtalloc.so.2
-rwxr-xr-x 1 root root 38928 2010-07-27 20:04 /usr/lib64/libtalloc.so.2
root@marcin:~#

so, there is no libtalloc.so-2.0.1 either ;)

dolphin77 08-27-2010 02:46 PM

Quote:

Originally Posted by Martinezio (Post 4079430)
On my system, there is no libtalloc.so-2.0 ;)

Code:

root@marcin:~# ls -la /usr/lib64/*talloc*
lrwxrwxrwx 1 root root    14 2010-08-17 14:54 /usr/lib64/libtalloc.so -> libtalloc.so.2
-rwxr-xr-x 1 root root 38928 2010-07-27 20:04 /usr/lib64/libtalloc.so.2
root@marcin:~#

so, there is no libtalloc.so-2.0.1 either ;)

You are absolutely right. I wrote above message from my memory, which was wrong. After installing talloc from a separate package from http://talloc.samba.org/ (I used modified slackbuild from slackware samba script), I actually have this:
Code:

vladimir@darkstar:~$ ls -l /usr/lib64/*talloc*
-rwxr-xr-x 1 root root 56148 2010-08-26 09:02 /usr/lib64/libtalloc.a*
lrwxrwxrwx 1 root root    14 2010-08-26 09:55 /usr/lib64/libtalloc.so -> libtalloc.so.2*
-rwxr-xr-x 1 root root 38928 2010-07-27 21:04 /usr/lib64/libtalloc.so.2*
-rwxr-xr-x 1 root root 45195 2010-08-26 09:02 /usr/lib64/libtalloc.so.2.0.1*

and mesa builds normally. Not sure this is the right way, but it worked for me.

rworkman 08-31-2010 09:26 PM

Almost surely some CFLAGS-fu and LDFLAGS-fu (and there might even be TALLOC_CFLAGS and TALLOC_LDFLAGS (or similar) variables that one can use to override pkg-config) would fix this without having a libtalloc.pc file, but this is handy to know nonetheless. Assuming samba will use an external libtalloc if it's present, and the ABI is stable, and so on, then probably the best option will be to split libtalloc out of the samba package when the time comes. We'll see. :-) Thanks for the heads-up.

Martinezio 09-01-2010 03:56 AM

I think, that best way is just add "-ltalloc" to LDFLAGS (-L flag is already set with --libdir switch of configure script). This is most secure way IMHO, if You don't want to add libtalloc.pc file ;) I don't know, if changing CFLAGS has something to do with this problem ;)
Please, let us know, it this solved the problem - I don't want to utilize my CPU for useles for me compilation processes ;)

Martinezio 09-01-2010 08:38 AM

Ok, I've downloaded current mesa git repository to checkout, and this should be added to ./configure command:
Code:

TALLOC_CFLAGS="-O2 -fPIC" TALLOC_LIBS="-ltalloc"
With this env settings configure script will find libtalloc without havig proper .pc file.

Enjoy!

rworkman 09-01-2010 10:53 AM

Very nice; thanks!


All times are GMT -5. The time now is 10:38 AM.