Re: [Quickfix-developers] Build Quickfix with Sun SPRO compiler 6.2 or 8.0
Brought to you by:
orenmnero
From: Andrew S. <ab...@gm...> - 2004-09-11 00:35:13
|
Regarding the SessionIDTestCase, it looks like it has to do with libtool and the Sun compiler/linker (CC). In 1.8.0 libtool generated ".o" files in the src/C++/test/.libs directory and linked them to create libquickfixcpptest. In 1.9.0 it creates and links ".lo" files in the src/C++/test directory. When creating a library CC automatically links in any necessary template object files from SunWS_cache (which is why CC must be used for linking), but a small experiment shows that it appears to only look for them if given object files ending in ".o". Thus any definitions contained in template object files needed by SessionIDTestCase are not linked into the library and are unresolved when that library is used. I'm not sure at this point why this only affects SessionIDTestCase, but to create a working library you can do the following in the src/C++/test directory after the linking fails. mv SessionIDTestCase.lo SessionIDTestCase.o CC -g -xs -xar -o .libs/libquickfixcpptest.al FieldBaseTestCase.lo FieldConvertorsTestCase.lo MessagesTestCase.lo SessionTestCase.lo ParserTestCase.lo SettingsTestCase.lo MessageStoreTestCase.lo UtcTimeStampTestCase.lo UtcTimeOnlyTestCase.lo AcceptorTestCase.lo SocketUtilitiesTestCase.lo FileUtilitiesTestCase.lo StringUtilitiesTestCase.lo SocketServerTestCase.lo SocketConnectorTestCase.lo SessionIDTestCase.o SessionTimeTestCase.lo FileStoreTestCase.lo FileStoreFactoryTestCase.lo MySQLStoreTestCase.lo DictionaryTestCase.lo SessionSettingsTestCase.lo DataDictionaryTestCase.lo mv SessionIDTestCase.o SessionIDTestCase.lo Then rebuild from the top level. Perhaps someone more familiar with the QuickFix Makefiles and with libtool and its innards can shed more light on the use of ".lo" files for this static library. Andrew On Thu, 9 Sep 2004 11:35:03 -0400, Caleb Epstein <cal...@gm...> wrote: > On Thu, 09 Sep 2004 09:58:48 +0200, Joerg Thoennes > <joe...@ma...> wrote: > > > Has anybody tried to build quickfix 1.9.0 with sun compilers? > > > > Yes, check mailing list archive for recent mails from Kristopher > > Peterson. QF 1.9.0 should be able to be compiled with SunPRO 5.3 > > Unfortunately, 1.9.0 doesn't compile out of the box with SunPRO 5.3. A > number of things from Kristopher's original patch seem not to have > made it into CVS. Among them: > > * Remove -Wall from configure and configure.in > * Remove -lstdc++ from all Makefiles > * For "configure", AR must be CC (or the full path to it) and AR_FLAGS > must contain "-xar -o". There ought to be some automated way for > configure to detect this, otherwise the user must specify them > manually when running configure, so this should be mentioned in the > installation docs. > * SessionIDTestCase is generating unresolved externals for me. Not > sure why, but I had to comment it out from TestSuite.h to get 'ut' to > compile. > > I'm attaching the patches I needed against stock 1.9.0 to get things to build > > -- > Caleb Epstein > cal...@gm... > > > > |