Code Monkey home page Code Monkey logo

Comments (4)

hexhead avatar hexhead commented on August 16, 2024

Interesting. Looks like a problem with the Boost program options. I will
attempt to duplicate this on our Ubuntu 14.04 system.

On Fri, Feb 26, 2016 at 2:56 PM, rwhetten [email protected] wrote:

I compiled Reliefseq last summer and had it running on a Ubuntu 12.04
system, then did not use it for a while. In the meantime, the system was
upgraded to Ubuntu 14.04. When I tried Reliefseq again, it complained
"error while loading shared libraries: libboost_program_options.so.1.46.1"
The upgraded system has Boost 1.47, but I thought perhaps not all Boost
libraries had been upgraded, so I ran apt-get install libboost-all-dev to
make sure all libraries were updated (several packages were installed, so
that seemed to have been worthwhile). After that I removed the
previously-compiled version of Reliefseq, cloned the Github repo, and set
BOOST_ROOT to /usr/local/include/boost, then ran bootstrap.sh and
configure, both of which seemed to complete without problems. When I run
make, however, things go wrong after a while. What seems to me to be the
last command executed is pasted below, followed by a series of error
messages about boost_program_options. The output from ./configure indicated
that the BOOST_PROGRAM_OPTIONS variables were set without issues, so I'm
not sure how to proceed.

"/bin/bash ./libtool --tag=CXX --mode=link g++ -I.
-I/usr/local/include/boost/include -fopenmp -O3 -Wall -I/usr/local/include
-g -O2 -fopenmp -L/usr/local/lib
-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgomp -o reliefseq
ReliefSeqCLI.o Insilico.o DistanceMetrics.o Statistics.o Dataset.o
ArffDataset.o PlinkDataset.o PlinkBinaryDataset.o PlinkRawDataset.o
DgeData.o BirdseedData.o DatasetInstance.o AttributeRanker.o ChiSquared.o
ReliefF.o RReliefF.o SNReliefF.o ReliefFSeq.o ReliefSeqController.o
-L/usr/local/lib -L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgomp -lgsl
-lgslcblas -lboost_program_options -L. -lgomp
libtool: link: g++ -I. -I/usr/local/include/boost/include -fopenmp -O3
-Wall -I/usr/local/include -g -O2 -fopenmp -o reliefseq ReliefSeqCLI.o
Insilico.o DistanceMetrics.o Statistics.o Dataset.o ArffDataset.o
PlinkDataset.o PlinkBinaryDataset.o PlinkRawDataset.o DgeData.o
BirdseedData.o DatasetInstance.o AttributeRanker.o ChiSquared.o ReliefF.o
RReliefF.o SNReliefF.o ReliefFSeq.o ReliefSeqController.o -L/usr/local/lib
-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgsl -lgslcblas
-lboost_program_options -L. -lgomp -fopenmp
ReliefSeqCLI.o: In function std::basic_string<char,
std::char_traits, std::allocator > const&
boost::program_options::validators::get_single_string(std::vector<std::basic_string<char,
std::char_traits, std::allocator >,
std::allocator<std::basic_string<char, std::char_traits,
std::allocator > > > const&, bool)':
/usr/local/include/boost/include/boost/program_options/detail/value_semantic.hpp:58:
undefined reference toboost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::string const&, std::string const&)'
/usr/local/include/boost/include/boost/program_options/detail/value_semantic.hpp:62:
undefined reference to boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::string const&, std::string const&)'
ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'
ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x20):
undefined reference to boost::program_options::validation_error::what()
const'
ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'
ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x20):
undefined reference to boost::program_options::validation_error::what()
const'
ReliefSeqCLI.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'
collect2: error: ld returned 1 exit status
make[1]: *** [reliefseq] Error 1
make[1]: Leaving directory `/home/ross/software/reliefseq'
make: *** [all] Error 2"


Reply to this email directly or view it on GitHub
#2.

Bill C. White, MS
Research Associate Programmer
University of Tulsa
Tandy School of Computer Science
http://insilico.utulsa.edu/

from reliefseq.

hexhead avatar hexhead commented on August 16, 2024

Have you tried 'make clean && make'? I don't have any problems, but make
clean removes all object .o files that might be lingering and causing
problems.

On Fri, Mar 11, 2016 at 8:22 AM, Bill White [email protected] wrote:

Interesting. Looks like a problem with the Boost program options. I will
attempt to duplicate this on our Ubuntu 14.04 system.

On Fri, Feb 26, 2016 at 2:56 PM, rwhetten [email protected]
wrote:

I compiled Reliefseq last summer and had it running on a Ubuntu 12.04
system, then did not use it for a while. In the meantime, the system was
upgraded to Ubuntu 14.04. When I tried Reliefseq again, it complained
"error while loading shared libraries: libboost_program_options.so.1.46.1"
The upgraded system has Boost 1.47, but I thought perhaps not all Boost
libraries had been upgraded, so I ran apt-get install libboost-all-dev to
make sure all libraries were updated (several packages were installed, so
that seemed to have been worthwhile). After that I removed the
previously-compiled version of Reliefseq, cloned the Github repo, and set
BOOST_ROOT to /usr/local/include/boost, then ran bootstrap.sh and
configure, both of which seemed to complete without problems. When I run
make, however, things go wrong after a while. What seems to me to be the
last command executed is pasted below, followed by a series of error
messages about boost_program_options. The output from ./configure indicated
that the BOOST_PROGRAM_OPTIONS variables were set without issues, so I'm
not sure how to proceed.

"/bin/bash ./libtool --tag=CXX --mode=link g++ -I.
-I/usr/local/include/boost/include -fopenmp -O3 -Wall -I/usr/local/include
-g -O2 -fopenmp -L/usr/local/lib
-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgomp -o reliefseq
ReliefSeqCLI.o Insilico.o DistanceMetrics.o Statistics.o Dataset.o
ArffDataset.o PlinkDataset.o PlinkBinaryDataset.o PlinkRawDataset.o
DgeData.o BirdseedData.o DatasetInstance.o AttributeRanker.o ChiSquared.o
ReliefF.o RReliefF.o SNReliefF.o ReliefFSeq.o ReliefSeqController.o
-L/usr/local/lib -L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgomp -lgsl
-lgslcblas -lboost_program_options -L. -lgomp
libtool: link: g++ -I. -I/usr/local/include/boost/include -fopenmp -O3
-Wall -I/usr/local/include -g -O2 -fopenmp -o reliefseq ReliefSeqCLI.o
Insilico.o DistanceMetrics.o Statistics.o Dataset.o ArffDataset.o
PlinkDataset.o PlinkBinaryDataset.o PlinkRawDataset.o DgeData.o
BirdseedData.o DatasetInstance.o AttributeRanker.o ChiSquared.o ReliefF.o
RReliefF.o SNReliefF.o ReliefFSeq.o ReliefSeqController.o -L/usr/local/lib
-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgsl -lgslcblas
-lboost_program_options -L. -lgomp -fopenmp
ReliefSeqCLI.o: In function std::basic_string<char,
std::char_traits, std::allocator > const&
boost::program_options::validators::get_single_string(std::vector<std::basic_string<char,
std::char_traits, std::allocator >,
std::allocator<std::basic_string<char, std::char_traits,
std::allocator > > > const&, bool)':
/usr/local/include/boost/include/boost/program_options/detail/value_semantic.hpp:58:
undefined reference toboost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::string const&, std::string const&)'
/usr/local/include/boost/include/boost/program_options/detail/value_semantic.hpp:62:
undefined reference to boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::string const&, std::string const&)'
ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'
ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x20):
undefined reference to boost::program_options::validation_error::what()
const'
ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'
ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x20):
undefined reference to boost::program_options::validation_error::what()
const'
ReliefSeqCLI.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'
collect2: error: ld returned 1 exit status
make[1]: *** [reliefseq] Error 1
make[1]: Leaving directory `/home/ross/software/reliefseq'
make: *** [all] Error 2"


Reply to this email directly or view it on GitHub
#2.

Bill C. White, MS
Research Associate Programmer
University of Tulsa
Tandy School of Computer Science
http://insilico.utulsa.edu/

Bill C. White, MS
Research Associate Programmer
University of Tulsa
Tandy School of Computer Science
http://insilico.utulsa.edu/

from reliefseq.

rwhetten avatar rwhetten commented on August 16, 2024

Hi Bill,
Thanks for the suggestion - I tried that, but the result is the same. The
final line of the compiler error is
ReliefSeqCLI.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x20):
undefined reference to `boost::program_options::validation_error::what()
const'
collect2: error: ld returned 1 exit status
make[1]: *** [reliefseq] Error 1

Regards,
Ross

Ross Whetten, Professor
Department of Forestry & Environmental Resources
North Carolina State University
Raleigh North Carolina, USA 27695-8008
office: 5231 Jordan Hall, tel: 919-515-7578

On Fri, Mar 11, 2016 at 11:27 AM, Bill White [email protected]
wrote:

Have you tried 'make clean && make'? I don't have any problems, but make
clean removes all object .o files that might be lingering and causing
problems.

On Fri, Mar 11, 2016 at 8:22 AM, Bill White [email protected]
wrote:

Interesting. Looks like a problem with the Boost program options. I will
attempt to duplicate this on our Ubuntu 14.04 system.

On Fri, Feb 26, 2016 at 2:56 PM, rwhetten [email protected]
wrote:

I compiled Reliefseq last summer and had it running on a Ubuntu 12.04
system, then did not use it for a while. In the meantime, the system was
upgraded to Ubuntu 14.04. When I tried Reliefseq again, it complained
"error while loading shared libraries:
libboost_program_options.so.1.46.1"
The upgraded system has Boost 1.47, but I thought perhaps not all Boost
libraries had been upgraded, so I ran apt-get install libboost-all-dev
to
make sure all libraries were updated (several packages were installed,
so
that seemed to have been worthwhile). After that I removed the
previously-compiled version of Reliefseq, cloned the Github repo, and
set
BOOST_ROOT to /usr/local/include/boost, then ran bootstrap.sh and
configure, both of which seemed to complete without problems. When I run
make, however, things go wrong after a while. What seems to me to be the
last command executed is pasted below, followed by a series of error
messages about boost_program_options. The output from ./configure
indicated
that the BOOST_PROGRAM_OPTIONS variables were set without issues, so I'm
not sure how to proceed.

"/bin/bash ./libtool --tag=CXX --mode=link g++ -I.
-I/usr/local/include/boost/include -fopenmp -O3 -Wall
-I/usr/local/include
-g -O2 -fopenmp -L/usr/local/lib
-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgomp -o reliefseq
ReliefSeqCLI.o Insilico.o DistanceMetrics.o Statistics.o Dataset.o
ArffDataset.o PlinkDataset.o PlinkBinaryDataset.o PlinkRawDataset.o
DgeData.o BirdseedData.o DatasetInstance.o AttributeRanker.o
ChiSquared.o
ReliefF.o RReliefF.o SNReliefF.o ReliefFSeq.o ReliefSeqController.o
-L/usr/local/lib -L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgomp
-lgsl
-lgslcblas -lboost_program_options -L. -lgomp
libtool: link: g++ -I. -I/usr/local/include/boost/include -fopenmp -O3
-Wall -I/usr/local/include -g -O2 -fopenmp -o reliefseq ReliefSeqCLI.o
Insilico.o DistanceMetrics.o Statistics.o Dataset.o ArffDataset.o
PlinkDataset.o PlinkBinaryDataset.o PlinkRawDataset.o DgeData.o
BirdseedData.o DatasetInstance.o AttributeRanker.o ChiSquared.o
ReliefF.o
RReliefF.o SNReliefF.o ReliefFSeq.o ReliefSeqController.o
-L/usr/local/lib
-L/usr/local/Cellar/gcc/4.9.2_1/lib/gcc/4.9 -lgsl -lgslcblas
-lboost_program_options -L. -lgomp -fopenmp
ReliefSeqCLI.o: In function std::basic_string<char,
std::char_traits, std::allocator > const&

boost::program_options::validators::get_single_string(std::vector<std::basic_string<char,
std::char_traits, std::allocator >,
std::allocator<std::basic_string<char, std::char_traits,
std::allocator > > > const&, bool)':

/usr/local/include/boost/include/boost/program_options/detail/value_semantic.hpp:58:
undefined reference
toboost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::string const&, std::string const&)'

/usr/local/include/boost/include/boost/program_options/detail/value_semantic.hpp:62:
undefined reference to
boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t,
std::string const&, std::string const&)'

ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options20invalid_option_valueEEE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'

ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options20invalid_option_valueEEEEE]+0x20):
undefined reference to boost::program_options::validation_error::what()
const'

ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE[_ZTVN5boost16exception_detail19error_info_injectorINS_15program_options16validation_errorEEE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'

ReliefSeqCLI.o:(.rodata._ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE[_ZTVN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_15program_options16validation_errorEEEEE]+0x20):
undefined reference to boost::program_options::validation_error::what()
const'

ReliefSeqCLI.o:(.rodata._ZTVN5boost15program_options20invalid_option_valueE[_ZTVN5boost15program_options20invalid_option_valueE]+0x20):
undefined reference toboost::program_options::validation_error::what()
const'
collect2: error: ld returned 1 exit status
make[1]: *** [reliefseq] Error 1
make[1]: Leaving directory `/home/ross/software/reliefseq'
make: *** [all] Error 2"


Reply to this email directly or view it on GitHub
#2.

Bill C. White, MS
Research Associate Programmer
University of Tulsa
Tandy School of Computer Science
http://insilico.utulsa.edu/

Bill C. White, MS
Research Associate Programmer
University of Tulsa
Tandy School of Computer Science
http://insilico.utulsa.edu/


Reply to this email directly or view it on GitHub
#2 (comment).

from reliefseq.

hexhead avatar hexhead commented on August 16, 2024

I think I have an idea what you need. Most of Boost is a header library requiring the specification of where the include '.hpp' files are with the '-I/path' option. It is ok in your case. Boost "program options" is a special library, and we need to make sure the linker option '-L/path' points to where the library is located. If it is in '/usr/lib' the compiler should find it; it is a default location. Else, we need to tell the compiler where it is installed. I used 'locate" to find mine:

bwhite@newton:~$ locate program_options
... lots of stuff ...
/usr/lib/libboost_program_options.so.1.49.0
... more stuff

As I recall, it's been a while since I have done C++ every day, I think you can do this:

$ export LDFLAGS="$LDFLAGS -L/your/path/to/program/options/library_name.so"
$ ./configure && make clean && make

My guess is that the upgrade from Ubuntu 12 to 14 installed the latest Boost in a different location than the previous version. C++ is a pain to get working, but it usually worth in terms of performance.

from reliefseq.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.