LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-27-2010, 08:58 AM   #31
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 2,727

Rep: Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247

No problem!

Let's see...

1. Yep. This is the right git repository for Mesa. You should use the master branch.

2. Also, the util-macros and libdrm are from right repositories.

3. "--enable-gallium" is enough, because the Mesa git tree use now as default Gallium for R300. If you add "--enable-gallium-radeon", you will build also a DDX driver for R300 (an equivalent of xf86-video-ati) and THIS DRIVER WILL OVERRIDE the xf86-video-ati's radeon driver on installation. You can try this method in a second shoot.

4. Here you go: git://anongit.freedesktop.org/xorg/driver/xf86-video-ati

A very important note: because the configure flags are critical on those toys, you should use SlackBuilds to generate packages.

A very usefully thread to catch the required scripts are here:

Radeon kms works!

---------

For LLVM build use the SlackBuilds.org.

For (lib)talloc build use SlackBuilds.org or rworkman's X.org testing tree: http://slackware.com/~rworkman/xorg/

Personally, I used this build older:

LLVM
(lib)talloc
util-macros
libdrm
mesa
xf86-video-ati

Last edited by Darth Vader; 10-27-2010 at 09:06 AM.
 
Old 10-27-2010, 09:18 AM   #32
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slackware, debian, ubuntu
Posts: 666

Original Poster
Rep: Reputation: 39
hmmm talloc doesn't show up in slackbuilds.. I'm using rworkman's tree...
 
Old 10-27-2010, 09:23 AM   #33
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 2,727

Rep: Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247
One thing about LLVM. The Slackbuilds.org have a build for LVM 2.7 but today version is 2.8, and the Mesa guys claim that this version work much better for Mesa. Download the 2.8 version from http://www.llvm.org and you need only to adjust the $VERSION on llvm.SlackBuild.
 
Old 10-27-2010, 09:43 AM   #34
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slackware, debian, ubuntu
Posts: 666

Original Poster
Rep: Reputation: 39
hmmm couldn't I download all 'EXTERNAL' subdir from rworkman's site?
 
Old 10-27-2010, 09:50 AM   #35
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 2,727

Rep: Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247
Of course you can take a shoot. In fact, he use the latest stable versions released.

But, I prefer to stay on top of git with those toys and I update the packages from my graphics stack every week. Of course, this is my personal opinion ...
 
Old 10-27-2010, 10:12 AM   #36
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slackware, debian, ubuntu
Posts: 666

Original Poster
Rep: Reputation: 39
hmmm i'm done with llvm and talloc using slackbuilds.
however I am still fuzzy about the util-macros.
am I to get them from here ?
git-clone git://anongit.freedesktop.org/git/xorg/util/macros

the prefix dir for slackware is /usr right?
 
Old 10-27-2010, 10:23 AM   #37
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 2,727

Rep: Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247
Yep.

Here you have my scripts for util-macros:

get-util-macros.sh

Code:
#!/bin/sh

CWD=`pwd`

DATE=$(date +%Y%m%d)

if [ ! -d $CWD/util-macros ] ; then
  git clone git://anongit.freedesktop.org/git/xorg/util/macros util-macros
else
  ( cd $CWD/util-macros ; git pull origin )
fi

# Create the source archive

SRCVERSION=$( sed -n "/^AC_INIT(/,/)/p" $CWD/util-macros/configure.ac | tr -d '[],\n' | awk '{print$2}' )

VERSION="${SRCVERSION}_git${DATE}"

( cd util-macros

  git archive --format=tar --prefix=util-macros-${VERSION}/ HEAD | bzip2 -zc > $CWD/util-macros-${VERSION}.tar.bz2
)
util-macros.SlackBuild

Code:
#!/bin/sh

# Copyright 2006, 2007, 2008, 2009, 2010  Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

PKGNAM=util-macros
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}

# Automatically determine architecture for build & packaging:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) export ARCH=i486 ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
    *)    export ARCH=$( uname -m ) ;;
  esac
fi

NUMJOBS=${NUMJOBS:-" -j7 "}

CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-${PKGNAM}

if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  LIBDIRSUFFIX=""
fi

rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION

if [ ! -f ./configure ] ; then
  autoreconf -v --install
fi

# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  -exec chmod 755 {} \; -o \
  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
  -exec chmod 644 {} \;

# Configure:
CFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --build=$ARCH-slackware-linux

# Build and install:
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1

# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
  ( cd $PKG/usr/man
    for manpagedir in $(find . -type d -name "man*") ; do
      ( cd $manpagedir
        for eachpage in $( find . -type l -maxdepth 1) ; do
          ln -s $( readlink $eachpage ).gz $eachpage.gz
          rm $eachpage
        done
        gzip -9 *.?
      )
    done
  )
fi

# Compress info files, if any:
if [ -d $PKG/usr/info ]; then
  ( cd $PKG/usr/info
    rm -f dir
    gzip -9 *
  )
fi

# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
  README \
  $PKG/usr/doc/${PKGNAM}-$VERSION

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $TMP/package-${PKGNAM}
/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-noarch-$BUILD.txz
slack-desc

Code:
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

           |-----handy-ruler------------------------------------------------------|
util-macros: util-macros
util-macros:
util-macros: util-macros is part of X11.
util-macros:
util-macros: For more information about the X.Org Foundation (the providers of the
util-macros: X.Org implementation of the X Window System), see their website:
util-macros:
util-macros: http://www.x.org
util-macros:
util-macros:
util-macros:

Last edited by Darth Vader; 10-27-2010 at 10:28 AM. Reason: SILLY TIPPOS
 
Old 10-27-2010, 10:52 AM   #38
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slackware, debian, ubuntu
Posts: 666

Original Poster
Rep: Reputation: 39
time for mesa.
a Q pops up in mind.
I should just append the flags you mention before under SLKCFLAGS in mesa.Slackbuild, right?

Quote:
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686 --enable-gallium --enable-gallium-llvm --enable-gallium-swrast"
 
Old 10-27-2010, 11:00 AM   #39
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 2,727

Rep: Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247
Nope! Those are ./configure flags.

It's something like this snippet:

Code:
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \        
  --prefix=/usr \    
  --sysconfdir=/etc \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --mandir=/usr/man \               
  --docdir=/usr/doc/mesa-$VERSION \ 
  --with-dri-driverdir=/usr/lib${LIBDIRSUFFIX}/xorg/modules/dri \
  --enable-gallium \
  --enable-gallium-llvm \
  --enable-gallium-swrast \                                            
  --build=$ARCH-slackware-linux
Note the CXXFLAGS, because now we have C++ code in Mesa and the configure flags.
 
Old 10-27-2010, 11:13 AM   #40
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slackware, debian, ubuntu
Posts: 666

Original Poster
Rep: Reputation: 39
hmmmm that can't be good.
I grabbed the summary at the end of the configuration after running mesa.Slackbuild and it states
Quote:
llvm: no
shall I stop the compilation process?
 
Old 10-27-2010, 11:23 AM   #41
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 2,727

Rep: Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247
Yep. You have a installation problem.

BTW. You have installed the packages of talloc and llvm, and upgraded util-macros and libdrm?
 
Old 10-27-2010, 11:26 AM   #42
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slackware, debian, ubuntu
Posts: 666

Original Poster
Rep: Reputation: 39
yes in the order llvm, talloc , utils-macros , libdrm that you stated earlier
 
Old 10-27-2010, 11:28 AM   #43
Darth Vader
Senior Member
 
Registered: May 2008
Location: Romania
Distribution: DARKSTAR Linux 2008.1
Posts: 2,727

Rep: Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247Reputation: 1247
Post the Mesa's configure.log, please!

And your configure snippet.

Last edited by Darth Vader; 10-27-2010 at 11:29 AM.
 
Old 10-27-2010, 12:03 PM   #44
sag47
Senior Member
 
Registered: Sep 2009
Location: Raleigh, NC
Distribution: Ubuntu, PopOS, Raspbian
Posts: 1,899
Blog Entries: 36

Rep: Reputation: 477Reputation: 477Reputation: 477Reputation: 477Reputation: 477
@Darth Vader: Can you explain what the following cut command does in one of the scripts you provided?
Code:
cut -f 3- -d .
I tried testing with it but I didn't find anything useful.
Code:
echo "I.am.sam.how.are.you" | cut -d. -f 3-
That returns "I.am.sam.how.are.you".

However when I run...
Code:
echo "I.am.sam.how.are.you" | cut -d. -f 3
That returns "sam" which is expected. I'm just curious what you're doing with that in util-macros.SlackBuild under the following command.
Code:
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
I'm just hopefully looking for a new way to use cut.
 
Old 10-27-2010, 12:07 PM   #45
nass
Member
 
Registered: Apr 2006
Location: Athens, Greece
Distribution: slackware, debian, ubuntu
Posts: 666

Original Poster
Rep: Reputation: 39
well here is the significant part

Quote:
./windows/VC8/progs/demos/gears.vcproj
./windows/VC8/progs/glut
./windows/VC8/progs/glut/glut.vcproj
./windows/VC8/progs/progs.sln
find: ` ': No such file or directory
./mesa.Slackbuild: line 33: (: command not found
./mesa.Slackbuild: line 35: (: command not found

autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal
/usr/share/aclocal/imlib.m4:9: warning: underquoted definition of AM_PATH_IMLIB
/usr/share/aclocal/imlib.m4:9: run info '(automake)Extending aclocal'
/usr/share/aclocal/imlib.m4:9: or see http://sources.redhat.com/automake/autom ake.html#Extending-aclocal
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf
autoreconf: configure.ac: not using Autoheader
autoreconf: configure.ac: not using Automake
autoreconf: Leaving directory `.'
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gmake... gmake
checking for makedepend... /usr/bin/makedepend
checking for sed... /usr/bin/sed
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking if compiling with clang... no
checking whether gcc version is sufficient... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether gcc supports -fvisibility=hidden... yes
checking whether g++ supports -fvisibility=hidden... yes
checking whether to enable assembly... yes, x86
checking for gcc option to produce PIC... -fPIC
checking for dlopen... no
checking for dlopen in -ldl... yes
checking for posix_memalign... yes
checking for TALLOC... yes
checking pkg-config files for X11 are available... yes
checking for X11... yes
checking for LIBDRM... yes
checking for DRI2PROTO... yes
checking for GLPROTO... yes
checking for XF86VIDMODE... yes
checking for DRIGL... yes
checking for LIBDRM_RADEON... yes
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking for XML_ParserCreate in -lexpat... yes
checking for INTEL... yes
checking for XCB_DRI2... yes
checking for LIBUDEV... yes
checking for GLW... yes
checking for GLUT... yes
checking udis86.h usability... no
checking udis86.h presence... no
checking for udis86.h... no
checking for llvm-config... /usr/bin/llvm-config
checking for XORG... yes
checking for XEXT... yes
configure: creating ./config.status
config.status: creating configs/autoconf
config.status: executing configs commands

prefix: /usr/local
exec_prefix: ${prefix}
libdir: ${exec_prefix}/lib
includedir: ${prefix}/include

Driver: dri
OSMesa: no
DRI drivers: i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon sa vage sis tdfx unichrome swrast
DRI driver dir: ${libdir}/dri
Use XCB: no

llvm: no

Gallium: yes
Gallium dirs: auxiliary drivers state_trackers
Target dirs: egl dri-r300 dri-swrast
Winsys dirs: sw sw/xlib sw/dri i915/sw radeon/drm
Driver dirs: softpipe failover galahad trace rbug identity svga i915 i965 r300
Trackers dirs: dri egl xorg
EGL client APIs: $(GL_LIB)

Shared libs: yes
Static libs: no
EGL: glx dri2
EGL platforms: x11 drm
GLU: yes
GLw: yes (Motif: no)
glut: yes

CFLAGS: -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing -fPIC
CXXFLAGS: -g -O2 -Wall -fvisibility=hidden -fno-strict-aliasing - fPIC
Macros: -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EX TERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERIN G -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE_LIBUDEV -DHAVE_XEXTPROTO_71 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM

Run 'gmake' to build Mesa

configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type:
checking build system type... config.sub: missing argument
Try `config.sub --help' for more information.
configure: error: /bin/sh bin/config.sub failed
./mesa.Slackbuild: line 44: --prefix=/usr: No such file or directory
./mesa.Slackbuild: line 46: --sysconfdir=/etc: No such file or directory
./mesa.Slackbuild: line 48: --docdir=/usr/doc/mesa-20101027_git: No such file or directory
./mesa.Slackbuild: line 50: --with-dri-driverdir=/usr/lib/xorg/modules/dri: No s uch file or directory
./mesa.Slackbuild: line 51: --enable-gallium-llvm: command not found
./mesa.Slackbuild: line 52: --enable-gallium-swrast: command not found
./mesa.Slackbuild: line 53: --enable-debug: command not found
./mesa.Slackbuild: line 54: --build=i486-slackware-linux: command not found

make[1]: Entering directory `/tmp/mesa-20101027_git/src'
Making sources for autoconf
gmake[2]: Entering directory `/tmp/mesa-20101027_git/src/mapi/glapi'
running /usr/bin/makedepend
gmake[2]: Leaving directory `/tmp/mesa-20101027_git/src/mapi/glapi'
gmake[2]: Entering directory `/tmp/mesa-20101027_git/src/mapi/glapi'

gcc -c -I../../../include -I../../../src/mapi -I../../../src/mesa -g -O2 -Wall - Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasin g -fPIC -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURC E -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DG LX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE _LIBUDEV -DHAVE_XEXTPROTO_71 glapi_dispatch.c -o glapi_dispatch.o
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: My Top 5 N900 Applications LXer Syndicated Linux News 0 04-28-2010 03:10 PM
LXer: Top 7 Xfce Applications LXer Syndicated Linux News 0 08-25-2009 07:00 AM
LXer: Top 10 KDE4 Applications LXer Syndicated Linux News 0 05-02-2009 09:01 PM
desklets do not stay on top during feh slideshow aerosmith Linux - Desktop 7 01-25-2009 11:51 PM
XMMS won't stay on top boonders Linux - Software 1 09-10-2003 04:22 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 05:08 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration