Cryosparc v2.13.2 installation issue -- error about libtiff

I tried to install cryosparc v2.13.2 on my workstation (manjaro linux with SSD and GPU) by following the standalone installation guide. However, the installation finished with an error about libtiff (bolded in the error message below). The end result is that I can log into cryosparc on my browser, but cannot import micrographs because it depends on libtiff library.

My workstation currently has a gcc of 9.2.0. Do I need to install other gcc version for the libtiff to be correctly installed? Any suggestion or advise is welcomed. Thanks!

===========================================================
Installing collected packages: Flask-JSONRPC, Flask-PyMongo, libtiff
  Running setup.py install for Flask-JSONRPC ... done
  Running setup.py install for Flask-PyMongo ... done
  **Running setup.py install for libtiff ... error**
    Complete output from command /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-EJbYn4-build/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-2UuOBE-record/install-record.txt --single-version-externally-managed --compile:
    Warning: Assuming default configuration (libtiff/bitarray-a1646c0/bitarray/{setup_bitarray,setup}.py was not found)Appending libtiff.bitarray configuration to libtiff
    Ignoring attempt to set 'name' (from 'libtiff' to 'libtiff.bitarray')
    Appending libtiff configuration to
    Ignoring attempt to set 'name' (from '' to 'libtiff')
    0.4.2
    running install
    running build
    running config_cc
    unifing config_cc, config, build_clib, build_ext, build commands --compiler options
    running config_fc
    unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
    running build_src
    build_src
    building extension "bittools" sources
    building extension "tif_lzw" sources
    building extension "libtiff.bitarray._bitarray" sources
    building extension "libtiff.bittools" sources
    building extension "libtiff.tif_lzw" sources
    building data_files sources
    build_src: building npy-pkg config files
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    creating build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/version.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_3_9_2.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_data.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_4_0_2.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_4_0_1.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_file.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_3_8_2.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_3_9_4.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_4_0_6.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/lsm.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_channels_and_files.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/lzw.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/utils.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/__init__.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/libtiff_ctypes.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_image.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_sample_plane.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_array.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_4_0_8.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_base.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_4_0_7.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/optparse_gui.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/script_options.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_4_0_9.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_3_9_5.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/setup.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/test_bittools.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_files.py -> build/lib.linux-x86_64-2.7/libtiff
    copying libtiff/tiff_h_4_0_3.py -> build/lib.linux-x86_64-2.7/libtiff
    creating build/lib.linux-x86_64-2.7/libtiff/bitarray
    copying libtiff/bitarray-a1646c0/bitarray/test_bitarray.py -> build/lib.linux-x86_64-2.7/libtiff/bitarray
    copying libtiff/bitarray-a1646c0/bitarray/__init__.py -> build/lib.linux-x86_64-2.7/libtiff/bitarray
    running build_ext
    customize UnixCCompiler
    customize UnixCCompiler using build_ext
    building 'bittools' extension
    compiling C sources
    C compiler: gcc -pthread -B /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat -Wl,--sysroot=/ -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC
    
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/libtiff
    creating build/temp.linux-x86_64-2.7/libtiff/src
    compile options: '-I/home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/lib/python2.7/site-packages/numpy/core/include -I/home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/include/python2.7 -c'
    gcc: libtiff/src/bittools.c
    gcc -pthread -shared -B /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat -L/home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/lib -Wl,-rpath=/home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-2.7/libtiff/src/bittools.o -L/home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/bittools.so
    /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat/ld: build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: unable to initialize decompress status for section .debug_info
    /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat/ld: build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: unable to initialize decompress status for section .debug_info
    /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat/ld: build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: unable to initialize decompress status for section .debug_info
    /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat/ld: build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: unable to initialize decompress status for section .debug_info
    build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: file not recognized: file format not recognized
    collect2: error: ld returned 1 exit status
    /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat/ld: build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: unable to initialize decompress status for section .debug_info
    /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat/ld: build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: unable to initialize decompress status for section .debug_info
    /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat/ld: build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: unable to initialize decompress status for section .debug_info
    /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat/ld: build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: unable to initialize decompress status for section .debug_info
    build/temp.linux-x86_64-2.7/libtiff/src/bittools.o: file not recognized: file format not recognized
    collect2: error: ld returned 1 exit status
    error: Command "gcc -pthread -shared -B /home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/compiler_compat -L/home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/lib -Wl,-rpath=/home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-2.7/libtiff/src/bittools.o -L/home/cryosparc_user/cryosparc/cryosparc2_master/deps/anaconda/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/bittools.so" failed with exit status 1

Hey @sunch,

In order to install cryoSPARC, your system needs to have gcc and common linux build headers. Using apt, you can get all the common tools via build-essential (e.g., sudo apt-get install build-essential). On RHEL, you can use yum install gcc-c++. Please ensure you have all these tools and try installing cryoSPARC again.

I also got that issue with a gentoo, gcc 9.2.0 or gcc 8.3.0 and version 2.14.2 of CS
If I understand well, the problem is that the conda version installed include a patch for compatibility with old compiler (gcc 7 and below) without checking that indeed you have an old compiler in your system
it force the use of an included linker, when at the same time using the gcc from the system
so or you move back to an obsolete version of gcc or you remove (or rename) the included linker
the included linkers are
cryosparc2_master/deps/anaconda/compiler_compat/ld
and
cryosparc2_worker/deps/anaconda/compiler_compat/ld

and the best place to include a stupid fix for getting rid of them would be in the files
cryosparc2_master/deps_bundle_hashes/python/install_python.sh
and
cryosparc2_worker/deps_bundle_hashes/python/install_python.sh
just before the line
pip install deps_bundle/python/python_packages/pip_packages/*.tar.gz --no-binary :all:

Hey @Baxus,

Thanks for this tip!