GregorySchwartz / too-many-cells

Cluster single cells and analyze cell clade relationships with colorful visualizations.
https://gregoryschwartz.github.io/too-many-cells/
GNU General Public License v3.0
105 stars 19 forks source link

kent-394 not supported #33

Closed myylee closed 3 years ago

myylee commented 4 years ago

Hi there,

I was trying to install too-many-cells following your instruction using nix. However, I encountered this error, see attached image. I'd greatly appreciate it if could let me know what might be causing this and how I might be able to fix this!

Screen Shot 2020-09-01 at 12 56 47 PM

Best regards, Michelle

GregorySchwartz commented 4 years ago

Ah, you are using macOS. For now you must use the Docker as there are some unsupported packages for macOS.

myylee commented 4 years ago

Ok I see. Thanks for the response!

I have tried using the Docker to run too-many-cells, but it sometimes just exits suddenly, without showing me any error message nor results. I'm running it on a rather large dataset, with around 1 million cells and 36 channels and I have allocated 16GB of RAM for running this process. Do you have any idea what is causing the program to exit?

image

Thanks again!

GregorySchwartz commented 4 years ago

That issue occurs when Docker runs out of memory. Unfortunately, you need to allocate even more memory for Docker to use.

myylee commented 4 years ago

I see, thanks for your help!

myylee commented 4 years ago

I tried to install Nix on an HPC and I had to use Proot to install it since I do not have root access.

After doing that, I did manage to install Nix, however, the installation of too-many-cells still failed. I'm not exactly sure what went wrong during the installation, but I think it is still related to the Kent package. The error messages are attached below. Can you please take a look and see if can give me any suggestion? Thanks!

image

hypercompetent commented 3 years ago

+1 for the error that myylee has, above. I'm using a Debian machine with normal root/sudo permissions.

Any suggestions would be appreciated - will try the Docker image in the meantime.

Thanks! -Lucas

PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Build command:

nix-env -f default.nix -i too-many-cells

Error:

cd addCols && echo addCols && make
addCols
make[1]: Entering directory '/tmp/nix-build-kent-394.drv-0/source/src/utils/addCols'
gcc -O -g -fPIC -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_x86_64   -Wall -Wformat -Wimplicit -Wreturn-type -Wuninitialized -I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I../../htslib -I/include -I/nix/store/k7b1h43fkxkvjcf1rmki014rlss0l2br-libpng-apng-1.6.37-dev/include/libpng16  -o addCols.o -c addCols.c
gcc -O -g -o /tmp/nix-build-kent-394.drv-0/bin/x86_64/addCols addCols.o    ../../lib/x86_64/jkweb.a -L/nix/store/qzmcshfc48f4dlc3v2d7vjbqww2xwy78-mariadb-connector-c-3.1.5/lib/mariadb/ -lmariadb -lstdc++ -lrt -lstdc++ -lrt -lpthread /usr/lib/x86_64-linux-gnu/libssl.a -lcrypto ../../htslib/libhts.a -L/nix/store/wjlgch1mga4jb7i3k0c9xqcl9gdcq9vv-libpng-apng-1.6.37/lib -lpng16 -lm -lz 
impure path `/usr/lib/x86_64-linux-gnu/libssl.a' used in link
collect2: error: ld returned 1 exit status
make[1]: *** [../../inc/userApp.mk:31: /tmp/nix-build-kent-394.drv-0/bin/x86_64/addCols] Error 1
make[1]: Leaving directory '/tmp/nix-build-kent-394.drv-0/source/src/utils/addCols'
make: *** [makefile:209: addCols.all] Error 2
builder for '/nix/store/g536q7zbigirbn44pn770h80yka0k37r-kent-394.drv' failed with exit code 2
cannot build derivation '/nix/store/zcl5nslm9sqwyn47m4kspia0si39if49-too-many-cells-2.0.1.0.drv': 1 dependencies couldn't be built
error: build of '/nix/store/zcl5nslm9sqwyn47m4kspia0si39if49-too-many-cells-2.0.1.0.drv' failed
GregorySchwartz commented 3 years ago

Looks like it's due to an impure path (using a link outside of /nix). What happens if you set NIX_ENFORCE_PURITY=0? Unfortunately I do not run into this issue, so I can't test, but if you put pkgs.openssl in the buildInputs list in the default.nix that may work such that you don't need to disable purity. If that doesn't work, then try the same but use pkgs.openssl.dev instead. Let me know if the latter two work, then I can implement it for others.

GregorySchwartz commented 3 years ago

I just tested on a clean computer with no issues. Is there something special about your environments? What is the value of LD_LIBRARY_PATH?

GregorySchwartz commented 3 years ago

Closing due to inactivity, let me know if the issue persists.