Ignore:
Timestamp:
03/10/22 10:50:29 (2 years ago)
Author:
Sanahuja Guillaume
Message:

change all scripts to remove call to distribution_specific_hack, which is no longer necessary

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/scripts/distribution_specific_hack.sh

    r365 r469  
    1 #check required version of a lib in host graphic lib (ie i965)
    2 #return 1 if robomap3 version is not sufficient
    3 function check_required_lib_ver () {
    4     DRIVER_LIB=$1       
    5     PATTERN=$2
    6     LIB=$3
     1#!/bin/bash
    72
    8     #get the highest required version of $PATTERN
    9     VER_REQUIRED=$(objdump -T $DRIVER_LIB | grep $PATTERN | sed -e 's/.*'$PATTERN'_\(.*\) .*/\1/' | sort -uV | tail -1)
    10     #get currently used $LIB
    11     LIB_PROVIDED=$(ldd $EXEC | grep $LIB | sed -e 's/.*=> \(.*\) (.*/\1/')
    12     #get the highest version of $PATTERN supported by the $LIB
    13     VER_PROVIDED=$(objdump -T $LIB_PROVIDED | grep ".*"$PATTERN"_[0-9.]*$" | sed -e 's/.*'$PATTERN'_\(.*\)/\1/' | sort -V | tail -1)
    14     if [ $(echo -e "$VER_PROVIDED\n$VER_REQUIRED" | sort -V | tail -n1) != $VER_PROVIDED ]; then
    15         echo "We must use the local system $LIB"
    16         return 1
    17     fi
     3function red_echo () {
     4        echo -e "\033[33m$1\033[0m"
    185}
    196
    20 function green_echo () {
    21         echo -e "\033[32m$1\033[0m"
    22 }
    23 
    24 if [ -f /etc/lsb-release ]; then
    25   . /etc/lsb-release
    26 fi
    27 
    28 #also needed in mint, but for different reason?
    29 #if not in sudo in mint, simlator does not work cause of:
    30 #libGL: MESA-LOADER: failed to open /usr/lib/x86_64-linux-gnu/dri/iris_dri.so: /usr/lib/x86_64-linux-gnu/dri/iris_dri.so: failed to map segment from shared object
    31 
    32 #if [ _$DISTRIB_ID = _Ubuntu ]; then
    33   #tested on Ubuntu 17.10
    34   #we must run as root
    35   if [ $EUID -ne 0 ]; then
    36     exec sudo -E $0 $*
    37   fi
    38 
    39   #we must run in root cgroup to escape possible restrictions on scheduling
    40   if [ -d /sys/fs/cgroup/cpu ]; then
    41     echo $$ > /sys/fs/cgroup/cpu/tasks
    42   fi
    43 
    44 #fi
    45 
    46 #special actions if we use 3D
    47 ldd $EXEC | grep "libGL.so" > /dev/null
    48 if [ $? -eq 0 ]; then
    49     green_echo "checking for incompatibility when using libGL and trying to solve it..."
    50     #allow root access to the X server
    51     xhost si:localuser:root
    52 
    53     #Mesa DRI driver may need a lib more recent than robomap3's
    54     ldconfig -p | grep mesa > /dev/null
    55     if [ $? -eq 0 ]; then
    56         read DRI_CARD_MAJOR DRI_CARD_MINOR < <(stat -c '%t %T' /dev/dri/card0)
    57         DRIVER=$(cat /sys/dev/char/$((16#$DRI_CARD_MAJOR)):$((16#$DRI_CARD_MINOR))/device/uevent | grep DRIVER | cut -d= -f2)
    58         echo "Mesa DRI driver is $DRIVER"
    59         DRIVER_LIB=$(LIBGL_DEBUG=verbose glxinfo 2>&1 | grep "\.so" | tail -n 1 | grep -o '/.*\.so')
    60 
    61         #todo: make a list, find a complete one!
    62         check_required_lib_ver $DRIVER_LIB GLIBC libm.so.6
    63         if [ "$?" = "1" ]; then
    64                    ADDED_LIBS=$(ldconfig -p | grep libm.so.6 | grep libc6,x86-64 | cut -d'>' -f2)
    65             fi
    66 
    67         check_required_lib_ver $DRIVER_LIB CXXABI libstdc++.so.6
    68         if [ "$?" = "1" ]; then
    69                    ADDED_LIBS="$ADDED_LIBS:$(ldconfig -p | grep libstdc++.so.6 | grep libc6,x86-64 | cut -d'>' -f2)"
    70             fi
    71 
    72         #remove whitespace
    73         #add libs to LD_PRELOAD if version robomap3 version is not sufficient
    74         export LD_PRELOAD="$(echo -e "${ADDED_LIBS}" | tr -d '[:space:]')"
    75     fi
    76 
    77     #check if using DRI3 and disable it
    78     #otherwise you get /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0: undefined symbol: xcb_dri3_get_supported_modifiers
    79     cat /var/log/Xorg.0.log | grep DRI3 > /dev/null
    80     if [ $? -eq 0 ]; then
    81         export LIBGL_DRI3_DISABLE=1
    82         echo "we must disable DRI3"
    83     fi
    84     green_echo "...done\n"
    85 fi
    86 
    87 
    88 
     7red_echo "Calling distribution_specific_hack.sh is no longer necessary; this script now does nothing"
     8red_echo "If you encounter problems running your program, call the distribution_specific_hack_compat.sh script and warn a Flair developer\n"
Note: See TracChangeset for help on using the changeset viewer.