Problems when I try to install stacks

853 views
Skip to first unread message

Soporte Modemat

unread,
Oct 1, 2019, 1:35:29 PM10/1/19
to Stacks
Hello Guys.

I need your help. 
When I try to install stacks 2.4.1 (The lates version) on centos 7.3 with gcc 8.2.0 I got this error:

configure:2996: g++ -V >&5
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
g++: error: unrecognized command line option '-qversion'; did you mean '--version'?
g++: fatal error: no input files
/usr/bin/ld: error in /usr/local/bin/gcc(.eh_frame); no .eh_frame_hdr table will be created.
collect2: error: ld returned 1 exit status
configure:3096: error: in `/home/mar/Downloads/stacks-2.41':
configure:3098: error: C++ compiler cannot create executables


I was trying to configure by using this command:


./configure --prefix=/apps/stacks  CXXFLAGS=/usr/local/bin/g++

gcc --version

gcc (GCC) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Thank you in advance for your help.


Nicolas Rochette

unread,
Oct 1, 2019, 1:58:34 PM10/1/19
to Soporte Modemat, stacks...@googlegroups.com

Hi Soporte,

Try using the CC and CXX variables instead of CXXFLAGS.

Best,

Nicolas

--
Stacks website: http://catchenlab.life.illinois.edu/stacks/
---
You received this message because you are subscribed to the Google Groups "Stacks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to stacks-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/stacks-users/9830083e-8ea9-4f14-a0ff-cba57dd65a4d%40googlegroups.com.

Soporte Modemat

unread,
Oct 1, 2019, 3:53:31 PM10/1/19
to Stacks
Hello Nicolas

Thank you for your reply but I tried in this two ways and I got another error, in spite of I have gcc 8.2.0:


./configure --prefix=/apps/stacks CXX=/usr/local/bin/g++
./configure --prefix=/apps/stacks CC=/usr/local/bin/g++


checking for clock_gettime... yes
checking for functional regular expressions... configure: error: Regular expressions are not functional, you need g++ 4.9.0 or greater.


Do you have any other idea?
To unsubscribe from this group and stop receiving emails from it, send an email to stacks...@googlegroups.com.

Catchen, Julian

unread,
Oct 1, 2019, 4:35:39 PM10/1/19
to stacks...@googlegroups.com, Soporte Modemat
CXX is for the C++ compiler and CC is for the C compiler, it doesn't
make sense to specify a C++ compiler for both. However, you should not
need to use any of these special flags. If you centos 7.3, this should
all be set up and not need to do anything besides running "./configure".

Soporte Modemat wrote on 10/1/19 2:53 PM:
>> *gcc --version*

Soporte Modemat

unread,
Oct 1, 2019, 4:40:27 PM10/1/19
to Stacks
Hello Julian.

I did what you said and I still have this error:


checking for functional regular expressions... configure: error: Regular expressions are not functional, you need g++ 4.9.0 or greater.


In spite of the g++ version is: 


[root@quinde stacks-2.41]# gcc --version
gcc (GCC) 8.2.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

What else can I do?

Catchen, Julian

unread,
Oct 2, 2019, 12:59:24 PM10/2/19
to stacks...@googlegroups.com, Soporte Modemat
If you send your config.log file, I can try to see why the configure
script is failing.

julian

Soporte Modemat wrote on 10/1/19 3:40 PM:

Soporte Modemat

unread,
Oct 2, 2019, 1:20:04 PM10/2/19
to Stacks
Hello  Julian.

 I have attached the config.log file.

Thank you in advance for your help.

config.log

Soporte Modemat

unread,
Oct 2, 2019, 1:28:19 PM10/2/19
to Stacks

Hi Julian.

I run the command: "./configure --prefix=/apps/stacks"  and I get the config.log that I have attached right now here.

Thank you in advance for your help.


On Wednesday, October 2, 2019 at 11:59:24 AM UTC-5, Catchen, Julian wrote:
config.log

Catchen, Julian

unread,
Oct 2, 2019, 1:35:04 PM10/2/19
to stacks...@googlegroups.com, Soporte Modemat
Hi,

The log indicates:

./conftest: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found
(required by ./conftest)
./conftest: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
(required by ./conftest)

That typically means you either don't have the full developement
environment installed on centos, or you have not loaded the proper
modules on a cluster environment. I don't think there is anything wrong
with the configure script itself.

julian

Soporte Modemat wrote on 10/2/19 12:28 PM:

Soporte Modemat

unread,
Oct 2, 2019, 5:23:38 PM10/2/19
to Stacks
Hello Julian.

Could you tell me which libraries and packages and their versions are required as the prerrequisites for the installation of stacks 2.41 on Centos 7.3?

I tell you that I installed successfully by using an anaconda environment stacks 2.4 without any inconvenient in the same cluster but the stacks 2.41 package does not exist for anaconda download.

Catchen, Julian

unread,
Oct 3, 2019, 10:34:44 AM10/3/19
to stacks...@googlegroups.com, Soporte Modemat
Stacks 2.41 does not have any prerequisites for installation unless you
count 'working compiler' and perhaps 'operating system'.

The configure script is looking at the loaded libstdc++, the standard
c++ library the compiler needs, and it doesn't find the right contents.
That is, the available c++ library does not match the c++ compiler you
are trying to use.

On a computing cluster you frequently see this when the wrong modules
have been loaded.

For any Linux distribution running on a server, installing the compiler
via the package manager (which will deal with dependencies) will set
this all up correctly.


Soporte Modemat wrote on 10/2/19 4:23 PM:

Soporte Modemat

unread,
Oct 3, 2019, 11:30:26 AM10/3/19
to Stacks
Hello Julian.


Right now I have installed the g++ v9.2

stacks-2.41]$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/9.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 9.2.0 (GCC)

And I run the command:

./configure --prefix=/state/partition2/apps/stacks CXX=/usr/local/bin/g++

./configure --prefix=/state/partition2/apps/stacks CC=/usr/local/bin/g++

And I still have the error: "checking for functional regular expressions... configure: error: Regular expressions are not functional, you need g++ 4.9.0 or greater."

The config.log errors are:

egrep error config.log
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
g++: error: unrecognized command line option '-qversion'; did you mean '--version'?
g++: fatal error: no input files
g++: error: unrecognized command line option '-V'
g++: fatal error: no input files
g++: error: unrecognized command line option '-qversion'; did you mean '--version'?
g++: fatal error: no input files
conftest.c:17:17: error: 'p' was not declared in this scope
conftest.c:17:20: error: 'i' was not declared in this scope
conftest.c:17:21: error: expression list treated as compound expression in initializer [-fpermissive]
conftest.c:20:1: error: expected unqualified-id before '{' token
conftest.c:56:11: error: cannot convert 'char*' to 'char* (*)(char**, int)'
conftest.c:56:42: error: cannot convert 'char*' to 'char* (*)(char**, int)'
|    These don't provoke an error unfortunately, instead are silently treated
|    as 'x'.  The following induces an error, until -std is added to get
g++: error: unrecognized command line option '-qlanglvl=extc89'
|    These don't provoke an error unfortunately, instead are silently treated
|    as 'x'.  The following induces an error, until -std is added to get
g++: error: unrecognized command line option '-qlanglvl=ansi'
|    These don't provoke an error unfortunately, instead are silently treated
|    as 'x'.  The following induces an error, until -std is added to get
g++: error: unrecognized command line option '-std'
|    These don't provoke an error unfortunately, instead are silently treated
|    as 'x'.  The following induces an error, until -std is added to get
<command-line>: error: missing '(' after predicate
conftest.c:17:17: error: 'p' was not declared in this scope
conftest.c:17:20: error: 'i' was not declared in this scope
conftest.c:17:21: error: expression list treated as compound expression in initializer [-fpermissive]
conftest.c:20:1: error: expected unqualified-id before '{' token
conftest.c:56:11: error: cannot convert 'char*' to 'char* (*)(char**, int)'
conftest.c:56:42: error: cannot convert 'char*' to 'char* (*)(char**, int)'
|    These don't provoke an error unfortunately, instead are silently treated
|    as 'x'.  The following induces an error, until -std is added to get
<command-line>: error: missing '(' after predicate
conftest.c:17:17: error: 'p' was not declared in this scope
conftest.c:17:20: error: 'i' was not declared in this scope
conftest.c:17:21: error: expression list treated as compound expression in initializer [-fpermissive]
conftest.c:20:1: error: expected unqualified-id before '{' token
conftest.c:56:11: error: cannot convert 'char*' to 'char* (*)(char**, int)'
conftest.c:56:42: error: cannot convert 'char*' to 'char* (*)(char**, int)'
|    These don't provoke an error unfortunately, instead are silently treated
|    as 'x'.  The following induces an error, until -std is added to get
g++: error: unrecognized command line option '-Xc'; did you mean '-X'?
|    These don't provoke an error unfortunately, instead are silently treated
|    as 'x'.  The following induces an error, until -std is added to get
conftest.c:15:10: fatal error: ac_nonexistent.h: No such file or directory
conftest.c:15:10: fatal error: ac_nonexistent.h: No such file or directory
conftest.c:32:2: error: 'choke' does not name a type
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:39:3: error: 'omp_lock_t' does not name a type
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:114:28: error: variable or field 'omp_init_lock' declared void
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:114:28: error: 'omp_lock_t' was not declared in this scope; did you mean 'omp_lock_hint_t'?
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:114:40: error: expected primary-expression before ')' token
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:115:38: error: variable or field 'omp_init_lock_with_hint' declared void
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:115:38: error: 'omp_lock_t' was not declared in this scope; did you mean 'omp_lock_hint_t'?
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:115:50: error: expected primary-expression before ',' token
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:115:67: error: expected primary-expression before ')' token
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:117:31: error: variable or field 'omp_destroy_lock' declared void
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:117:31: error: 'omp_lock_t' was not declared in this scope; did you mean 'omp_lock_hint_t'?
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:117:43: error: expected primary-expression before ')' token
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:118:27: error: variable or field 'omp_set_lock' declared void
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:118:27: error: 'omp_lock_t' was not declared in this scope; did you mean 'omp_lock_hint_t'?
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:118:39: error: expected primary-expression before ')' token
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:119:29: error: variable or field 'omp_unset_lock' declared void
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:119:29: error: 'omp_lock_t' was not declared in this scope; did you mean 'omp_lock_hint_t'?
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:119:41: error: expected primary-expression before ')' token
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:120:27: error: 'omp_lock_t' was not declared in this scope; did you mean 'omp_lock_hint_t'?
/usr/local/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/omp.h:120:39: error: expected primary-expression before ')' token
conftest.c:33:15: error: expected unqualified-id before string constant
   33 |               "error: bool is not defined"
conftest.c:51:48: error: 's' does not name a type
conftest.c:61:28: error: 's' was not declared in this scope
conftest.c:79:24: error: 's' was not declared in this scope
conftest.c:83:63: error: 'i' was not declared in this scope
|               "error: bool is not defined"
|               "error: false is not defined"
|               "error: false is not 0"
|               "error: true is not defined"
|               "error: true is not 1"
|               "error: __bool_true_false_are_defined is not defined"
conftest.c:66:13: error: '_Bool' was not declared in this scope
conftest.c:66:20: error: expected primary-expression before ')' token
configure:6824: error: Regular expressions are not functional, you need g++ 4.9.0 or greater.

Could you help me please with any concrete command or set of commands to solve this error??

---
config.log

Catchen, Julian

unread,
Oct 3, 2019, 11:45:14 AM10/3/19
to stacks...@googlegroups.com, Soporte Modemat
The error in the config.log file remains the same as before. I already
mentioned that you should not specify a custom compiler path to the
configure script and you definitely should not specify a C++ compiler to
the C custom compiler path (they are not the same thing). Your custom
compiler is at /usr/local/bin, but the libraries it is trying to load
are at /lib64, and this is wrong. Read up on how to install/use a custom
compiler, or find someone locally with experience to help. I do not
recommend installing these things by hand, that is why you have a
package manager.

Soporte Modemat wrote on 10/3/19 10:30 AM:

Lars Viklund

unread,
Oct 3, 2019, 3:18:58 PM10/3/19
to Stacks
Hi!
Much like Julian, there's little one can do off-site to assist in using a toolchain installed on an unknown system. I'll outline some general information that might help you on your journey.

When you set up an alternate compiler in a non-system location (which is where you ought to put them) you need to augment some environment variables to point out the directories that are required to use it and run programs built with it.

You may need to prepend colon-separated paths to:
  • PATH to include the location of the compiler itself and its tools so that they can be run,
  • LD_LIBRARY_PATH for libraries to be found while running,
  • CPATH to point out the include path to the headers,
  • LIBRARY_PATH for libraries to be found while linking.
As an example from the module system on one of my machines, this is the relevant configuration that it has for a compiler module, similar paths ought to exist in your /usr/local tree, where I have /hp/eb/software/Core/GCCcore/8.3.0:

prepend_path("CPATH","/hp/eb/software/Core/GCCcore/8.3.0/include")
prepend_path("LD_LIBRARY_PATH","/hp/eb/software/Core/GCCcore/8.3.0/lib")
prepend_path("LD_LIBRARY_PATH","/hp/eb/software/Core/GCCcore/8.3.0/lib64")
prepend_path("LD_LIBRARY_PATH","/hp/eb/software/Core/GCCcore/8.3.0/lib/gcc/x86_64-pc-linux-gnu/8.3.0")
prepend_path("LIBRARY_PATH","/hp/eb/software/Core/GCCcore/8.3.0/lib")
prepend_path("LIBRARY_PATH","/hp/eb/software/Core/GCCcore/8.3.0/lib64")
prepend_path("PATH","/hp/eb/software/Core/GCCcore/8.3.0/bin")

In your shell, you would set the environment variables with the "export" commands like this, using the paths appropriate to your system:

export LD_LIBRARY_PATH=/hp/eb/software/Core/GCCcore/8.3.0/lib:/hp/eb/software/Core/GCCcore/8.3.0/lib64:$LD_LIBRARY_PATH

Then you would run the configure command, overriding CC and CXX with the C and C++ compilers correspondingly:

./configure --prefix==/state/partition2/stacks CC=/path/to/gcc CXX=/path/to/g++

Then when you've built stacks, prior to running it in a terminal you need to make sure that you've pointed LD_LIBRARY_PATH to the locations that hold the runtime libraries like libstdc++.

Masoumeh Rajabi

unread,
Oct 11, 2019, 11:58:50 AM10/11/19
to stacks...@googlegroups.com
Hi
I am new in stacks and i have problem with denovo pipeline. I have 70 samples but denovo pipeline just work on 22 sample?
I don not know why?
Pleas help me

Reply all
Reply to author
Forward
0 new messages