QuestionsCategory: BIOSTARIssues with installing jellyfish on a MAC computer
tillodc@nih.gov Staff asked 5 months ago

I am trying to install jellyfish on my Mac computer.  Typing “make install” gives me an error like:
/usr/local/lib/libjellyfish-2.0.2.dylib: Permission denied
or
mkdir: /usr/local/lib:  Permission denied

2 Answers
tillodc@nih.gov Staff answered 5 months ago

From the command line, check if you have the following directories in /usr/local/ (i.e. ls -l /usr/local)

/usr/local/bin
/usr/local/include
/usr/local/lib
/usr/local/share

If any of these are missing, create the following directories (you will have to enter your password each time):

sudo mkdir -p /usr/local/bin
sudo mkdir -p /usr/local/lib
sudo mkdir -p /usr/local/include
sudo mkdir -p /usr/local/share

Next, change ownerships of the directories:

sudo chown -R $(whoami) /usr/local/bin
sudo chown -R $(whoami) /usr/local/include
sudo chown -R $(whoami) /usr/local/lib
sudo chown -R $(whoami) /usr/local/share

Again, you may have to enter your password each time.

Then, navigate to your jellyfish directory, then do the following steps to install the program:

./configure
make
make install

alvaradohernab2@nih.gov answered 5 months ago

I have all those directories as you can see:
beatriz@FR-N-S084398 ~/Jellyfish/jellyfish-2.3.0
$ ls -l /usr/local
total 0
drwxr-xr-x 1 beatriz root 512 Jun  4 15:51 bin
drwxr-xr-x 1 root    root 512 Jul 25  2018 etc
drwxr-xr-x 1 root    root 512 Jul 25  2018 games
drwxr-xr-x 1 beatriz root 512 Jun  2 22:43 include
drwxr-xr-x 1 beatriz root 512 Jun  4 15:51 lib
lrwxrwxrwx 1 root    root   9 Jul 25  2018 man -> share/man
drwxr-xr-x 1 root    root 512 Jul 25  2018 sbin
drwxr-xr-x 1 root    root 512 May 14 12:43 share
drwxr-xr-x 1 root    root 512 Jul 25  2018 src
(bioinfo)

But still after make install I get the next
beatriz@FR-N-S084398 ~/Jellyfish/jellyfish-2.3.0
$ make install
make  install-am
make[1]: Entering directory ‘/home/beatriz/Jellyfish/jellyfish-2.3.0’
make[2]: Entering directory ‘/home/beatriz/Jellyfish/jellyfish-2.3.0’
 /bin/mkdir -p ‘/usr/local/lib’
 /bin/bash ./libtool   –mode=install /usr/bin/install -c   libjellyfish-2.0.la ‘/usr/local/lib’
libtool: install: /usr/bin/install -c .libs/libjellyfish-2.0.so.2.0.0 /usr/local/lib/libjellyfish-2.0.so.2.0.0
libtool: install: (cd /usr/local/lib && { ln -s -f libjellyfish-2.0.so.2.0.0 libjellyfish-2.0.so.2 || { rm -f libjellyfish-2.0.so.2 && ln -s libjellyfish-2.0.so.2.0.0 libjellyfish-2.0.so.2; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libjellyfish-2.0.so.2.0.0 libjellyfish-2.0.so || { rm -f libjellyfish-2.0.so && ln -s libjellyfish-2.0.so.2.0.0 libjellyfish-2.0.so; }; })
libtool: install: /usr/bin/install -c .libs/libjellyfish-2.0.lai /usr/local/lib/libjellyfish-2.0.la
libtool: install: /usr/bin/install -c .libs/libjellyfish-2.0.a /usr/local/lib/libjellyfish-2.0.a
libtool: install: chmod 644 /usr/local/lib/libjellyfish-2.0.a
libtool: install: /home/beatriz/miniconda3/envs/bioinfo/bin/x86_64-conda_cos6-linux-gnu-ranlib /usr/local/lib/libjellyfish-2.0.a
libtool: finish: PATH=”/home/beatriz/bin:/home/beatriz/bin:/home/beatriz/bin:/home/beatriz/bin:/home/beatriz/bin:/home/beatriz/bin:/home/beatriz/miniconda3/envs/bioinfo/bin:/home/beatriz/miniconda3/condabin:/home/beatriz/bin:/home/beatriz/bin:/home/beatriz/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.Ubuntu18.04onWindows_2020.1804.7.0_x64__79rhkp1fndgsc:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Windows/System32/OpenSSH:/mnt/c/Program Files (x86)/HID Global/ActivClient:/mnt/c/Program Files/HID Global/ActivClient:/mnt/c/Program Files (x86)/WebEx/Productivity Tools:/mnt/c/Users/alvaradohernab2/AppData/Local/Microsoft/WindowsApps:/snap/bin:/sbin” ldconfig -n /usr/local/lib
———————————————————————-
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the ‘-LLIBDIR’
flag during linking and do at least one of the following:
   – add LIBDIR to the ‘LD_LIBRARY_PATH’ environment variable
     during execution
   – add LIBDIR to the ‘LD_RUN_PATH’ environment variable
     during linking
   – use the ‘-Wl,-rpath -Wl,LIBDIR’ linker flag
   – have your system administrator add LIBDIR to ‘/etc/ld.so.conf’

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
———————————————————————-
 /bin/mkdir -p ‘/usr/local/bin’
  /bin/bash ./libtool   –mode=install /usr/bin/install -c bin/jellyfish ‘/usr/local/bin’
libtool: install: /usr/bin/install -c bin/.libs/jellyfish /usr/local/bin/jellyfish
 /bin/mkdir -p ‘/usr/local/include/jellyfish-2.3.0/jellyfish’
 /usr/bin/install -c -m 644 include/jellyfish/allocators_mmap.hpp include/jellyfish/backtrace.hpp include/jellyfish/atomic_gcc.hpp include/jellyfish/large_hash_array.hpp include/jellyfish/err.hpp include/jellyfish/misc.hpp include/jellyfish/offsets_key_value.hpp include/jellyfish/int128.hpp include/jellyfish/rectangular_binary_matrix.hpp include/jellyfish/mer_dna.hpp include/jellyfish/storage.hpp include/jellyfish/simple_circular_buffer.hpp include/jellyfish/circular_buffer.hpp include/jellyfish/atomic_field.hpp include/jellyfish/compare_and_swap.hpp include/jellyfish/divisor.hpp include/jellyfish/large_hash_iterator.hpp include/jellyfish/jellyfish.hpp include/jellyfish/thread_exec.hpp include/jellyfish/stream_iterator.hpp include/jellyfish/mer_overlap_sequence_parser.hpp include/jellyfish/whole_sequence_parser.hpp include/jellyfish/parser_common.hpp include/jellyfish/sam_format.hpp include/jellyfish/binary_dumper.hpp include/jellyfish/sorted_dumper.hpp include/jellyfish/text_dumper.hpp include/jellyfish/dumper.hpp include/jellyfish/time.hpp include/jellyfish/mer_heap.hpp include/jellyfish/token_ring.hpp include/jellyfish/locks_pthread.hpp include/jellyfish/file_header.hpp include/jellyfish/generic_file_header.hpp include/jellyfish/json.h include/jellyfish/hash_counter.hpp include/jellyfish/mapped_file.hpp include/jellyfish/mer_dna_bloom_counter.hpp include/jellyfish/bloom_common.hpp include/jellyfish/bloom_counter2.hpp ‘/usr/local/include/jellyfish-2.3.0/jellyfish’
 /usr/bin/install -c -m 644 include/jellyfish/bloom_filter.hpp include/jellyfish/cooperative_pool.hpp include/jellyfish/cooperative_pool2.hpp include/jellyfish/stream_manager.hpp include/jellyfish/generator_manager.hpp include/jellyfish/cpp_array.hpp include/jellyfish/mer_iterator.hpp include/jellyfish/atomic_bits_array.hpp include/jellyfish/stdio_filebuf.hpp include/jellyfish/mer_qual_iterator.hpp ‘/usr/local/include/jellyfish-2.3.0/jellyfish’
 /bin/mkdir -p ‘/usr/local/share/man/man1’
 /usr/bin/install -c -m 644 ‘doc/jellyfish.man’ ‘/usr/local/share/man/man1/jellyfish.1’
/usr/bin/install: cannot remove ‘/usr/local/share/man/man1/jellyfish.1’: Permission denied
make[2]: *** [Makefile:2149: install-man1] Error 1
make[2]: Leaving directory ‘/home/beatriz/Jellyfish/jellyfish-2.3.0’
make[1]: *** [Makefile:2650: install-am] Error 2
make[1]: Leaving directory ‘/home/beatriz/Jellyfish/jellyfish-2.3.0’
make: *** [Makefile:2644: install] Error 2
(bioinfo)

 
Thank you!