nagyistoce / quickfast

Automatically exported from code.google.com/p/quickfast
Other
2 stars 0 forks source link

Building fails on ubuntu linux with undefined reference to `main' error #84

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Building fails

What steps will reproduce the problem?
1. configurated setup.sh
2. ./m.sh
3. make

What is the expected output? What do you see instead?

manifest@tux:~/projects/3rdparty/quickfast_1_3$ ./setup.sh 
Generating 'make' output using QuickFAST.mwc
Generation Time: 3s
make[1]: Entering directory `/home/manifest/projects/3rdparty/quickfast_1_3/src'
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -L"." -L"/usr/lib" -L"" -shared 
Common/QuickFASTPch.o Application/DecoderConnection.o 
Application/DNDecoderConnectionImpl.o Codecs/MessagePerPacketAssembler.o 
Codecs/Decoder.o Codecs/PresenceMap.o Codecs/Template.o 
Codecs/DataSourceBlockedStream.o Codecs/FieldOpIncrement.o 
Codecs/DataSourceBufferedStream.o Codecs/SingleMessageConsumer.o 
Codecs/FieldInstructionUtf8.o Codecs/StreamingAssembler.o Codecs/FieldOpTail.o 
Codecs/FieldOpDefault.o Codecs/FixedSizeHeaderAnalyzer.o 
Codecs/DataSourceBuffer.o Codecs/FieldInstructionByteVector.o Codecs/Encoder.o 
Codecs/MulticastDecoder.o Codecs/FieldOpConstant.o Codecs/DataSourceString.o 
Codecs/FieldInstructionAscii.o Codecs/XMLTemplateParser.o 
Codecs/GenericMessageBuilder.o Codecs/FieldInstructionTemplateRef.o 
Codecs/FieldInstructionBlob.o Codecs/FieldOpCopy.o 
Codecs/FieldInstructionGroup.o Codecs/FieldInstruction.o 
Codecs/FieldInstructionSequence.o Codecs/Context.o Codecs/FieldOp.o 
Codecs/DataSourceStream.o Codecs/TemplateRegistry.o Codecs/DataSource.o 
Codecs/FieldOpDelta.o Codecs/DataSourceBufferedBlockedStream.o 
Codecs/SegmentBody.o Codecs/SchemaElement.o Codecs/DictionaryIndexer.o 
Codecs/FastEncodedHeaderAnalyzer.o Codecs/FieldInstructionDecimal.o 
Common/Types.o Common/ByteSwapper.o Common/WorkingBuffer.o Common/dllmain.o 
Common/Decimal.o Common/BitMap.o Common/Profiler.o 
Communication/MulticastReceiverHandle.o Communication/AsioService.o 
Communication/PCapReader.o Messages/FieldUtf8.o Messages/Field.o 
Messages/FieldInt16.o Messages/FieldDecimal.o Messages/MessageAccessor.o 
Messages/FieldSet.o Messages/FieldIdentity.o Messages/FieldString.o 
Messages/FieldByteVector.o Messages/MessageBuilder.o Messages/FieldInt8.o 
Messages/FieldUInt32.o Messages/FieldInt32.o Messages/FieldInt64.o 
Messages/FieldAscii.o Messages/FieldUInt16.o Messages/FieldGroup.o 
Messages/MessageFormatter.o Messages/Message.o Messages/FieldSequence.o 
Messages/FieldUInt64.o Messages/FieldUInt8.o -l"xerces-c-3.1" -l"boost_thread" 
-l"boost_system" -l"boost_filesystem" -ldl  -lpthread -o 
"../lib/libQuickFAST.so"
/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o: In function 
`_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make[1]: *** [../lib/libQuickFAST.so] Error 1
make[1]: Leaving directory `/home/manifest/projects/3rdparty/quickfast_1_3/src'
make: *** [QuickFAST] Error 2

What version of the product are you using (svn Rev # or download package
version #)? On what operating system?  What source of data

ubuntu natty x86, quickfast-1.3, boost-1.42, xerces-c-3.1, mpc-3.9.0

Please provide any additional information below.   Attach templates and
test data if possible and relevant.

It's my setup.sh:

export QUICKFAST_ROOT=`pwd`

export MPC_ROOT=../mpc

export BOOST_ROOT=/usr
#export BOOST_ROOT_LIB=$BOOST_ROOT/lib
export BOOST_VERSION=boost-1_42
#export BOOST_CFG=gcc452_mt
export XERCES_ROOT=/usr
#export XERCES_LIBPATH=$XERCES_ROOT/src/.libs
export XERCES_LIBNAME=xerces-c-3.1
#export XERCES_INCLUDE=$XERCES_ROOT/src

export PATH=$QUICKFAST_ROOT/bin:$MPC_ROOT:$PATH
export 
LD_LIBRARY_PATH=$XERCES_LIBPATH:$QUICKFAST_ROOT/lib:$BOOST_ROOT_LIB:$LD_LIBRARY_
PATH

./m.sh

make

Original issue reported on code.google.com by manifest...@gmail.com on 4 May 2011 at 6:17

GoogleCodeExporter commented 9 years ago
An unusual error message. It indicates that g++ was trying to create an exe, 
not a library.  

Could you please try pulling from the tip of the svn repository (see the 
"Source" tab on the QuickFAST web page) and seeing if that builds properly.   
If yes, the difference between that and the 1.3 build will be revealing.  If 
no, then maybe the error message will be more helpful.

Dale

Original comment by dale.wil...@gmail.com on 10 May 2011 at 3:40

GoogleCodeExporter commented 9 years ago
Thank you for your answer, Dale. I've tried to build the library from the svn 
sources, but got an error:

manifest@tux:~/projects/3rdparty/quickfast-svn$ ./setup.sh 
Generating 'make' output using QuickFAST.mwc
Skipping OPRADecode (Examples.mpc), it requires opra_support.
Skipping SprywareFileDecoder (Examples.mpc), it requires spryware_support.
Generation Time: 3s
make[1]: Entering directory `/home/manifest/projects/3rdparty/quickfast-svn/src'
Makefile.QuickFAST:317: .depend.Makefile.QuickFAST: No such file or directory
make[1]: Leaving directory `/home/manifest/projects/3rdparty/quickfast-svn/src'
make[1]: Entering directory `/home/manifest/projects/3rdparty/quickfast-svn/src'
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -o Common/QuickFASTPch.h.gch 
-DQUICKFAST_BUILD_DLL Common/QuickFASTPch.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Application/DecoderConnection.o" Application/DecoderConnection.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Application/DNDecoderConnectionImpl.o" Application/DNDecoderConnectionImpl.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/MessagePerPacketAssembler.o" Codecs/MessagePerPacketAssembler.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/Decoder.o" Codecs/Decoder.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/PresenceMap.o" Codecs/PresenceMap.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/Template.o" Codecs/Template.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/DataSourceBlockedStream.o" Codecs/DataSourceBlockedStream.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldOpIncrement.o" Codecs/FieldOpIncrement.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/DataSourceBufferedStream.o" Codecs/DataSourceBufferedStream.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/SingleMessageConsumer.o" Codecs/SingleMessageConsumer.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstructionUtf8.o" Codecs/FieldInstructionUtf8.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/StreamingAssembler.o" Codecs/StreamingAssembler.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldOpTail.o" Codecs/FieldOpTail.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldOpDefault.o" Codecs/FieldOpDefault.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FixedSizeHeaderAnalyzer.o" Codecs/FixedSizeHeaderAnalyzer.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/DataSourceBuffer.o" Codecs/DataSourceBuffer.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstructionByteVector.o" Codecs/FieldInstructionByteVector.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/Encoder.o" Codecs/Encoder.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/MulticastDecoder.o" Codecs/MulticastDecoder.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldOpConstant.o" Codecs/FieldOpConstant.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/DataSourceString.o" Codecs/DataSourceString.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstructionAscii.o" Codecs/FieldInstructionAscii.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/XMLTemplateParser.o" Codecs/XMLTemplateParser.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/GenericMessageBuilder.o" Codecs/GenericMessageBuilder.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstructionTemplateRef.o" Codecs/FieldInstructionTemplateRef.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstructionBlob.o" Codecs/FieldInstructionBlob.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldOpCopy.o" Codecs/FieldOpCopy.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstructionGroup.o" Codecs/FieldInstructionGroup.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstruction.o" Codecs/FieldInstruction.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstructionSequence.o" Codecs/FieldInstructionSequence.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/Context.o" Codecs/Context.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldOp.o" Codecs/FieldOp.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/DataSourceStream.o" Codecs/DataSourceStream.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/TemplateRegistry.o" Codecs/TemplateRegistry.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/DataSource.o" Codecs/DataSource.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldOpDelta.o" Codecs/FieldOpDelta.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/DataSourceBufferedBlockedStream.o" 
Codecs/DataSourceBufferedBlockedStream.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/SegmentBody.o" Codecs/SegmentBody.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/SchemaElement.o" Codecs/SchemaElement.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/DictionaryIndexer.o" Codecs/DictionaryIndexer.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FastEncodedHeaderAnalyzer.o" Codecs/FastEncodedHeaderAnalyzer.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Codecs/FieldInstructionDecimal.o" Codecs/FieldInstructionDecimal.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Common/Types.o" Common/Types.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Common/ByteSwapper.o" Common/ByteSwapper.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Common/WorkingBuffer.o" Common/WorkingBuffer.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Common/dllmain.o" Common/dllmain.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Common/Decimal.o" Common/Decimal.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Common/BitMap.o" Common/BitMap.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Common/Profiler.o" Common/Profiler.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Communication/MulticastReceiverHandle.o" 
Communication/MulticastReceiverHandle.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Communication/AsioService.o" Communication/AsioService.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Communication/AsynchSender.o" Communication/AsynchSender.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Communication/PCapReader.o" Communication/PCapReader.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Communication/FileSender.o" Communication/FileSender.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Communication/AsynchFileSender.o" Communication/AsynchFileSender.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldUtf8.o" Messages/FieldUtf8.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/Field.o" Messages/Field.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldInt16.o" Messages/FieldInt16.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldDecimal.o" Messages/FieldDecimal.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/MessageAccessor.o" Messages/MessageAccessor.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldSet.o" Messages/FieldSet.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldIdentity.o" Messages/FieldIdentity.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldString.o" Messages/FieldString.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldByteVector.o" Messages/FieldByteVector.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/MessageBuilder.o" Messages/MessageBuilder.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldInt8.o" Messages/FieldInt8.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldUInt32.o" Messages/FieldUInt32.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldInt32.o" Messages/FieldInt32.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldInt64.o" Messages/FieldInt64.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldAscii.o" Messages/FieldAscii.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldUInt16.o" Messages/FieldUInt16.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldGroup.o" Messages/FieldGroup.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/MessageFormatter.o" Messages/MessageFormatter.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/Message.o" Messages/Message.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldSequence.o" Messages/FieldSequence.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldUInt64.o" Messages/FieldUInt64.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -c -DQUICKFAST_BUILD_DLL -o 
"Messages/FieldUInt8.o" Messages/FieldUInt8.cpp
g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT -I"/usr/include/boost-1_42" 
-I"/usr/." -I"../src" -I"" -I"/usr/include" -L"." -L"/usr/lib" -L"" -shared 
Common/QuickFASTPch.o Application/DecoderConnection.o 
Application/DNDecoderConnectionImpl.o Codecs/MessagePerPacketAssembler.o 
Codecs/Decoder.o Codecs/PresenceMap.o Codecs/Template.o 
Codecs/DataSourceBlockedStream.o Codecs/FieldOpIncrement.o 
Codecs/DataSourceBufferedStream.o Codecs/SingleMessageConsumer.o 
Codecs/FieldInstructionUtf8.o Codecs/StreamingAssembler.o Codecs/FieldOpTail.o 
Codecs/FieldOpDefault.o Codecs/FixedSizeHeaderAnalyzer.o 
Codecs/DataSourceBuffer.o Codecs/FieldInstructionByteVector.o Codecs/Encoder.o 
Codecs/MulticastDecoder.o Codecs/FieldOpConstant.o Codecs/DataSourceString.o 
Codecs/FieldInstructionAscii.o Codecs/XMLTemplateParser.o 
Codecs/GenericMessageBuilder.o Codecs/FieldInstructionTemplateRef.o 
Codecs/FieldInstructionBlob.o Codecs/FieldOpCopy.o 
Codecs/FieldInstructionGroup.o Codecs/FieldInstruction.o 
Codecs/FieldInstructionSequence.o Codecs/Context.o Codecs/FieldOp.o 
Codecs/DataSourceStream.o Codecs/TemplateRegistry.o Codecs/DataSource.o 
Codecs/FieldOpDelta.o Codecs/DataSourceBufferedBlockedStream.o 
Codecs/SegmentBody.o Codecs/SchemaElement.o Codecs/DictionaryIndexer.o 
Codecs/FastEncodedHeaderAnalyzer.o Codecs/FieldInstructionDecimal.o 
Common/Types.o Common/ByteSwapper.o Common/WorkingBuffer.o Common/dllmain.o 
Common/Decimal.o Common/BitMap.o Common/Profiler.o 
Communication/MulticastReceiverHandle.o Communication/AsioService.o 
Communication/AsynchSender.o Communication/PCapReader.o 
Communication/FileSender.o Communication/AsynchFileSender.o 
Messages/FieldUtf8.o Messages/Field.o Messages/FieldInt16.o 
Messages/FieldDecimal.o Messages/MessageAccessor.o Messages/FieldSet.o 
Messages/FieldIdentity.o Messages/FieldString.o Messages/FieldByteVector.o 
Messages/MessageBuilder.o Messages/FieldInt8.o Messages/FieldUInt32.o 
Messages/FieldInt32.o Messages/FieldInt64.o Messages/FieldAscii.o 
Messages/FieldUInt16.o Messages/FieldGroup.o Messages/MessageFormatter.o 
Messages/Message.o Messages/FieldSequence.o Messages/FieldUInt64.o 
Messages/FieldUInt8.o -l"xerces-c-3.1" -l"boost_thread" -l"boost_system" 
-l"boost_filesystem" -ldl  -lpthread -o "../lib/libQuickFAST.so"
/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o: In function 
`_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make[1]: *** [../lib/libQuickFAST.so] Error 1
make[1]: Leaving directory `/home/manifest/projects/3rdparty/quickfast-svn/src'
make: *** [QuickFAST] Error 2

Original comment by manifest...@gmail.com on 10 May 2011 at 7:22

GoogleCodeExporter commented 9 years ago
Everything in the g++ command looks good to me except, of course, the error 
message that gets produced.   The command tells gcc to produce a shared library 
(-shared option) named ../lib/libQuickFAST.so  (the -o) option.  As a result 
gcc should not be attempting to load the _start function from crtl.  That 
should be loaded only in an executable program.  If the _start function is not 
loaded then it won't look for main.

I checked our nightly linux build.  It's a different environment from yours, 
but possibly the differences may provide you a hint about what's going on.   
Here's gcc --version and the corresponding command line from our nightly build:

gcc --version
gcc (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14)
Copyright (C) 2006 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.

g++  -fPIC -O -O3 -DUSING_PCH -D_REENTRANT
-I"/builds/boost_1_39_0/include/boost_1_39"
-I"/builds/boost_1_39_0/."
-I"../src" 
-I"/builds/xerces-c-3.0.1/src"
-I"/builds/boost_1_39_0/include"
-L"."
-L"/builds/boost_1_39_0/lib"
-L"/builds/xerces-c-3.0.1/src/.libs"
-shared
<SNIP a long list of .o files>
-l"xerces-c-3.0" 
-l"boost_thread-gcc41-mt" 
-l"boost_system-gcc41-mt"
-l"boost_filesystem-gcc41-mt"
-ldl 
-lpthread
-o "../lib/libQuickFAST.so"
=============
What I see is:
Different version of gcc. 
Different version of boost (and boost changed it's naming convention between 
1.39 and 1.42)   
Different version of xerces.  
Do you see any other differences that I missed.

I don't see how the boost version or the xerces version could cause this 
problem, so I suspect gcc.

Since it appears to me that gcc is misbehaving in this case, I wonder if you 
have access to any other versions of gcc  you could try.

Dale

Original comment by dale.wil...@gmail.com on 11 May 2011 at 2:46

GoogleCodeExporter commented 9 years ago
A colleague here spotted the problem.  Note the following on the command line 
for your build:
  -L"" -shared 
GCC is interpreting this to mean that "-shared" is the argument to the -L 
option.   This -L probably corresponds to $XERCES_LIBPATH.  Be sure this 
environment variable is defined even if it is not really necessary on your 
system.

Dale

Original comment by dale.wil...@gmail.com on 11 May 2011 at 6:07

GoogleCodeExporter commented 9 years ago
That solves my problem. Thank you.

Original comment by manifest...@gmail.com on 12 May 2011 at 11:30

GoogleCodeExporter commented 9 years ago

Original comment by dale.wil...@gmail.com on 12 May 2011 at 4:33