Error: make: *** No targets. Stop.

951 views
Skip to first unread message

Juergen Tomasch

unread,
Nov 29, 2020, 2:21:11 PM11/29/20
to HiC-Pro
Hi Nicholas

I installed HiC-Pro succesfully.

However, when I start HiC-Pro with

/usr/local/bin/HiC-Pro_2.11.4/bin/HiC-Pro -i /data2/hic/20201110/input -o /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo.txt

I get this strange error:

make: *** No targets.  Stop.

I tried to track down where the error occurs by introducing errors in the command input and see if i get a different error message. 

When I provide a wrong configuration file I get the error:
Error - Hi-C config file '/data2/hic/config-hicpro_proximo2.txt' not found
produced in hic.inc.sh in line 69

When I provide input files in the wrong format or a wrong input folder, I again get the make no targets error. So my best guess is that the error is produced by the make command within the read_config()-function in hic.inc.sh line 39 but I have no idea what exactly went wrong.

Any help is much appreciated.

Thanks, Jürgen

config-system.txt
config-hicpro_proximo.txt

nservant

unread,
Dec 1, 2020, 4:13:16 AM12/1/20
to HiC-Pro
Hi,
That's weird ! I do not understand why the error mentioned 'config-hicpro-poximo2.txt', while you provide 'config-hicpro-proximo.txt'
Any idea ?
Otherwise, could you show me the content of the input folder please ?
Best

Juergen Tomasch

unread,
Dec 1, 2020, 5:34:28 AM12/1/20
to HiC-Pro
Thanks for the quick response.

Sorry, I think I was imprecise here:

When running:
/usr/local/bin/HiC-Pro_2.11.4/bin/HiC-Pro -i /data2/hic/20201110/input -o /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo.txt
the error is: 
make: *** No targets.  Stop. 

In order to find out where in the skript the error occurs I systematically introduced errors in the command
When running: 
/usr/local/bin/HiC-Pro_2.11.4/bin/HiC-Pro -i /data2/hic/20201110/input -o /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo2.txt
I get:
Error - Hi-C config file '/data2/hic/config-hicpro_proximo2.txt' not found
because this file does not exist

However when running 
/usr/local/bin/HiC-Pro_2.11.4/bin/HiC-Pro -i /data2/hic/20201110/input2 -o /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo2.txt 
I get:
make: *** No targets.  Stop.  
If the script would have continued to the line in which it checks the input files, I would have expected the error 
Inputs '$INPUT' not found. Exit. 
because this folder with the input data does not exist
 
The input folder contains one subfolder with the data:
drwxrwxrwx 2 jto07 moba 4096 Nov 29 17:43 sample1/
The content of sample1/
drwxrwxrwx 2 jto07 moba      4096 Nov 29 17:43 ./
drwxr-xr-x 3 jto07 moba      4096 Nov 29 17:43 ../
-rwxrwxrwx 1 jto07 moba 230584350 Nov 29 13:21 HiC_PA14_C3_S95_c1.fastq.gz*
-rwxrwxrwx 1 jto07 moba 240436190 Nov 29 13:21 HiC_PA14_C3_S95_c2.fastq.gz*

nservant

unread,
Dec 2, 2020, 4:00:58 PM12/2/20
to HiC-Pro
I do not see anything wrong in your  message or conf :(
To me, it seems that the `make` command does not find the Makefile ...
Did you have any trouble during the installation ? do you the script /usr/local/bin/HiC-Pro_2.11.4/script/Makefile ?

Would be great if you could add some trace for instance at the end of the bin/HiC-Pro script, there is the make command ... could you print it to check how it looks like ?

Juergen Tomasch

unread,
Dec 3, 2020, 9:31:46 AM12/3/20
to HiC-Pro
  The installation messages indicate no error but there are warnings:

(python2.7) root@hzi-bsmoba:/home/jto07/HiC-Pro# make configure
make -f ./scripts/install/Makefile CONFIG_SYS=./config-install.txt
make[1]: Entering directory '/home/jto07/HiC-Pro'
./scripts/install/install_dependencies.sh -c ./config-install.txt -o  /usr/local/bin/HiC-Pro_2.11.4 -q
Make sure internet connection works for your shell prompt under current user's privilege ...
Starting HiC-Pro installation ...
Checking dependencies ...
Checking Python libraries ...
The required Python libraries appear to be already installed.
Checking R installation ...
The required R packages appear to be already installed.
Bowtie2 Aligner appears to be already installed.
Samtools appears to be already installed.
Dependencies checked !
Check HiC-Pro configuration ...
Warning : Scheduler system not defined - Default is Torque/PBS
Configuration for TORQUE/PBS system.

make[1]: Leaving directory '/home/jto07/HiC-Pro'
(python2.7) root@hzi-bsmoba:/home/jto07/HiC-Pro# make install
(g++ -Wall -O2 -std=c++0x -o build_matrix /home/jto07/HiC-Pro/scripts/src/build_matrix.cpp; mv build_matrix /home/jto07/HiC-Pro/scripts)
(g++ -Wall -O2 -std=c++0x -o cutsite_trimming /home/jto07/HiC-Pro/scripts/src/cutsite_trimming.cpp; mv cutsite_trimming /home/jto07/HiC-Pro/scripts)
Installing the iced package as root
(cd /home/jto07/HiC-Pro/scripts/src/ice_mod/; /usr/bin/miniconda3/envs/python2.7/bin/python setup.py install;)
/usr/bin/miniconda3/envs/python2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'include_package_data'
  warnings.warn(msg)
/usr/bin/miniconda3/envs/python2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'zip_safe'
  warnings.warn(msg)
Warning: Assuming default configuration (iced/utils/{setup_utils,setup}.py was not found)Appending iced.utils configuration to iced
Ignoring attempt to set 'name' (from 'iced' to 'iced.utils')
Appending iced.datasets configuration to iced
Ignoring attempt to set 'name' (from 'iced' to 'iced.datasets')
non-existing path in 'iced/io': '../src/cblas'
non-existing path in 'iced/io': '../src/cblas'
Appending iced.io configuration to iced
Ignoring attempt to set 'name' (from 'iced' to 'iced.io')
non-existing path in 'iced': '../src/cblas'
non-existing path in 'iced': '../src/cblas'
Appending iced configuration to
Ignoring attempt to set 'name' (from '' to 'iced')
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 "iced.io.fastio_" sources
building extension "iced.io.read" sources
building extension "iced._normalization_" sources
building extension "iced._filter_" sources
building data_files sources
build_src: building npy-pkg config files
running build_py
running build_ext
customize UnixCCompiler
customize UnixCCompiler using build_ext
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/bin/miniconda3/envs/python2.7/bin/ice to 755
running install_data
running install_egg_info
Removing /usr/bin/miniconda3/envs/python2.7/lib/python2.7/site-packages/iced-0.4.2-py2.7.egg-info
Writing /usr/bin/miniconda3/envs/python2.7/lib/python2.7/site-packages/iced-0.4.2-py2.7.egg-info
running install_clib
customize UnixCCompiler
cp -Ri /home/jto07/HiC-Pro /usr/local/bin/HiC-Pro_2.11.4
HiC-Pro installed in /usr/local/bin/HiC-Pro_2.11.4 !

The Makefile is there.

The trace looks like this:
(python2.7) root@hzi-bsmoba:/home/jto07/HiC-Pro# bash -x /usr/local/bin/HiC-Pro_2.11.4/bin/HiC-Pro -i /data2/hic/20201110/input -o /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo.txt
+ SOFT=HiC-Pro
+ VERSION=2.11.4
++ dirname /usr/local/bin/HiC-Pro_2.11.4/bin/HiC-Pro
+ BIN_PATH=/usr/local/bin/HiC-Pro_2.11.4/bin
++ cd /usr/local/bin/HiC-Pro_2.11.4/bin
++ pwd
+ ABS_BIN_PATH=/usr/local/bin/HiC-Pro_2.11.4/bin
+ SCRIPTS_PATH=/usr/local/bin/HiC-Pro_2.11.4/bin/../scripts/
+ INSTALL_PATH=/usr/local/bin/HiC-Pro_2.11.4/bin/../
+ CUR_PATH=/home/jto07/HiC-Pro
+ CLUSTER=0
+ MAKE_OPTS=
+ INPUT=
+ OUTPUT=
+ CONF=
+ '[' 6 -lt 1 ']'
+ for arg in "$@"
+ shift
+ case "$arg" in
+ set -- /data2/hic/20201110/input -o /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo.txt -i
+ for arg in "$@"
+ shift
+ case "$arg" in
+ set -- -o /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo.txt -i /data2/hic/20201110/input
+ for arg in "$@"
+ shift
+ case "$arg" in
+ set -- /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo.txt -i /data2/hic/20201110/input -o
+ for arg in "$@"
+ shift
+ case "$arg" in
+ set -- -c /data2/hic/config-hicpro_proximo.txt -i /data2/hic/20201110/input -o /data2/hic/20201110/output
+ for arg in "$@"
+ shift
+ case "$arg" in
+ set -- /data2/hic/config-hicpro_proximo.txt -i /data2/hic/20201110/input -o /data2/hic/20201110/output -c
+ for arg in "$@"
+ shift
+ case "$arg" in
+ set -- -i /data2/hic/20201110/input -o /data2/hic/20201110/output -c /data2/hic/config-hicpro_proximo.txt
+ getopts :i:o:c:s:pvh OPT
+ case $OPT in
+ INPUT=/data2/hic/20201110/input
+ getopts :i:o:c:s:pvh OPT
+ case $OPT in
+ OUTPUT=/data2/hic/20201110/output
+ getopts :i:o:c:s:pvh OPT
+ case $OPT in
+ CONF=/data2/hic/config-hicpro_proximo.txt
+ getopts :i:o:c:s:pvh OPT
+ [[ ! -e /usr/local/bin/HiC-Pro_2.11.4/bin/..//config-system.txt ]]
+ [[ -z /data2/hic/20201110/input ]]
+ [[ -z /data2/hic/20201110/output ]]
+ [[ -z /data2/hic/config-hicpro_proximo.txt ]]
+ [[ '' == '' ]]
+ which ice
+ '[' 0 '!=' 0 ']'
+ . /usr/local/bin/HiC-Pro_2.11.4/bin/../scripts//hic.inc.sh
++ set -o pipefail
++ set -o errexit
+++ dirname /usr/local/bin/HiC-Pro_2.11.4/bin/HiC-Pro
++ CURRENT_PATH=/usr/local/bin/HiC-Pro_2.11.4/bin
++ tmpfile1=/tmp/hic1.3315346
++ tmpfile2=/tmp/hic2.3315346
++ tmpmkfile=/tmp/hicmk.3315346
++ trap 'rm -f /tmp/hic1.3315346 /tmp/hic2.3315346 /tmp/hicmk.3315346' 0 1 2 3
++ SYS_CONF=/usr/local/bin/HiC-Pro_2.11.4/bin/../config-system.txt
++ '[' -e /usr/local/bin/HiC-Pro_2.11.4/bin/../config-system.txt ']'
++ read_config /usr/local/bin/HiC-Pro_2.11.4/bin/../config-system.txt
++ local conf=/usr/local/bin/HiC-Pro_2.11.4/bin/../config-system.txt
++ cat /usr/local/bin/HiC-Pro_2.11.4/bin/../config-system.txt
++ echo _dummy_target_:
++ make -f /tmp/hicmk.3315346 -p -n
++ filter_config
++ sed -e 's/#.*//'
++ egrep '^[ \t]*[a-zA-Z_][a-zA-Z0-9_]*[ \t]*:?='
++ sed -e 's/[ \t]*:=[ \t]*/ :=/' -e 's/[ \t][^:]*=[ \t]*/ =/' -e 's/\([^ \t]*\)=/\1 =/' -e 's/ *$//g'
++ sort -u -k 1b,1
++ cat /usr/local/bin/HiC-Pro_2.11.4/bin/../config-system.txt
++ filter_config
++ sed -e 's/#.*//'
++ egrep '^[ \t]*[a-zA-Z_][a-zA-Z0-9_]*[ \t]*:?='
++ sed -e 's/[ \t]*:=[ \t]*/ :=/' -e 's/[ \t][^:]*=[ \t]*/ =/' -e 's/\([^ \t]*\)=/\1 =/' -e 's/ *$//g'
++ sort -u -k 1b,1
+++ join /tmp/hic1.3315346 /tmp/hic2.3315346
+++ awk '-F =' '{printf("%s=\"%s\"; export %s;\n", $1, $2, $1)}'
++ eval 'ANNOT_DIR="/usr/local/bin/HiC-Pro_2.11.4/annotation"; export ANNOT_DIR;
BOWTIE2_PATH="/usr/bin/miniconda3/envs/python2.7/bin"; export BOWTIE2_PATH;
CLUSTER_SCRIPT="/usr/local/bin/HiC-Pro_2.11.4/scripts/make_torque_script.sh"; export CLUSTER_SCRIPT;
INSTALL_PATH="/usr/local/bin/HiC-Pro_2.11.4"; export INSTALL_PATH;
PYTHON_PATH="/usr/bin/miniconda3/envs/python2.7/bin"; export PYTHON_PATH;
R_PATH="/usr/bin"; export R_PATH;
SAMTOOLS_PATH="/usr/bin/miniconda3/bin"; export SAMTOOLS_PATH;
SCRIPTS="/usr/local/bin/HiC-Pro_2.11.4/scripts"; export SCRIPTS;
SOURCES="/usr/local/bin/HiC-Pro_2.11.4/scripts/src"; export SOURCES;'
+++ ANNOT_DIR=/usr/local/bin/HiC-Pro_2.11.4/annotation
+++ export ANNOT_DIR
+++ BOWTIE2_PATH=/usr/bin/miniconda3/envs/python2.7/bin
+++ export BOWTIE2_PATH
+++ CLUSTER_SCRIPT=/usr/local/bin/HiC-Pro_2.11.4/scripts/make_torque_script.sh
+++ export CLUSTER_SCRIPT
+++ INSTALL_PATH=/usr/local/bin/HiC-Pro_2.11.4
+++ export INSTALL_PATH
+++ PYTHON_PATH=/usr/bin/miniconda3/envs/python2.7/bin
+++ export PYTHON_PATH
+++ R_PATH=/usr/bin
+++ export R_PATH
+++ SAMTOOLS_PATH=/usr/bin/miniconda3/bin
+++ export SAMTOOLS_PATH
+++ SCRIPTS=/usr/local/bin/HiC-Pro_2.11.4/scripts
+++ export SCRIPTS
+++ SOURCES=/usr/local/bin/HiC-Pro_2.11.4/scripts/src
+++ export SOURCES
++ BOWTIE2_IDX=/
++ export BOWTIE2_IDX
++ BOWTIE2_GLOBAL_OUTPUT_DIR=/bwt2_global
++ export BOWTIE2_GLOBAL_OUTPUT_DIR
++ BOWTIE2_LOCAL_OUTPUT_DIR=/bwt2_local
++ export BOWTIE2_LOCAL_OUTPUT_DIR
++ BOWTIE2_FINAL_OUTPUT_DIR=/bwt2
++ export BOWTIE2_FINAL_OUTPUT_DIR
+++ echo
+++ sed -e 's|^\./||'
++ RAW_DIR=
++ '[' '!' -z /data2/hic/config-hicpro_proximo.txt ']'
+++ abspath /data2/hic/config-hicpro_proximo.txt
+++ [[ /data2/hic/config-hicpro_proximo.txt = /* ]]
+++ echo /data2/hic/config-hicpro_proximo.txt
++ CONF=/data2/hic/config-hicpro_proximo.txt
++ '[' -e /data2/hic/config-hicpro_proximo.txt ']'
++ read_config /data2/hic/config-hicpro_proximo.txt
++ local conf=/data2/hic/config-hicpro_proximo.txt
++ cat /data2/hic/config-hicpro_proximo.txt
++ echo _dummy_target_:
++ make -f /tmp/hicmk.3315346 -p -n
++ filter_config
++ sed -e 's/#.*//'
++ egrep '^[ \t]*[a-zA-Z_][a-zA-Z0-9_]*[ \t]*:?='
++ sed -e 's/[ \t]*:=[ \t]*/ :=/' -e 's/[ \t][^:]*=[ \t]*/ =/' -e 's/\([^ \t]*\)=/\1 =/' -e 's/ *$//g'
++ sort -u -k 1b,1
make: *** No targets.  Stop.
+ rm -f /tmp/hic1.3315346 /tmp/hic2.3315346 /tmp/hicmk.3315346

Thanks!

nservant

unread,
Dec 4, 2020, 3:30:19 AM12/4/20
to HiC-Pro
Thanks for the details.
I'm almost sure that it crashes when it try to read the config file ... but I do not see anything special there !
To make it short, when HiC-pro read a config file, it makes a copy in /tmp/ and run ;

```
filter_config()                                                                                                                                                                                              
{                                                                                                                                                                                                            
    sed -e 's/#.*//' | egrep '^[ \t]*[a-zA-Z_][a-zA-Z0-9_]*[ \t]*:?=' | sed -e 's/[ \t]*:=[ \t]*/ :=/' -e 's/[ \t][^:]*=[ \t]*/ =/' -e 's/\([^ \t]*\)=/\1 =/' -e 's/ *$//g' | sort -u -k 1b,1                
}

 cat $conf > /tmp/hicpro00000                                                                                                                                                                                   
 echo "_dummy_target_:" >> /tmp/hicpro00000                                                                                                                                                                     
 make -f /tmp/hicpro00000 -p -n | filter_config                                                                                                                                                     
```

If you remove the line
```
 echo "_dummy_target_:" >> /tmp/hicpro00000                                                                                                                                                                     
```
Then, you have your error. Because there is no "Make target" in the config file.

On your logs, we see that it crashes at the 'make' command, a bit as if the "dummy_target" was not written in the /tmp/ file.
```
++ cat /data2/hic/config-hicpro_proximo.txt
++ echo _dummy_target_:
++ make -f /tmp/hicmk.3315346 -p -n
++ filter_config
```

And honestly, I do not know why. That's the first time I see this.
Maybe you could comment the line 21 in scripts/hic.inc.sh to not delete the tmp file.
```
trap "rm -f $tmpfile1 $tmpfile2 $tmpmkfile" 0 1 2 3                                                                                                                                                          
```
And check what it looks like ? and especially if you do see this `_dummy_tagert_` line ?
Otherwise, I'm wondering if it cannot be link to a make version ...
Which system are you using ? make version ?
Best
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
0 new messages