1cdbd92df420340ab0dfc9a5d8b83e5e3be85558
max
  Thu May 1 10:52:59 2025 -0700
using libmysqlclient so mysql8 leads to crashes in jksql. very odd. So removing libmysqlclient and using only libmariadb-dev now in gbic.

diff --git src/product/installer/browserSetup.sh src/product/installer/browserSetup.sh
index 8b1eb2b4b75..2b07a345d16 100755
--- src/product/installer/browserSetup.sh
+++ src/product/installer/browserSetup.sh
@@ -360,31 +360,31 @@
   offline    - put the browser offline, so no more loading of missing tables
                from UCSC on-the-fly. Much faster, but depending on how much
                you downloaded, means that you have many fewer tracks available.
   online     - put the browser online, so any missing files and tracks are
                loaded on-the-fly from UCSC.
   update     - update the genome browser software and data, updates
                all tables of an assembly, like "mirror"
   cgiUpdate  - update only the genome browser software, not the data. Not 
                recommended, see documentation.
   clean      - remove temporary files of the genome browser older than one 
                day, but do not delete any uploaded custom tracks
   addTools   - copy the UCSC User Tools, e.g. blat, featureBits, overlapSelect,
                bedToBigBed, pslCDnaFilter, twoBitToFa, gff3ToGenePred, 
                bedSort, ... to /usr/local/bin
                This has to be run after the browser has been installed, other-
-               wise these packages may be missing: libpng zlib libmysqlclient
+               wise these packages may be missing: libpng zlib mariadb-client
   dev        - install git/gcc/c++/freetype/etc, clone the kent repo into
                ~/kent and build the CGIs into /usr/local/apache so you can try
                them right away. Useful if you want to develop your own track 
                type. (OSX OK)
   mysql      - Patch my.cnf and recreate Mysql users. This can fix
                a broken Mysql server after an update to Mysql 8. 
                
 
 parameters for 'minimal', 'mirror' and 'update':
   <assemblyList>     - download Mysql + /gbdb files for a space-separated
                        list of genomes
 
 examples:
   bash $0 install     - install Genome Browser, do not download any genome
                         assembly, switch to on-the-fly mode (see the -f option)
@@ -1104,31 +1104,31 @@
     fi
 
     if [[ ! -f /usr/sbin/mysqld ]]; then
         echo2
         echo2 Now installing the Mysql server. 
         echo2 The root password will be set to a random string and will be written
         echo2 to the file /root/.my.cnf so root does not have to provide a password on
         echo2 the command line.
         waitKey
         moveAwayMyCnf
 
         # do not prompt in apt-get, will set an empty mysql root password
         export DEBIAN_FRONTEND=noninteractive
 	# Debian / Ubuntu 20 defaults to Mysql 8 and Mysql 8 does not allow rsync of myisam anymore
 	# -> we require mariaDb now
-        apt-get $APTERR --assume-yes install mariadb-server libmariadb-dev
+        apt-get $APTERR --assume-yes install mariadb-server mariadb-client
 
         mysqlStrictModeOff
         startMysql
         # flag so script will set mysql root password later to a random value
         SET_MYSQL_ROOT=1
     fi
 
 }
 
 # download apache mysql libpng openssl into the current dir
 # and build them into $APACHEDIR/ext
 function buildApacheMysqlOpensslLibpng () 
 {
 echo2
 echo2 Now building cmake, openssl, pcre, apache and mysql into $APACHEDIR/ext
@@ -1475,34 +1475,34 @@
    sudo sed -Ei '' 's/^[[:space:]]*#(LoadModule include_module)/\1/' /etc/apache2/httpd.conf
    # activate server side includes and make them depend on the X flag
    sudo sed -Ei '' 's/Options FollowSymLinks Multiviews/Options FollowSymLinks Includes Multiviews/' /etc/apache2/httpd.conf
    if grep -qv XBitHack /etc/apache2/httpd.conf ; then
      sudo sed -Ei '' '/Options FollowSymLinks Includes Multiviews/ a\
 XBitHack on\
 SSILegacyExprParser on
 ' /etc/apache2/httpd.conf
    fi
    sudo /usr/sbin/apachectl restart
 }
 
 # install gcc, make etc so we can build the tree on linux
 function setupBuildLinux ()
 {
-   echo2 Installing required linux packages from repositories: Git, GCC, G++, Mysql-client-libs, uuid, etc
+   echo2 Installing required linux packages from repositories: Git, GCC, G++, MariaDB-client-libs, uuid, etc
    waitKey
    if [[ "$DIST" == "debian" ]]; then
-      apt-get --assume-yes $APTERR install make git gcc g++ libpng-dev libmysqlclient-dev uuid-dev libfreetype-dev libbz2-dev pkg-config
+      apt-get --assume-yes $APTERR install make git gcc g++ libpng-dev libmariadb-dev uuid-dev libfreetype-dev libbz2-dev pkg-config
    elif [[ "$DIST" == "redhat" ]]; then
       yum install -y git vim gcc gcc-c++ make libpng-devel libuuid-devel freetype-devel
    else 
       echo Error: Cannot identify linux distribution
       exit 100
    fi
    # the build target cgi-bin requires that these directories exist
    mkdir -p $HTDOCDIR $CGIBINDIR
    # leave a flag file so the script knows later that this directory did not exist and we made it
    # and it is safe to write into it
    touch "$APACHEDIR"/.madeByBrowserBuild
 }
 
 # set this machine for browser development: install required tools, clone the tree, build it
 function buildTree () 
@@ -1631,31 +1631,31 @@
     mkdir -p $APACHEDIR/userdata/cramCache/{error,pending}
     chmod -R 777 $APACHEDIR/userdata/cramCache
 
     # -------------------
     # CGI installation
     # -------------------
     echo2
     echo2 Creating $CGIBINDIR and $HTDOCDIR and downloading contents from UCSC
     waitKey
     
     # create apache directories: HTML files, CGIs, temporary and custom track files
     mkdir -p $HTDOCDIR $CGIBINDIR $TRASHDIR $TRASHDIR/customTrash
     
     # the CGIs create links to images in /trash which need to be accessible from htdocs
     cd $HTDOCDIR
-    if [ ! -e $TRASHDIR ]; then
+    if [ ! -e trash ]; then
         ln -fs $TRASHDIR
     fi
 
     # write the sample hg.conf to the cgi-bin directory
     echo2 Creating Genome Browser config file $CGIBINDIR/hg.conf
     echo "$HG_CONF_STR" > $CGIBINDIR/hg.conf
     
     # hg.conf tweaks
     # redhat distros have the same default socket location set in mysql as
     # in our binaries. To allow mysql to connect, we have to remove the socket path.
     # Also change the psxy path to the correct path for redhat, /usr/bin/
     if [ "$DIST" == "redhat" ]; then
        echo2 Adapting mysql socket locations in $APACHEDIR/cgi-bin/hg.conf
        sed -i "/socket=/s/^/#/" $CGIBINDIR/hg.conf
        sed -i "/^hgc\./s/.usr.lib.gmt.bin/\/usr\/bin/" $CGIBINDIR/hg.conf