Skip to content

Instantly share code, notes, and snippets.

@borgfriend
Last active April 13, 2024 13:34
Show Gist options
  • Save borgfriend/b83467639cb8039dc79974bf780a4994 to your computer and use it in GitHub Desktop.
Save borgfriend/b83467639cb8039dc79974bf780a4994 to your computer and use it in GitHub Desktop.
Maya 2017 Installation on Ubuntu 16.04
#!/bin/bash
#Make sure we’re running with root permissions.
if [ `whoami` != root ]; then
echo Please run this script using sudo
echo Just type “sudo !!”
exit
fi
#Check for 64-bit arch
if [uname -m != x86_64]; then
echo Maya will only run on 64-bit linux.
echo Please install the 64-bit ubuntu and try again.
exit
fi
## Create Download Directory
mkdir -p maya2017Install
cd maya2017Install
## Download Maya Install Files
wget http://edutrial.autodesk.com/NET17SWDLD/2017/MAYA/ESD/Autodesk_Maya_2017_EN_JP_ZH_Linux_64bit.tgz
tar xvf Autodesk_Maya_2017_EN_JP_ZH_Linux_64bit.tgz
## Install Dependencies
apt-get install -y libssl1.0.0
apt-get install -y gcc
apt-get install -y libssl-dev
apt-get install -y libjpeg62
apt-get install -y alien
apt-get install -y csh
apt-get install -y tcsh
apt-get install -y libaudiofile-dev
apt-get install -y libglw1-mesa
apt-get install -y elfutils
apt-get install -y libglw1-mesa-dev
apt-get install -y mesa-utils
apt-get install -y xfstt
apt-get install -y ttf-liberation
apt-get install -y xfonts-100dpi
apt-get install -y xfonts-75dpi
apt-get install -y ttf-mscorefonts-installer
apt-get install -y libfam0
apt-get install -y libfam-dev
apt-get install -y libgstreamer-plugins-base0.10-0
wget http://launchpadlibrarian.net/183708483/libxp6_1.0.2-2_amd64.deb
## Install Maya
alien -cv *.rpm
dpkg -i *.deb
echo "int main (void) {return 0;}" > mayainstall.c
gcc mayainstall.c
mv /usr/bin/rpm /usr/bin/rpm_backup
cp a.out /usr/bin/rpm
chmod +x ./setup
./setup
rm /usr/bin/rpm
mv /usr/bin/rpm_backup /usr/bin/rpm
## Fix Startup Errors
ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.5.2.4 /usr/lib/libtiff.so.3
ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/autodesk/maya2017/lib/libssl.so.10
ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so /usr/autodesk/maya2017/lib/libcrypto.so.10
mkdir -p /usr/tmp
chmod 777 /usr/tmp
mkdir -p ~/maya/2017/
chmod 777 ~/maya/2017/
## Fix Segmentation Fault Error
echo "MAYA_DISABLE_CIP=1" >> ~/maya/2017/Maya.env
## Fix Color Managment Errors
echo "LC_ALL=C" >> ~/maya/2017/Maya.env
chmod 777 ~/maya/2017/Maya.env
## Maya Camera Modifier Key
gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "<Super>"
## Ensure that Fonts are Loaded
xset +fp /usr/share/fonts/X11/100dpi/
xset +fp /usr/share/fonts/X11/75dpi/
xset fp rehash
echo Maya was installed successfully.
@saroman2
Copy link

saroman2 commented Dec 1, 2017

Encountered the Segmentation fault as well after upgrading to Ubuntu 17.10 yesterday.
It does actually launch fine when starting with ./maya.bin in /usr/autodesk/maya2017/bin directly
./maya2017 script throws the segfault

@thekesslereffect
Copy link

I was getting the Segmentation Fault error. It's because it wasn't able to find libtbb_preview.so.2 . So I had to make a link to it using: sudo ln -s /usr/lib/x86_64-linux-gnu/libtbb.so.2 /usr/lib/x86_64-linux-gnu/libtbb_preview.so.2

@magdesign
Copy link

magdesign commented Jan 22, 2018

I fixed the error in Ubuntu 17.10 with starting maya with ./maya.bin instead of ./maya

To fix the xgen error, make a script to launch maya with this content:

#!/bin/csh -f
#
setenv LD_LIBRARY_PATH /usr/autodesk/maya2018/plug-ins/xgen/lib:/usr/autodesk/maya2018/plug-ins/substance/lib:/usr/autodesk/maya2018/lib:/usr/autodesk/maya2018/plug-ins/camd/lib:/usr/autodesk/maya2018/plug-ins/fbx/lib:/usr/autodesk/maya2018/plug-ins/MASH/lib:/usr/autodesk/maya2018/plug-ins/xgen/lib
/usr/autodesk/maya2018/bin/maya.bin

@rocketheat
Copy link

Color Management Error:

Thank you very much for this script.
I got this error while starting Maya. What I did to fix it per the suggestion of this page https://knowledge.autodesk.com/support/maya/troubleshooting/caas/sfdcarticles/sfdcarticles/Failed-to-apply-color-management-settings-on-file-open.html

echo "MAYA_CM_DISABLE_ERROR_POPUPS=1" >> ~/maya/2017/Maya.env
echo "MAYA_COLOR_MGT_NO_LOGGING=1" >> ~/maya/2017/Maya.env

and I stopped seeing the error. I would probably include these lines to the original script.

@Nixellion
Copy link

So, any update to this script with new SP or Maya 2018?

@codernix
Copy link

@Nixellion,

Apply the same thing on this script only changing maya2017 by maya2018, and all the fixes up here as well, and finally (unfortunately) run with "sudo" and it should be working fine, oh, and don't forget, the libGL.so and libEGL.so will be at nvidia-VERSION folder not just nvidia, i.e. nvidia-387/libGL.so

The only thing I'm running using "sudo" is due to the LicenseServer fail to authenticate or run with normal user, and it could be an Ubuntu thing, that requires "su" privileges to open or use any port under 10000, but that's just a wild guess, not something concrete.

@prashanthbhagavan
Copy link

@borgfriend Thanks for this script!

chmod 0:0 Maya2017_64-2017.0//var/opt/Autodesk/Adlm/Maya2017
chmod 755 Maya2017_64-2017.0//var/opt/Autodesk/Adlm/Maya2017
chown 0:0 Maya2017_64-2017.0//var/opt/Autodesk/Adlm/Maya2017/MayaConfig.pit
chmod 755 Maya2017_64-2017.0//var/opt/Autodesk/Adlm/Maya2017/MayaConfig.pit
mkdir Maya2017_64-2017.0/debian
hostname
date -R
hostname
date -R
chmod 755 Maya2017_64-2017.0/debian/rules
debian/rules binary 2>&1

it gets stuck for a long time, i waited for about 1 hour and nothing happened, is its normal ?

Thanks

@groovysnake
Copy link

I finished the script and everything worked fine until I tried running Maya for the first time. I got a color management error, it could not load “shared_catalog.cat”. Ran Maya as root (sudo maya) once and it works perfectly now, even when running it as regular user. Just sharing my experience for anyone that may be having issues!

@cgmagic
Copy link

cgmagic commented Apr 7, 2018

Tried to install this on Ubuntu 17.10, successfully installed. But when I type : maya
its error : Segmentation fault (core dumped)
I already added
MAYA_DISABLE_CIP=1
LC_ALL=C
but it didn't do anything.

Also tried cd into /usr/autodesk/maya2017/bin/ then run ./maya.bin
its error :
maya: Autodesk Maya 2017Licensing ErrorA licensing error occurred that Autodesk systems were not able to handle for you. Please contact Autodesk Customer Support for help in resolving this error.GetFeatureAuthorizationStatus 1 (Failure)

Any idea guys ?? Cheers

@lecopivo
Copy link

lecopivo commented Apr 17, 2018

I was getting fatal error during maya launch

Graphic device does not support OpenGL Core Profile, fallback to OpenGL renderer.
Stack trace:
  /usr/autodesk/maya2017/lib/libOGSDeviceOGL-16.so(+0x43309) [0x7f75b12f4309]
  /usr/autodesk/maya2017/lib/libOGSDeviceOGL-16.so(+0x38e1a) [0x7f75b12e9e1a]
  /usr/autodesk/maya2017/lib/libOGSDeviceOGL-16.so(+0x2453d) [0x7f75b12d553d]
  OGS::Devices::Sys::CreateVirtualDevice(OGS::Devices::ACreationParameters*)
  CreateOGSDevice(OGS::Devices::ACreationParameters*)
  OGSRenderer::initializeOGSDevice(OGS::Objects::UString*, int)
  OGSMayaRenderer::initialize(OGSRenderer::DeviceAPI, int, void*, void*, void*, bool)
  OGSMayaBridge::CreateOGSRenderer()
  OGSMayaBaseRenderer::initialize()
  OGSViewportRenderer::initialize()
  OGSMayaBridge::Create3DViewportRenderer()
  /usr/autodesk/maya2017/bin/maya.bin() [0x417d9b]
  Tapplication::start()
  /usr/autodesk/maya2017/bin/maya.bin() [0x40ee50]
  main
  __libc_start_main
  /usr/autodesk/maya2017/bin/maya.bin() [0x40e6ed]

I fixed it with
sudo ln -s /usr/lib/nvidia-390/libGL.so /usr/autodesk/maya2017/lib/

@halfjack
Copy link

hey, Borgfriend!

thank you so much for the script. I tried to adapt it to maya 2016 (the latest version I have a license for) and it ran with no real issues. When I try to start maya up, however, I get the following:

Stack trace:
  /lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7fccbb1ce4b0]
  OGS::Devices::GL3FunctionTable::populate()
  OGS::Devices::GL3Context::PopulateFunctionTable(OGS::Devices::ACreationParameters const*)
  OGS::Devices::VirtualDeviceGL3::CreateDevice(OGS::Devices::ACreationParameters const*)
  OGS::Devices::Sys::CreateVirtualDevice(OGS::Devices::ACreationParameters*)
  OGSRenderer::initializeOGSDevice(OGS::Objects::UString*, int)
  OGSMayaRenderer::initialize(OGSRenderer::DeviceAPI, int, void*, void*, void*, bool)
  OGSMayaBridge::CreateOGSRenderer()
  OGSMayaBaseRenderer::initialize()
  OGSViewportRenderer::initialize()
  OGSMayaBridge::Create3DViewportRenderer()
  /usr/autodesk/maya2016/bin/maya.bin() [0x41704b]
  Tapplication::start()
  /usr/autodesk/maya2016/bin/maya.bin() [0x40e6ff]
  main
  __libc_start_main
  /usr/autodesk/maya2016/bin/maya.bin() [0x40debd]

Fatal Error. Attempting to save in /usr/tmp/username.20180424.2151.ma
Writing crash report in /usr/tmp/username.20180424.2151.crash

Any Idea what could be going wrong? I am using the Nvidia third-party drivers.

@unameit10000000
Copy link

unameit10000000 commented May 3, 2018

@prashanthbhagavan, @TobiMayr: I had the same problem, it takes a while but the installation will eventually proceed.

Copy link

ghost commented Jun 24, 2018

When I install, everything goes through well and successful, but when I go to run it, I cannot find ANYTHING whatsoever.

@Fafnur
Copy link

Fafnur commented Aug 5, 2018

@borgfriend Thanks for this script. It's work!

I use Deepin. I downloaded last version maya 2017 and executed all commands.
I just changed the symbolic links for libtiff.so, libssl.so and libcrypto.so.

@osmanialll
Copy link

screenshot_20181118_123620
Error when I execute the alien command
I'm using the KDE Neon (based ubuntu 18.04)

@amasondev
Copy link

why not ln -s /usr/bin/true /usr/bin/rpm or better yet alias rpm=true

@seamanj
Copy link

seamanj commented Jan 5, 2019

sudo ln -s /usr/lib/nvidia-390/libGL.so /usr/autodesk/maya2017/lib/

thanks a million, your solution fixed my problem!

@Brek01
Copy link

Brek01 commented Feb 1, 2019

Hey eveyone, I am on installing Maya 2019 on a mint build, converted using alien ok then the last command failed as it counldn't find the archive, as like many asking questions on these kind of posts I come from a zero coding background, so need some help what do i need to do next?
p.s. I found the deb files they had been added to my home directory but not in a folder, so moved to a folder and seems to be installing.

@luma91
Copy link

luma91 commented Feb 17, 2019

Upon starting maya 2017, 2018 or 2019 (i have all 3 installed, and all 3 have the same issue) I get this
// Error: file: /usr/autodesk/maya2019/scripts/startup/initMainWindow.mel line 176: ImportError: file /usr/autodesk/maya2019/lib/python2.7/site-packages/maya/app/general/mayaMixin.py line 35: libpyside2.so.2.0: cannot open shared object file: No such file or directory, No module named PyQt4.QtCore //

// Error: line 0: ImportError: file /usr/autodesk/maya2019/lib/python2.7/site-packages/maya/app/general/mayaMixin.py line 35: libpyside2.so.2.0: cannot open shared object file: No such file or directory, No module named PyQt4.QtCore //

Upon further investigating, just typing in from PyQt4 import QtCore also fails. with
# Error: ImportError: file <maya console> line 1: No module named PyQt4 #

I assume that's not supposed to be the case?

@phimath
Copy link

phimath commented Mar 31, 2019

Upon starting maya 2017, 2018 or 2019 (i have all 3 installed, and all 3 have the same issue) I get this
// Error: file: /usr/autodesk/maya2019/scripts/startup/initMainWindow.mel line 176: ImportError: file /usr/autodesk/maya2019/lib/python2.7/site-packages/maya/app/general/mayaMixin.py line 35: libpyside2.so.2.0: cannot open shared object file: No such file or directory, No module named PyQt4.QtCore //

// Error: line 0: ImportError: file /usr/autodesk/maya2019/lib/python2.7/site-packages/maya/app/general/mayaMixin.py line 35: libpyside2.so.2.0: cannot open shared object file: No such file or directory, No module named PyQt4.QtCore //

Upon further investigating, just typing in from PyQt4 import QtCore also fails. with
# Error: ImportError: file <maya console> line 1: No module named PyQt4 #

I assume that's not supposed to be the case?

I am also having this issue. Did you find a solution to it?

from PySide2 import QtWidgets
# Error: ImportError: file <maya console> line 1: libpyside2-python2.7.so.2.0: cannot open shared object file: No such file or directory # 

Copy link

ghost commented Apr 1, 2019

Upon starting maya 2017, 2018 or 2019 (i have all 3 installed, and all 3 have the same issue) I get this
// Error: file: /usr/autodesk/maya2019/scripts/startup/initMainWindow.mel line 176: ImportError: file /usr/autodesk/maya2019/lib/python2.7/site-packages/maya/app/general/mayaMixin.py line 35: libpyside2.so.2.0: cannot open shared object file: No such file or directory, No module named PyQt4.QtCore //
// Error: line 0: ImportError: file /usr/autodesk/maya2019/lib/python2.7/site-packages/maya/app/general/mayaMixin.py line 35: libpyside2.so.2.0: cannot open shared object file: No such file or directory, No module named PyQt4.QtCore //
Upon further investigating, just typing in from PyQt4 import QtCore also fails. with
# Error: ImportError: file <maya console> line 1: No module named PyQt4 #
I assume that's not supposed to be the case?

I am also having this issue. Did you find a solution to it?

from PySide2 import QtWidgets
# Error: ImportError: file <maya console> line 1: libpyside2-python2.7.so.2.0: cannot open shared object file: No such file or directory # 

That's a Python issue, try this:

mv /usr/autodesk/maya2019/lib/python2.7/lib-dynload/_hashlib.so /usr/autodesk/maya2019/lib/python2.7/lib-dynload/rhel_hashlib.so

ln -s /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so /usr/autodesk/maya2019/lib/python2.7/lib-dynload/_hashlib.so

@luma91
Copy link

luma91 commented Apr 7, 2019

I figured out the issue. The solution was specifying the LD_LIBRARY_PATH. This is done automagically in the standard maya launcher, but that crashes/fails for 2017 & 2018. The solution I found there was to write my own launcher script. Like so:

#!/bin/sh
maya_loc=/usr/autodesk/maya2018/
export MAYA_LOCATION=$maya_loc

# Set up the location of the DSO's and run
export LD_LIBRARY_PATH=$maya_loc/lib/

# DISABLE CIP
export MAYA_DISABLE_CIP=1
 
# Launch Maya!
$maya_loc/bin/maya.bin

However, if you want to use the proper launcher method, I found the 2019 launcher works for 2017 & 2018. So I've copied the code here as well:

#!/bin/bash -f
#Tag 0x00C98a00
#*
#*+***********************************************************************
#*
#*  Module:
#*	maya
#*
#*-***********************************************************************
#*

maya_exec=maya.bin


#
#  Determine if launched from the desktop or a shell.  This will tell
#  us how to display error messages later.
#

tty=1

OSname=$(/bin/uname -s)

if [ "$OSname" = Linux ]; then
        lib=lib
        lsFlags='-l'
else
        echo "Maya is not supported on $OSname."
        exit 1
fi

#
#       Parse the argument list
#

mayaArgs=""
mayaApp=""
debuggerArgs=""

while [[ $# -gt 0 ]]
    do
    key="$1"

    case $key in
       -d)
            if [ $# -le 1 ]; then
                if [ $tty = 1 ]; then
                    echo "No debugger specified"
                fi
            fi
            shift
            dbgApp=$1
            ;;
        -dbgArg)
            shift
            debuggerArgs="${debuggerArgs} $1"
            ;;
        -data)
            mayaArgs="${mayaArgs} $1"
            ;;
        -d*)
            dbgApp=$(echo "$1" | cut -c3-)
            ;;
        *)
            # unknown option
            mayaArgs="${mayaArgs} '$1'"
            ;;
    esac
  shift # past argument or value
done


#
#  If the MAYA_LOCATION is set, use it.  Otherwise, determine it.
#
if [ ! -z ${MAYA_LOCATION+x} ]; then
    if [ -x ${MAYA_LOCATION}/bin/${maya_exec} ]; then
        maya=${MAYA_LOCATION}/bin/${maya_exec}
    else
        unset MAYA_LOCATION
    fi
fi



if [ -z ${MAYA_LOCATION+x} ]; then
    #
    #  Create the full pathname of the invoked binary.
    #

    if [[ "$0" == /* ]]; then
                me="$0"
    else
                me=$(pwd)/$0
    fi

    #
    #  If it's a link, find the actual file.
    #  Follow the link(s) until an acutal file is found

    while [ -h "$me" ]; do
        linkdirname=$(dirname "$me")
        me=$(ls "$lsFlags" "$me" | tr ' ' '\012' | tail -n 1)
        if [[ ! "$me" == /* ]]; then
            me="$linkdirname/$me"
        fi
    done

    #
    #  Binary should be in $MAYA_LOCATION/bin.  Verify that.
    #

    bindir=$(dirname "$me")
    if [ -d "$bindir" ]; then
                bindir=$(cd "$bindir"; echo "$PWD")
    fi
    binfile=$(basename "$bindir")
    if [ "$binfile" == "bin" ]; then
        # We cannot call export directly if there are spaces in the Path.
        # We must use a temp variable.
        maya_loc=$(dirname "$bindir")
        export MAYA_LOCATION="$maya_loc"
        if [ -x "${MAYA_LOCATION}/bin/${maya_exec}" ]; then
            maya="${MAYA_LOCATION}/bin/${maya_exec}"
        else
            unset MAYA_LOCATION
        fi
    fi
fi

#
#  This allows Maya to save SGI format image files with matte.

export WF_IMF_SGI_MATTE=1

#
#	101914: color correction needed for Cineon files.

export WF_IMF_CIN_CORRECTION=both
export WF_IMF_CIN_WHITE_POINT=685

# Set up the location of the libquicktime plugins
export LIBQUICKTIME_PLUGIN_DIR="$MAYA_LOCATION/lib/libquicktime"

# Turn on tablet event compression by default to solve viewport 
export QT_COMPRESS_TABLET_EVENTS=1

#
# Set up the location of the DSO's and run
#
if [ "$MAYA_LOCATION" ]; then
    if [ ! -z ${LD_LIBRARY_PATH+x} ]; then
        export LD_LIBRARY_PATH="$MAYA_LOCATION/lib:$LD_LIBRARY_PATH"
    else
        export LD_LIBRARY_PATH="$MAYA_LOCATION/lib"
    fi

    # Prepend modules lib to LD_LIBRARY_PATH or LD_LIBRARYN32_PATH
    # See Manitoba/Apps/maya.cpp for OSX
    for moduleDir in "$MAYA_LOCATION/plug-ins"/* ; do
        if [ -d "$moduleDir" ] && [ -d "$moduleDir/lib" ]; then
            if [ ! -z ${LD_LIBRARY_PATH+x} ]; then
                export LD_LIBRARY_PATH="$moduleDir/lib:$LD_LIBRARY_PATH"
            else
                export LD_LIBRARY_PATH="$moduleDir/lib"
            fi
        fi
    done

        if [ "$mayaApp" != "" ]; then
                maya="${mayaApp}";
        fi

    if [ -x "$maya" ]; then
        if [ ! -z ${dbgApp+x}  ]; then
            #echo "debugging: ${maya}"
            export AW_DEBUGGING=F
            export MAYA_DEBUG_NO_SIGNAL_HANDLERS=1
            echo "Executing: ${dbgApp} ${debuggerArgs} ${maya}"
            if [[ ! "${mayaArgs}" =~ "" ]]; then
                echo "Maya args: ${mayaArgs}"
            fi
            eval "${dbgApp}" "${debuggerArgs}" "${maya}" "${mayaArgs}"
            exit "$?"
        else
            #echo "running: ${maya}"
            noSpaceMaya=$(echo $maya | sed -e 's/ /\\ /g')
            eval "$noSpaceMaya" "${mayaArgs}"
            exit "$?"
        fi
    fi
fi

if [ ! $maya ]; then
    set maya = "${maya_exec}"
fi

if [ "$tty" == 1 ]; then
    echo The Maya executable \(\`${maya}\'\) cannot be found
fi
exit 1


#*+
#* ==========================================================================
#* The information  in  this  file is  provided for the  exclusive use of the
#* licensees of Alias Systems Corp. Such users have the right to use, modify,
#* and  incorporate this code  into  other  products  for purposes authorized
#* by the  Alias Systems Corp. license agreement, without fee.
#*
#* Alias Systems Corp. disclaims all warranties with regard to this software,
#* including all implied warranties  of  merchantability and  fitness.  In no
#* event  shall  Alias Systems Corp. be liable for any  special,  indirect or
#* consequential  damages  or  any  damages whatsoever resulting from loss of
#* use, data  or profits, whether in  an  action of  contract,  negligence or
#* other tortious  action,  arising out of or  in connection  with the use or
#* performance of this software.
#* ==========================================================================
#*-

Just copy that into your maya bin folder i.e. "/usr/autodesk/maya2018/bin" and save it as "maya2018" or whatever version your using. If its in the same location as maya.bin it should work. You may need to overwrite the one that's there.

You may need to then make sure you run Jibwood's solution to the python hashlib issue:

mv /usr/autodesk/maya2018/lib/python2.7/lib-dynload/_hashlib.so /usr/autodesk/maya2018/lib/python2.7/lib-dynload/rhel_hashlib.so

ln -s /usr/lib/python2.7/lib-dynload/_hashlib.x86_64-linux-gnu.so /usr/autodesk/maya2018/lib/python2.7/lib-dynload/_hashlib.so

@lyx323
Copy link

lyx323 commented May 12, 2020

maya: Autodesk Maya 2017Licensing ErrorA licensing error

hi, did you fix it now? I got the same problem now!
and I have tried like this "maya /usr/autodesk/maya2017/bin/adlmreg -i N ----- ----- 2017.0.0.F ----- /var/opt/Autodesk/Adlm/Maya2017/MayaConfig.pit" and "/usr/autodesk/maya2017/bin/adlmreg -i N ------ ------ 2017.0.0.F ----- /var/opt/Autodesk/Adlm/Maya2017/MayaConfig.pit"
(https://knowledge.autodesk.com/support/maya/troubleshooting/caas/sfdcarticles/sfdcarticles/Unable-to-launch-Maya-on-Linux-error-error-checkoutLicense-Failed-to-authorize-license.html)
they all not work and got new problem
"libadlmutil.so: cannot open shared object file: No such file or directory"

@henry19952009
Copy link

Captura de pantalla de 2021-01-05 16-21-15
please help me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment