Print

Print


Hello,

It seems that this problem occurs in SL6.1 and SL6.3, but not is SL6.1 
(ld versions lightly differ)
SqlConfig::printSelf() seems to be defined multiple times, depending on 
the linker version.

We continue our investigations but your help is also welcome.

Thanks,

The LPC team.

On 04/16/2013 02:34 PM, Emmanuel Medernach wrote:
> Hello,
>
> I tried to install Qserv release 0.5.0 and I obtain the error below 
> during compilation. Could you please confirm this issue and in that 
> case repackage a release with the current master branch for instance ?
>
> g++ -o bld/libqserv_worker.so -shared bld/MySqlFsCommon.os 
> bld/Service.os bld/Logger.os bld/TodoList.os bld/Foreman.os 
> bld/SqlFragmenter.os bld/QservPathStructure.os bld/Thread.os 
> bld/QueryPhyResult.os bld/RequestTaker.os bld/MySqlFs.os bld/Base.os 
> bld/MySqlFsDirectory.os bld/Config.os bld/FifoScheduler.os 
> bld/MySqlFsFile.os bld/Task.os bld/MySqlExportMgr.os bld/WorkQueue.os 
> bld/QueryRunner.os bld/QueryRunnerManager.os bld/XrdSfsCallBack.cc.os 
> bld/XrdSfsNative.cc.os 
> -L/qserv/LSST/qserv-dev/xrootd/lib/x86_64_linux_26_dbg -L/usr/lib64 
> -L/home/emmanuel/tgz/qserv-0.5.0/common/lib 
> -L/home/emmanuel/tgz/qserv-0.5.0/common/lib 
> -L/qserv/LSST/qserv-dev/lib -L/qserv/LSST/qserv-dev/lib/mysql -lssl 
> -lcrypto -lXrdSys -lboost_regex -lboost_thread-mt -lboost_signals 
> -lprotobuf -lssl -lmysqlclient_r -lmysqlclient_r -lqserv_common 
> -lqserv_proto -lXrdOfs
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConnection.o): 
> In function `lsst::qserv::SqlConfig::SqlConfig(lsst::qserv::SqlConfig 
> const&)':
> SqlConnection.cc:(.text+0x0): multiple definition of 
> `lsst::qserv::SqlConfig::SqlConfig(lsst::qserv::SqlConfig const&)'
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConfig.o):SqlConfig.cc:(.text+0x0): 
> first defined here
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConnection.o): 
> In function `lsst::qserv::SqlConfig::SqlConfig(lsst::qserv::SqlConfig 
> const&)':
> SqlConnection.cc:(.text+0x0): multiple definition of 
> `lsst::qserv::SqlConfig::SqlConfig(lsst::qserv::SqlConfig const&)'
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConfig.o):SqlConfig.cc:(.text+0x0): 
> first defined here
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConnection.o): 
> In function 
> `lsst::qserv::SqlConfig::throwIfNotSet(std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&) const':
> SqlConnection.cc:(.text+0x122): multiple definition of 
> `lsst::qserv::SqlConfig::throwIfNotSet(std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&) const'
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConfig.o):SqlConfig.cc:(.text+0x122): 
> first defined here
> /home/emERROR : scons exits with error code (512) at 
> /home/emmanuel/tgz/qserv-0.5.0/admin/qserv-install line 801.
> manuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConnection.o): 
> In function 
> `lsst::qserv::SqlConfig::initFromFile(std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> const&, std::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> const&, std::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, bool)':
> SqlConnection.cc:(.text+0x3b4): multiple definition of 
> `lsst::qserv::SqlConfig::initFromFile(std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> const&, std::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::basic_string<char, std::char_traits<char>, std::allocator<char> > 
> const&, std::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, bool)'
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConfig.o):SqlConfig.cc:(.text+0x3b4): 
> first defined here
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConnection.o): 
> In function `lsst::qserv::SqlConfig::printSelf(std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&) const':
> SqlConnection.cc:(.text+0xcce): multiple definition of 
> `lsst::qserv::SqlConfig::printSelf(std::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&) const'
> /home/emmanuel/tgz/qserv-0.5.0/common/lib/libqserv_common.a(SqlConfig.o):SqlConfig.cc:(.text+0xcce): 
> first defined here
> collect2: ld returned 1 exit status
> scons: *** [bld/libqserv_worker.so] Error 1
> scons: building terminated because of errors.
>
> -- 
>
> ########################################################################
> Use REPLY-ALL to reply to list
>
> To unsubscribe from the QSERV-L list, click the following link:
> https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1