Open ryao-mdanderson opened 2 years ago
Hi Rong,
Yes, the executable should be ready for use on Linux. We will try to take a look at the source code to see if the compile error is a quick fix.
Thanks
@olivertam Thank you for your quick response. This helps!
I have exactly the same problem as @ryao-mdanderson. I was just wondering what I need to do to resolve this issue; I am trying to run TEpeaks on the HPC. Thanks a lot!!
Hi,
We have not been able to delve into the source code yet, but the executable should be usable on the HPC if they are Linux-based. If not, let us know and we will try to take a look.
Thanks.
I tried to run ./TEpeaks, here is the error: ./TEpeaks: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./TEpeaks). Do you have any insights into why it might be the case? Thanks a lot!
Hi,
Could you tell me what version of gcc
is on your HPC? It looks like the library is available with gcc
versions 4.9 or newer.
If necessary, you might need to find/install a newer version of gcc
(4.9 is already pretty old) in order to run TEpeaks
. Without knowing what your HPC setup is, I might recommend contacting your IT/HPC support to see if they have a newer gcc
for your environment. Alternatively, you can install environment managers like Anaconda
/Miniconda
, which may come with newer versions of gcc
, and run TEpeaks
in that environment.
See the following links for more discussion of this error: Stack Overflow Another github repo encountering this error Unix Stack Exchange Ask Ubuntu
Thanks.
Hi, I have tried gcc/5.3.1, 6.3.1, 7.3.1 and 8.3.1, all with the same error message. I will try Anaconda /Miniconda solution too! Thanks for your suggestion! We are looking forward to the TEpeaks new versions with broad peaks and differential peak analysis with DEseq2. It will be super helpful for people studying TE in development and diseases!
Hi,
One thing to check is that you are calling the latest gcc
libraries, which you might find in your LD_LIBRARY_PATH
variable (e.g. /path/to/latest_gcc/lib/
). It could be that you're calling newer gcc
, but the older (system) libraries are being used instead.
Unfortunately, TEpeaks
development is currently on hold, but we hope that we could restart it in the near future.
Thank you for your interest in the software.
I also have this exact issue - undefined reference to Interval::~Interval()
- and on 2 completely different systems so not convinced this is a GCC issue:
Hi,
Thank you for your interest in the software.
Does the precompiled TEpeaks
binary work? We have gotten it to run on Rocky Linux version 8 with GCC 9.3.0 library, and RHEL Enterprise 7.9 with GCC 10.2.0, though we failed to compile in both system setup.
If you could not get the binary working, it might be worth having a conda environment to see if you can get it to run.
Unfortunately, we don't have anyone on the TEpeaks project, so it will take a while for any updates to be made.
Thanks.
I did not think to look for binary, the README instructions said to compile. The binary works.
Hello authors @olivertam @yingjin07
I followed the READme instruction and tried to compile TEpeaks on Linux systems, I tried gcc version 4.8, 7.1 and 9.3, they all hit the similar errors:
$ make -f Makefile.LINUX ...... /risapps/rhel7/gcc/7.1.0/include/c++/7.1.0/bits/stl_construct.h:98: undefined reference to, std::allocator >, std::vector<std::pair<int, std:: cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<int, std::cxx11::basic_string<char, std::char_traits, std::allocator > > > >, std::less<std:: cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::vector<std::pair<int, std:: cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<int, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > > > >)':
/risapps/rhel7/tepeaks/0.1/src/TEToolkit/Candidate_Peaks.cpp:300: undefined reference to (Interval*)':
/risapps/rhel7/gcc/7.1.0/include/c++/7.1.0/bits/stl_construct.h:98: undefined reference to
Interval::~Interval()' /tmp/ccVw2Eh4.o: In function
Candidate_Peaks::build_tree(std::map<std::cxx11::basic_string<char, std::char_traitsInterval::~Interval()' /tmp/ccVw2Eh4.o: In function
void std::_DestroyInterval::~Interval()' /tmp/ccVw2Eh4.o:/risapps/rhel7/gcc/7.1.0/include/c++/7.1.0/bits/stl_construct.h:98: more undefined references to
Interval::~Interval()' follow collect2: error: ld returned 1 exit status make: *** [src/TEToolkit/Candidate_Peaks.o] Error 1My guess is Inteval() function needs to be implemented?
I see an executable in git clone repository. Is this the compiled execuatable that ready for use on linux? -rwxr-xr-x 1 ris_hpc_apps rists 9973384 Dec 13 15:30 TEpeaks
$ ./TEpeaks -h Error: invalid command -h TEpeaks 0.1
Usage: TEpeaks [arguments] ..
Where can be one of:
Running TEpeaks without arguments prints usage information for
Please advise and thank you for your help. Regards, Rong