LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   multilib - How do I know if it worked? (https://www.linuxquestions.org/questions/slackware-14/multilib-how-do-i-know-if-it-worked-4175597104/)

maschelsea 01-09-2017 03:52 PM

multilib - How do I know if it worked?
 
Hello. I am a new Slack user. I've been using it about a month. I've followed the guide at http://docs.slackware.com/slackware:..._support_tools to get mutilib into my system. I have executed the following commands:
Code:

542  SLACKVER=14.2
  543  mkdir multilib; cd multilib
  544  lftp -c "open http://bear.alienbase.nl/mirrors/people/alien/multilib/ ; mirror -c -e ${SLACKVER}"
  546  slackpkg search lftp
  547  slackpkg install lftp
  548  lftp -c "open http://bear.alienbase.nl/mirrors/people/alien/multilib/ ; mirror -c -e ${SLACKVER}"
  549  cd ${SLACKVER}
  550  upgradepkg --reinstall --install-new *.t?z
  551  upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z

Now, how to I determine if the process worked?

Cristiano Urban 01-09-2017 04:28 PM

I think you could try to install a pre-compiled 32bit package.
For example, I just installed steamclient on my multilib system and it seems to work fine.

maschelsea 01-09-2017 05:04 PM

I installed it and ran steam and it loaded a Steam user agreement, so I assume that it is working correctly?

Cristiano Urban 01-09-2017 05:22 PM

Yes, go down to the end of the user agreement (I used the spacebar if I remember right), type 'y' and hit ENTER to accept. At this point you should see the program running :D

maschelsea 01-09-2017 05:27 PM

I got a Steam error: OPENGL GLX extension not supported by display.

Cristiano Urban 01-09-2017 05:42 PM

This is probably related to your graphic driver. Could you provide some info about your configuration?

maschelsea 01-09-2017 07:48 PM

I don't know exactly what your asking for, as I installed this off a LiveUSB of Slackware64 and haven't changed anything hardware-wise. This is what I know:

Code:

root@caitlyn:~# lspci
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation C220 Series Chipset Family H81 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

Does this help?

kjhambrick 01-10-2017 01:40 AM

maschelsea --

Here's a q&d test ...

Alien Bob provides /etc/profile.d/32dev.sh which sets your environment to build 32-bit programs.

EDIT: more specifically, Alien Bob's multilib Package 'compat32-tools-3.7-noarch-1alien.tgz' provides the /etc/profile.d/32dev.sh script

Below is a Konsole session where I build and test Program /tmp/hello as a 32-bit ELF Program

Cut-n-Paste this test program into /tmp/hello.c using your favorite editor:

Code:

#include <stdio.h>

int main( )
{
  printf( "hello 32-bit world!\n" ) ;
  return( 0 ) ;
}

Then follow along on the session below.

-- kjh

Code:

# pounded lines are comments ... no need to type them :)
#
# optional:  don't mess with my native x86_64 environment ; run a new shell

sh

# source Alien Bob's 32-bit Dev Environment into my new sub-shell ( note the syntax is dot-space /etc/profile.d/32dev.sh )

. /etc/profile.d/32dev.sh

# note that your prompt has changed ... if so, you're all set to compile a 32-bit program

# my prompt now looks like this:  konrad@kjhlt6 (32bit):~$

# compile a 32-bit program

gcc -o /tmp/hello /tmp/hello.c

# what kind of file is /tmp/hello ?

file /tmp/hello

# output:  /tmp/hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, not stripped

# run /tmp/hello

/tmp/hello

# output:  hello 32-bit world!

# exit out of the 32-bit subshell

exit

# your prompt should now return to normal.

If the file command is OK and /tmp/hello generates output, you're OK.

# for completeness, this is Alien Bob's /etc/profile.d/32dev.sh

# cat /etc/profile.d/32dev.sh
Code:

#!/bin/sh
# $Id: 32dev.sh,v 1.4 2014/10/02 09:31:37 eha Exp eha $
# Copyright (C) 2007  Frederick Emmott <mail@fredemmott.co.uk>
# Copyright 2009  Eric Hameleers, Eindhoven, NL
# Based on the file with the same name which is part of
# the Slamd64 Linux project (www.slamd64.com)

# Distributed under the GNU General Public License, version 2, as
# published by the Free Software Foundation.

# Modify the compilation/linking environment:
export PATH="/usr/bin/32:/usr/lib/qt/bin:$PATH"
export CC="gcc" # This is actually the /usr/bin/32/gcc wrapper
export CXX="g++"
export FC="gfortran" # This is actually the /usr/bin/32/gfortran wrapper
export F77="gfortran"

# Change the shell prompt to make it clear that we are in 32bit mode:
PS1='\u@\h (32bit):\w\$ '

# Check for Qt5, Qt4 and the old 'compatibility install' of Qt3:
if [ -d /opt/kde3/lib/qt3 ]; then
  export QTDIR=/opt/kde3/lib/qt3
fi
if [ -d /usr/lib/qt ]; then
  export QT4DIR=/usr/lib/qt
fi
if [ -d /usr/lib/qt5 ]; then
  export QT5DIR=/usr/lib/qt5
fi

if [ ! "$LD_LIBRARY_PATH" = "" ]; then
  export LD_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib:$LD_LIBRARY_PATH"
else
  export LD_LIBRARY_PATH="/usr/local/lib:/lib:/usr/lib"
fi

if [ ! "$PKG_CONFIG_PATH" = "" ]; then
  export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH"
else
  export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/lib/pkgconfig"
fi


maschelsea 01-10-2017 10:24 AM

To kjhambrick, you're 32-bit test worked, thank you. I would still really like to know how to get rid of that GLX error though. Steam isn't the only thing it's affecting. I switched to Slackware because I want to learn to think in Slackware terms. So my first step I think would be to ask how a Slackware user would approach this problem. I've been told on other threads that I should not go outside of slackpkg, slapt-get, and SlackBuilds, so the answer must be somewhere within those systems.

kjhambrick 01-10-2017 01:32 PM

maschelsea --

I am not a gamer so I don't know steam from ice :)

Here is another test using Alien Bob's /etc/profile.d/32dev.sh and glxgears ...

Open two terminals in your favorite x session ...

In one terminal:

Code:

# start a new subshell

sh

# source Alien Bob's /etc/profile.d/32dev.sh

. /etc/profile.d/32dev.sh

# run glxgears ... does it work ?  Mine does in 32-bit mode ( see below ).

glxgears

# after it's run a few seconds, press [Ctrl][C] to kill it.

While it's running, type in the other terminal:
Code:

lsof |grep glxgears
If you see /usr/lib/* instead of /usr/lib64/* in the lsof output, I believe your Multilib is good to go.

See below for lsof output on glxgears run natively as x86_64 vs 32-bit.

-- kjh
#
# this is native x86_64 glxgears lsof output ( note /lib64/ )
#
Code:

$ lsof |grep glxgears         

glxgears  19165          konrad  cwd      DIR              8,18    12288  7864321 /home/konrad
glxgears  19165          konrad  rtd      DIR                8,3    4096        2 /
glxgears  19165          konrad  txt      REG                8,3    23128 42104783 /usr/bin/glxgears
glxgears  19165          konrad  DEL      REG                8,3          26477636 /tmp/.glmBK9kz
glxgears  19165          konrad  mem      CHR            195,255            17947 /dev/nvidiactl
glxgears  19165          konrad  mem      CHR              195,0            17948 /dev/nvidia0
glxgears  19165          konrad  mem      REG                8,3 29073528 42074205 /usr/lib64/libnvidia-glcore.so.375.26
glxgears  19165          konrad  mem      REG                8,3    14480 42220485 /usr/lib64/tls/libnvidia-tls.so.375.26
glxgears  19165          konrad  mem      REG                8,3  1278296 42076565 /usr/lib64/libGLX_nvidia.so.375.26
glxgears  19165          konrad  mem      REG                8,3  822584 42077087 /usr/lib64/libGLdispatch.so.0
glxgears  19165          konrad  mem      REG                8,3    64688 42077088 /usr/lib64/libGLX.so.0
glxgears  19165          konrad  mem      REG                8,3    92448 42127908 /usr/lib64/libgcc_s.so.1
glxgears  19165          konrad  mem      REG                8,3  1533144 42127906 /usr/lib64/libstdc++.so.6.0.21
glxgears  19165          konrad  mem      REG                8,3    18808  4456639 /lib64/libdl-2.23.so
glxgears  19165          konrad  mem      REG                8,3    42056  4456627 /lib64/librt-2.23.so
glxgears  19165          konrad  mem      REG                8,3    55768 42114342 /usr/lib64/libdrm.so.2.4.0
glxgears  19165          konrad  mem      REG                8,3    20720 42113606 /usr/lib64/libXdmcp.so.6.0.0
glxgears  19165          konrad  mem      REG                8,3    10768 42113504 /usr/lib64/libXau.so.6.0.0
glxgears  19165          konrad  mem      REG                8,3  126384 42116690 /usr/lib64/libxcb.so.1.1.0
glxgears  19165          konrad  mem      REG                8,3    19128 42114297 /usr/lib64/libXxf86vm.so.1.0.0
glxgears  19165          konrad  mem      REG                8,3    90800 42116751 /usr/lib64/libxcb-glx.so.0.0.0
glxgears  19165          konrad  mem      REG                8,3    5864 42113468 /usr/lib64/libX11-xcb.so.1.0.0
glxgears  19165          konrad  mem      REG                8,3    22512 42113689 /usr/lib64/libXfixes.so.3.1.0
glxgears  19165          konrad  mem      REG                8,3    8848 42113602 /usr/lib64/libXdamage.so.1.1.0
glxgears  19165          konrad  mem      REG                8,3  182576 42107121 /usr/lib64/libglapi.so.0.0.0
glxgears  19165          konrad  mem      REG                8,3  2076848  4456638 /lib64/libc-2.23.so
glxgears  19165          konrad  mem      REG                8,3  135496  4456625 /lib64/libpthread-2.23.so
glxgears  19165          konrad  mem      REG                8,3    74232 42113685 /usr/lib64/libXext.so.6.4.0
glxgears  19165          konrad  mem      REG                8,3  1289608 42113471 /usr/lib64/libX11.so.6.3.0
glxgears  19165          konrad  mem      REG                8,3  1147632  4456561 /lib64/libm-2.23.so
glxgears  19165          konrad  mem      REG                8,3  583912 42077089 /usr/lib64/libGL.so.1.0.0
glxgears  19165          konrad  mem      REG                8,3  516416 42112548 /usr/lib64/libGLU.so.1.3.1
glxgears  19165          konrad  mem      REG                8,3  509520 42112540 /usr/lib64/libGLEW.so.1.13.0
glxgears  19165          konrad  mem      REG                8,3  174928  4456665 /lib64/ld-2.23.so
glxgears  19165          konrad    0u      CHR              136,8      0t0      11 /dev/pts/8
glxgears  19165          konrad    1u      CHR              136,8      0t0      11 /dev/pts/8
glxgears  19165          konrad    2u      CHR              136,8      0t0      11 /dev/pts/8
glxgears  19165          konrad    3u    unix 0xffff88101495f440      0t0  345026 type=STREAM
glxgears  19165          konrad    4u      CHR            195,255      0t0    17947 /dev/nvidiactl
glxgears  19165          konrad    5u      CHR            195,254      0t0    17949 /dev/nvidia-modeset
glxgears  19165          konrad    6u      CHR              195,0      0t0    17948 /dev/nvidia0
glxgears  19165          konrad    7u      CHR              195,0      0t0    17948 /dev/nvidia0
glxgears  19165          konrad    8u    unix 0xffff88101495ad00      0t0  345030 type=DGRAM
glxgears  19165          konrad    9u      CHR              195,0      0t0    17948 /dev/nvidia0
glxgears  19165          konrad  10u      CHR              195,0      0t0    17948 /dev/nvidia0
glxgears  19165          konrad  11uw    REG              8,18      148 23204131 /home/konrad/.nv/GLCache/e0ac323390458da3db161114e73bf39c/ba4d69b51bfdf838/0a18d75e2b77b53d.toc
glxgears  19165          konrad  12uw    REG              8,18    3660 23204132 /home/konrad/.nv/GLCache/e0ac323390458da3db161114e73bf39c/ba4d69b51bfdf838/0a18d75e2b77b53d.bin

#
# this is the same lsof command while I was in a 32-bit environment ( note /lib/
#
Code:

$ lsof |grep glxgears

glxgears  19121          konrad  cwd      DIR              8,18    12288  7864321 /home/konrad
glxgears  19121          konrad  rtd      DIR                8,3    4096        2 /
glxgears  19121          konrad  txt      REG                8,3    18096 43128952 /usr/bin/32/glxgears
glxgears  19121          konrad  mem      CHR            195,255            17947 /dev/nvidiactl
glxgears  19121          konrad  DEL      REG                8,3          26477636 /tmp/.glthjh1i
glxgears  19121          konrad  mem      CHR              195,0            17948 /dev/nvidia0
glxgears  19121          konrad  mem      REG                8,3 32353400 42086897 /usr/lib/libnvidia-glcore.so.375.26
glxgears  19121          konrad  mem      REG                8,3    13752 42220827 /usr/lib/tls/libnvidia-tls.so.375.26
glxgears  19121          konrad  mem      REG                8,3  1117204 42086895 /usr/lib/libGLX_nvidia.so.375.26
glxgears  19121          konrad  mem      REG                8,3  546840 42086891 /usr/lib/libGLdispatch.so.0
glxgears  19121          konrad  mem      REG                8,3    61312 42086896 /usr/lib/libGLX.so.0
glxgears  19121          konrad  mem      REG                8,3  116188 42119637 /usr/lib/libgcc_s.so.1
glxgears  19121          konrad  mem      REG                8,3  1496060 42118000 /usr/lib/libstdc++.so.6.0.21
glxgears  19121          konrad  mem      REG                8,3    17408 53087954 /lib/libdl-2.23.so
glxgears  19121          konrad  mem      REG                8,3    38572 53087973 /lib/librt-2.23.so
glxgears  19121          konrad  mem      REG                8,3    58912 42123219 /usr/lib/libdrm.so.2.4.0
glxgears  19121          konrad  mem      REG                8,3    19588 42123119 /usr/lib/libXdmcp.so.6.0.0
glxgears  19121          konrad  mem      REG                8,3    9132 42123090 /usr/lib/libXau.so.6.0.0
glxgears  19121          konrad  mem      REG                8,3  135584 42123329 /usr/lib/libxcb.so.1.1.0
glxgears  19121          konrad  mem      REG                8,3    18632 42123211 /usr/lib/libXxf86vm.so.1.0.0
glxgears  19121          konrad  mem      REG                8,3    94064 42123287 /usr/lib/libxcb-glx.so.0.0.0
glxgears  19121          konrad  mem      REG                8,3    5268 42123080 /usr/lib/libX11-xcb.so.1.0.0
glxgears  19121          konrad  mem      REG                8,3    17692 42122528 /usr/lib/libXfixes.so.3.1.0
glxgears  19121          konrad  mem      REG                8,3    7104 42123115 /usr/lib/libXdamage.so.1.1.0
glxgears  19121          konrad  mem      REG                8,3  108756 42119644 /usr/lib/libglapi.so.0.0.0
glxgears  19121          konrad  mem      REG                8,3  1848296 53087955 /lib/libc-2.23.so
glxgears  19121          konrad  mem      REG                8,3  131900 53087975 /lib/libpthread-2.23.so
glxgears  19121          konrad  mem      REG                8,3    72252 42123126 /usr/lib/libXext.so.6.4.0
glxgears  19121          konrad  mem      REG                8,3  1313564 42123078 /usr/lib/libX11.so.6.3.0
glxgears  19121          konrad  mem      REG                8,3  368744 53087952 /lib/libm-2.23.so
glxgears  19121          konrad  mem      REG                8,3  444100 42086894 /usr/lib/libGL.so.1.0.0
glxgears  19121          konrad  mem      REG                8,3  552632 42123063 /usr/lib/libGLU.so.1.3.1
glxgears  19121          konrad  mem      REG                8,3  427872 42123056 /usr/lib/libGLEW.so.1.13.0
glxgears  19121          konrad  mem      REG                8,3  170904 53087972 /lib/ld-2.23.so
glxgears  19121          konrad    0u      CHR              136,8      0t0      11 /dev/pts/8
glxgears  19121          konrad    1u      CHR              136,8      0t0      11 /dev/pts/8
glxgears  19121          konrad    2u      CHR              136,8      0t0      11 /dev/pts/8
glxgears  19121          konrad    3u    unix 0xffff88102a3dfbc0      0t0  347254 type=STREAM
glxgears  19121          konrad    4u      CHR            195,255      0t0    17947 /dev/nvidiactl
glxgears  19121          konrad    5u      CHR            195,254      0t0    17949 /dev/nvidia-modeset
glxgears  19121          konrad    6u      CHR              195,0      0t0    17948 /dev/nvidia0
glxgears  19121          konrad    7u      CHR              195,0      0t0    17948 /dev/nvidia0
glxgears  19121          konrad    8u    unix 0xffff880d652512c0      0t0  346848 type=DGRAM
glxgears  19121          konrad    9u      CHR              195,0      0t0    17948 /dev/nvidia0
glxgears  19121          konrad  10u      CHR              195,0      0t0    17948 /dev/nvidia0
glxgears  19121          konrad  11uw    REG              8,18      132 19138049 /home/konrad/.nv/GLCache/4b9d526d3c9634e5ca37caae7edfb725/ba4d69b51bfdf838/36f93942a73b1ddc.toc
glxgears  19121          konrad  12uw    REG              8,18    3628 19138050 /home/konrad/.nv/GLCache/4b9d526d3c9634e5ca37caae7edfb725/ba4d69b51bfdf838/36f93942a73b1ddc.bin


Cristiano Urban 01-10-2017 01:38 PM

Quote:

Originally Posted by maschelsea
I don't know exactly what your asking for, as I installed this off a LiveUSB of Slackware64 and haven't changed anything hardware-wise. This is what I know:

Yes, I was referring to hardware and some system info.

Quote:

Originally Posted by maschelsea
I would still really like to know how to get rid of that GLX error though.

Also look at the file(s) called /var/log/Xorg.n.log, where n is a number (i.e. Xorg.0.log). The lines starting with (EE) which represent errors could be a good starting point.

phenixia2003 01-10-2017 01:53 PM

Hello

Quote:

Originally Posted by kjhambrick (Post 5653002)
Here is another test using Alien Bob's /etc/profile.d/32dev.sh and glxgears ...

Open two terminals in your favorite x session ...

In one terminal:

Code:

# start a new subshell

sh

# source Alien Bob's /etc/profile.d/32dev.sh

. /etc/profile.d/32dev.sh

# run glxgears ... does it work ?  Mine does in 32-bit mode ( see below ).

glxgears

# after it's run a few seconds, press [Ctrl][C] to kill it.


You don't need to use 32dev.sh prior to run the 32-bit version of softwares like glxgears which are stored in /usr/bin/32 :
Code:

$ ls /usr/bin/32
aoss                  esdmon                  glxheads                      libglade-convert            mysql_plugin              setfattr
aria_chk              esdplay                glxinfo                      libieee1284_test            mysql_secure_installation  setsid
<snip>
esddsp                glxdemo                ldapwhoami                    mysql_find_rows            scriptreplay
esdfilt              glxgears                libart2-config                mysql_fix_extensions        sdl-config
esdloop              glxgears_fbconfig      libgcrypt-config              mysql_install_db            setarch


$ file /usr/bin/32/glxgears
/usr/bin/32/glxgears: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped

$ /usr/bin/32/glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
304 frames in 5.0 seconds = 60.778 FPS
301 frames in 5.0 seconds = 60.008 FPS
300 frames in 5.0 seconds = 59.999 FPS
...

about the OP issue, maybe the output of commands below could give us some clues :
Code:

$ glxinfo

$ /usr/bin/32/glxinfo

--
SeB

kjhambrick 01-10-2017 02:12 PM

Thanks SeB.

Good (glx) info :)

-- kjh

maschelsea 01-10-2017 03:33 PM

Code:

michael@caitlyn ~ $ sh
michael@caitlyn ~ $ glxgears
Error: couldn't get an RGB, Double-buffered visual

Code:

root@caitlyn:~# grep EE /var/log/Xorg.0.log
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    23.848] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
[  346.234] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
[  742.682] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
[ 57431.053] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
[ 57575.894] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
[1196780.083] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
[1196844.824] (EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)


maschelsea 01-10-2017 03:34 PM

What's the Slackware way for getting GLX? On my old distro, I would be headed into /usr/src/linux rebuilding the kernel. I don't think that's the Slack way though, so what is?


All times are GMT -5. The time now is 06:18 PM.