Closed chriswalls closed 9 years ago
I think that the issue is that libcrispr isn't being found by the compiler. To fix this up you need to update your LD_LIBRARY_PATH
environmental variable. You can update your environment in bash by typing:
export LD_LIBRARY_PATH=/usr/local/ctSkennerton-libcrispr-9efca1a/lib:$LD_LIBRARY_PATH
(note to make this change permanent you will need to add this line to your bashrc)
Then when running configure
add the --with-libcrispr
option like so:
./configure --with-libcrispr=/usr/local/ctSkennerton-libcrispr-9efca1a
and hopefully it will work
Thank you for the reply.
I had tried the --with-libcrispr option but not the environmental variable. I just tried both and I am getting the same result.
IDK if it's helpful, but I had tried installing xercesc compiling binary (after an earlier failed attempt from distribution). That always resulted in cannot find libcrispr at the compile step. Just now when the environmental variable and --with-libcrispr also failed, I also tried adding --with-xercesc=/user/local/include/xercesc. That time I got a cannot find libcrispr error. (Where does it look for xercesc by default?)
Okay, two questions:
what commands did you type in to get libcrispr installed?
what is the contents of the /usr/local/ctSkennerton-libcrispr-9efca1a
directory?
Sorry, the delay in my reply was due to a family emergency. My answers are below.
To install: tar xf ctSkennerton-libcrispr-1.0.1-0-g9efca1a.tar.gz cd ctSkennerton-libcrispr-9efca1a sudo ./autogen.sh sudo ./configure sudo make install
$ ls /usr/local/ctSkennerton-libcrispr-9efca1a aclocal.m4 autom4te.cache config.h config.h.in~ config.status configure.ac libcrispr m4 Makefile.am README.md autogen.sh build config.h.in config.log configure doc libtool Makefile Makefile.in stamp-h1
Alright, libcrispr is not installed where I thought it was. Your sudo make install
command is going to put it in the default location for your system, which will probably be /usr/local/lib
. Can you confirm this by ls
that directory, hopefully you'll see libcrispr.
If you do see it then try out:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure --with-libcrispr=/usr/local/
Thanks. Unfortunately, I'm still getting the Workhorse undefined reference & make errors.
Maybe I should say that I saw these files but no libcrispr directory in /usr/local. (libcrispr.a libcrispr.la libcrispr.so libcrispr.so.1 libcrispr.so.1.0.1
Ah, you mean those files were in /usr/local/lib, right?
If so, then that seems correct to me, and since there were no errors when you installed libcrispr, xercesc should be in the right place as well. Very confusing. Sometimes after a few failed compilations things can get out of whack, try running make clean
and then running make
again. If that doesn't work then please send me the full terminal output and maybe I can gleam something from that
Here’s my output. I really appreciate you taking a look at it! Chris
From: Connor T. Skennerton [mailto:notifications@github.com] Sent: Friday, February 06, 2015 2:41 PM To: ctSkennerton/crass Cc: Walls, Christine (wallsc) Subject: Re: [crass] crass make failure (#71)
Alright, libcrispr is not installed where I thought it was. Your sudo make install command is going to put it in the default location for your system, which will probably be /usr/local/lib. Can you confirm this by ls that directory, hopefully you'll see libcrispr.
If you do see it then try out:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure --with-libcrispr=/usr/local/
— Reply to this email directly or view it on GitHubhttps://github.com/ctSkennerton/crass/issues/71#issuecomment-73299483.
CONFIDENTIALITY NOTICE: The materials in this electronic mail transmission (including all attachments) are private and confidential and are the property of the sender. The information contained in the material is privileged and is intended only for the use of the named addressee(s). If you are not the intended addressee, be advised that any unauthorized disclosure, copying, distribution or the taking of any action in reliance on the contents of this material is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender by replying to the e-mail, and then destroy it immediately. Thank you.
make all-recursive
make[1]: Entering directory /usr/local/bin/crass-0.3.10' Making all in src make[2]: Entering directory
/usr/local/bin/crass-0.3.10/src'
Making all in crass
make[3]: Entering directory /usr/local/bin/crass-0.3.10/src/crass' g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT PatternMatcher.o -MD -MP -MF .deps/PatternMatcher.Tpo -c -o PatternMatcher.o PatternMatcher.cpp mv -f .deps/PatternMatcher.Tpo .deps/PatternMatcher.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT Rainbow.o -MD -MP -MF .deps/Rainbow.Tpo -c -o Rainbow.o Rainbow.cpp mv -f .deps/Rainbow.Tpo .deps/Rainbow.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT crass.o -MD -MP -MF .deps/crass.Tpo -c -o crass.o crass.cpp mv -f .deps/crass.Tpo .deps/crass.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT WuManber.o -MD -MP -MF .deps/WuManber.Tpo -c -o WuManber.o WuManber.cpp mv -f .deps/WuManber.Tpo .deps/WuManber.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT LoggerSimp.o -MD -MP -MF .deps/LoggerSimp.Tpo -c -o LoggerSimp.o LoggerSimp.cpp mv -f .deps/LoggerSimp.Tpo .deps/LoggerSimp.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT SeqUtils.o -MD -MP -MF .deps/SeqUtils.Tpo -c -o SeqUtils.o SeqUtils.cpp mv -f .deps/SeqUtils.Tpo .deps/SeqUtils.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT CrisprNode.o -MD -MP -MF .deps/CrisprNode.Tpo -c -o CrisprNode.o CrisprNode.cpp mv -f .deps/CrisprNode.Tpo .deps/CrisprNode.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT NodeManager.o -MD -MP -MF .deps/NodeManager.Tpo -c -o NodeManager.o NodeManager.cpp mv -f .deps/NodeManager.Tpo .deps/NodeManager.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT libcrispr.o -MD -MP -MF .deps/libcrispr.Tpo -c -o libcrispr.o libcrispr.cpp mv -f .deps/libcrispr.Tpo .deps/libcrispr.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT WorkHorse.o -MD -MP -MF .deps/WorkHorse.Tpo -c -o WorkHorse.o WorkHorse.cpp mv -f .deps/WorkHorse.Tpo .deps/WorkHorse.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT SpacerInstance.o -MD -MP -MF .deps/SpacerInstance.Tpo -c -o SpacerInstance.o SpacerInstance.cpp mv -f .deps/SpacerInstance.Tpo .deps/SpacerInstance.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT ReadHolder.o -MD -MP -MF .deps/ReadHolder.Tpo -c -o ReadHolder.o ReadHolder.cpp mv -f .deps/ReadHolder.Tpo .deps/ReadHolder.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT SmithWaterman.o -MD -MP -MF .deps/SmithWaterman.Tpo -c -o SmithWaterman.o SmithWaterman.cpp mv -f .deps/SmithWaterman.Tpo .deps/SmithWaterman.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT StringCheck.o -MD -MP -MF .deps/StringCheck.Tpo -c -o StringCheck.o StringCheck.cpp mv -f .deps/StringCheck.Tpo .deps/StringCheck.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT kseq.o -MD -MP -MF .deps/kseq.Tpo -c -o kseq.o kseq.cpp mv -f .deps/kseq.Tpo .deps/kseq.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT SearchChecker.o -MD -MP -MF .deps/SearchChecker.Tpo -c -o SearchChecker.o SearchChecker.cpp mv -f .deps/SearchChecker.Tpo .deps/SearchChecker.Po gcc -DHAVE_CONFIG_H -I. -I../.. -g -O2 -MT ksw.o -MD -MP -MF .deps/ksw.Tpo -c -o ksw.o ksw.c mv -f .deps/ksw.Tpo .deps/ksw.Po g++ -DHAVE_CONFIG_H -I. -I../.. -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -MT Aligner.o -MD -MP -MF .deps/Aligner.Tpo -c -o Aligner.o Aligner.cpp mv -f .deps/Aligner.Tpo .deps/Aligner.Po /bin/sh ../../libtool --tag=CXX --mode=link g++ -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -L/usr/local/lib -L/usr/local/lib/lib -L/usr/local/lib -lcrispr -lxerces-c -lz -o crass PatternMatcher.o Rainbow.o crass.o WuManber.o LoggerSimp.o SeqUtils.o CrisprNode.o NodeManager.o libcrispr.o WorkHorse.o SpacerInstance.o ReadHolder.o SmithWaterman.o StringCheck.o kseq.o SearchChecker.o ksw.o Aligner.o libtool: link: g++ -I/usr/local/include -I/usr/local/include/xercesc -I/usr/local/lib/include -I/usr/local/lib/include/libcrispr -pedantic -Wall -g -O2 -o crass PatternMatcher.o Rainbow.o crass.o WuManber.o LoggerSimp.o SeqUtils.o CrisprNode.o NodeManager.o libcrispr.o WorkHorse.o SpacerInstance.o ReadHolder.o SmithWaterman.o StringCheck.o kseq.o SearchChecker.o ksw.o Aligner.o -L/usr/local/lib -L/usr/local/lib/lib /usr/local/lib/libcrispr.so -L/usr/lib /usr/local/lib/libxerces-c.so -lnsl -lpthread -lcurl -lz -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib NodeManager.o: In function
NodeManager::generateAllsourceTags(crispr::xml::writer_, std::set<int, std::lesscrispr::xml::writer::addSource(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, xercesc_3_1::DOMElement*)' NodeManager.o: In function
NodeManager::appendSourcesForSpacer(xercesc_31::DOMElement, std::set<int, std::lesscrispr::xml::writer::addSpacerSource(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, xercesc_3_1::DOMElement*)' NodeManager.o: In function
NodeManager::printAssemblyToDOM(crispr::xml::writer_, xercesc_31::DOMElement, bool)':
/usr/local/bin/crass-0.3.10/src/crass/NodeManager.cpp:1567: undefined reference to crispr::xml::writer::addContig(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, xercesc_3_1::DOMElement*)' /usr/local/bin/crass-0.3.10/src/crass/NodeManager.cpp:1581: undefined reference to
crispr::xml::writer::addSpacerToContig(std::basic_string<char, std::char_traitscrispr::xml::writer::addFlanker(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, xercesc_3_1::DOMElement_)' /usr/local/bin/crass-0.3.10/src/crass/NodeManager.cpp:1611: undefined reference to
crispr::xml::writer::addFlanker(std::basic_string<char, std::char_traitscrispr::xml::writer::addSpacer(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, xercesc_3_1::DOMElement_)' /usr/local/bin/crass-0.3.10/src/crass/NodeManager.cpp:1625: undefined reference to
crispr::xml::writer::addSpacer(std::basic_string<char, std::char_traitscrispr::xml::writer::addSpacer(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, xercesc_3_1::DOMElement_)' /usr/local/bin/crass-0.3.10/src/crass/NodeManager.cpp:1651: undefined reference to
crispr::xml::writer::addFlanker(std::basic_string<char, std::char_traitscrispr::xml::writer::addSpacer(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, xercesc_3_1::DOMElement*)' NodeManager.o: In function
NodeManager::addFlankersToDOM(crispr::xml::writer_, xercesc_31::DOMElement, bool, std::set<int, std::lesscrispr::xml::writer::addFlanker(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, xercesc_3_1::DOMElement*)' NodeManager.o: In function
NodeManager::addSpacersToDOM(crispr::xml::writer_, xercesc_31::DOMElement, bool, std::set<int, std::lesscrispr::xml::writer::addSpacer(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, xercesc_3_1::DOMElement*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' WorkHorse.o: In function
WorkHorse::addDataToDOM(crispr::xml::writer_, xercesc_31::DOMElement, int)':
/usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2012: undefined reference to crispr::xml::writer::addData(xercesc_3_1::DOMElement*)' /usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2014: undefined reference to
crispr::xml::writer::createFlankers(xercesc_31::DOMElement)'
/usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2027: undefined reference to crispr::xml::writer::addDirectRepeat(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, xercesc_3_1::DOMElement_)' WorkHorse.o: In function
WorkHorse::addMetadataToDOM(crispr::xml::writer, xercesc_3_1::DOMElement, int)':
/usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2064: undefined reference tocrispr::xml::writer::addMetaData(xercesc_3_1::DOMElement_)' /usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2065: undefined reference to
crispr::xml::writer::addProgram(xercesc_31::DOMElement)'
/usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2066: undefined reference to crispr::xml::writer::addProgName(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, xercesc_3_1::DOMElement*)' /usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2067: undefined reference to
crispr::xml::writer::addProgVersion(std::basic_string<char, std::char_traitscrispr::xml::writer::addProgCommand(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, xercesc_3_1::DOMElement_)' /usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2069: undefined reference to
crispr::xml::writer::addNotesToMetadata(std::basic_string<char, std::char_traitscrispr::xml::writer::addFileToMetadata(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, xercesc_3_1::DOMElement_)' /usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:2185: undefined reference to
crispr::xml::writer::addFileToMetadata(std::basic_string<char, std::char_traitsWorkHorse::outputResults(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)': /usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:1974: undefined reference to
crispr::xml::writer::addGroup(std::basic_string<char, std::char_traits/usr/local/bin/crass-0.3.10/src/crass' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory
/usr/local/bin/crass-0.3.10/src'
make[1]: * [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/bin/crass-0.3.10'
make: * [all] Error 2
I don't know what's going on but I'm going to modify the code such that there is no need for a separate libcrispr installation. That way everything will just be easier to install cause the only dependency will be xerces. It will take me a day or so and then I'll make a new version and, fingers-crossed it will work.
That sounds wonderful!
Sent from my Verizon Wireless 4G LTE smartphone
-------- Original message -------- From: "Connor T. Skennerton" notifications@github.com Date:02/06/2015 5:10 PM (GMT-05:00) To: ctSkennerton/crass crass@noreply.github.com Cc: "Walls, Christine (wallsc)" wallsc@juniata.edu Subject: Re: [crass] crass make failure (#71)
I don't know what's going on but I'm going to modify the code such that there is no need for a separate libcrispr installation. That way everything will just be easier to install cause the only dependency will be xerces. It will take me a day or so and then I'll make a new version and, fingers-crossed it will work.
� Reply to this email directly or view it on GitHubhttps://github.com/ctSkennerton/crass/issues/71#issuecomment-73322036.
CONFIDENTIALITY NOTICE: The materials in this electronic mail transmission (including all attachments) are private and confidential and are the property of the sender. The information contained in the material is privileged and is intended only for the use of the named addressee(s). If you are not the intended addressee, be advised that any unauthorized disclosure, copying, distribution or the taking of any action in reliance on the contents of this material is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender by replying to the e-mail, and then destroy it immediately. Thank you.
I've just put up a new version of crass onto github, v0.3.11, which has an easier installation process. With just Xerces on your system it should now compile.
actually don't use v0.3.11, use v0.3.12 instead
Thank you! I'm out of town but will try it out as soon as I get back on Monday. Chris
Sent from my Verizon Wireless 4G LTE smartphone
-------- Original message -------- From: "Connor T. Skennerton" notifications@github.com Date:02/10/2015 7:17 PM (GMT-05:00) To: ctSkennerton/crass crass@noreply.github.com Cc: "Walls, Christine (wallsc)" wallsc@juniata.edu Subject: Re: [crass] crass make failure (#71)
actually don't use v0.3.11, use v0.3.12 instead
� Reply to this email directly or view it on GitHubhttps://github.com/ctSkennerton/crass/issues/71#issuecomment-73812831.
CONFIDENTIALITY NOTICE: The materials in this electronic mail transmission (including all attachments) are private and confidential and are the property of the sender. The information contained in the material is privileged and is intended only for the use of the named addressee(s). If you are not the intended addressee, be advised that any unauthorized disclosure, copying, distribution or the taking of any action in reliance on the contents of this material is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender by replying to the e-mail, and then destroy it immediately. Thank you.
Just installed the new version. No problems! Thanks sooo much!!!
I'm attempting to install crass-0.3.10 on our Centos cluster. I believe I have all the the necessary programs (and correct versions) installed including xercesc (from my distribution) and libcrispr (/usr/local/ctSkennerton-libcrispr-9efca1a). They are installed in the expected locations and are found when I run ./configure. When I run the make (or make install), I get a lot of undefined references. I'll just put one here and then the make error statements:
/usr/local/bin/crass-0.3.10/src/crass/WorkHorse.cpp:1988: undefined reference to
crispr::xml::writer::addAssembly(xercesc_3_1::DOMElement*)' collect2: ld returned 1 exit status make[3]: *** [crass] Error 1 make[3]: Leaving directory
/usr/local/bin/crass-0.3.10/src/crass' make[2]: * [all-recursive] Error 1 make[2]: Leaving directory `/usr/local/bin/crass-0.3.10/src' make[1]: * [all-recursive] Error 1 make[1]: Leaving directory`/usr/local/bin/crass-0.3.10' make: *\ [all] Error 2I've poured over other people's issues but have found no solution. Can you give me any guidance?