Re: [Quickfix-developers] RE: Solaris Installation Steps?
Brought to you by:
orenmnero
From: <OM...@th...> - 2002-04-22 18:55:16
|
Ok, here is what I found. libxml2 comes with an m4 macro called libxml.m4. This file has a macro called AM_PATH_XML2. I added the following line to my configure.in AM_PATH_XML2(2.0.0, , AC_MESSAGE_ERROR(libxml2 must be installed.)) This will verify that libxml is installed and also set some variables for you like $XML_LIBS and $XML_CFLAGS. These can be added your LIBS, CXXFLAGS and CFLAGS variables. autoconf determines these by running the xml2-config script whent he configure scripts is run. Since the libxml web page strongly recommends only using libxml2, I think it makes sense to make this version required for future versions of QuickFIX. They state that libxml1 should only be used if another library forces you to link it in. I don't think QuickFIX should be one of those annoying libraries. --oren |---------+-----------------------------------------------> | | "Ahmad M. Zawawi" <az...@qt...>| | | Sent by: | | | qui...@li...ur| | | ceforge.net | | | | | | | | | 04/20/02 07:40 AM | | | | |---------+-----------------------------------------------> >----------------------------------------------------------------------------------------------| | | | To: <qui...@li...> | | cc: | | Subject: [Quickfix-developers] RE: Solaris Installation Steps? | >----------------------------------------------------------------------------------------------| Hi Guys, Just wanted to share with you my notes on installing QuickFIX on Solaris 8. Here is what i had to do to get it working on my Sun Box... I noticed that ./configure is not checking for libxml2, and this simply makes the process harder. Any recommendations? The setup machine is: SunOS ZEW 5.8 Generic_108528-03 sun4u sparc SUNW,Ultra-5_10 gcc --version => 2.95.3 g++ --version => 2.95.3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The stuff that was installed beforehand: gcc-2.95.3-sol8-sparc-local.gz (from sunfreeware.com) The stuff i needed to download/install: _ lxml2-2.4.20-sol8-sparc-local.gz (from libxml.org solaris binaries) _ ruby-1.6.7-sol8-sparc-local.gz (from sunfreeware.com) _ rubyunit-0.5.4-02.tar.gz -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- pre-install: # to make configure script know where is lex % export PATH=$PATH:/usr/ccs/bin # add % gunzip lxml2-2.4.20-sol8-sparc-local.gz % pkgadd -d lxml2-2.4.20-sol8-sparc-local # check libxml configuration % xml2-config --libs -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib -lxml2 -lz -lpthread -lm -lsocket -lnsl % xml2-config --cflags -I/usr/local/libxml/include/libxml2 # for ruby and ruby unit... % gunzip ruby-1.6.7-sol8-sparc-local.gz % pkgadd -d ruby-1.6.7-sol8-sparc-local % gunzip rubyunit-0.5.4-02.tar.gz % tar xfv rubyunit-0.5.4-02.tar % cd rubyunit-0.5.4-02 % ruby install.rb # seems like it was installed with gcc/g++ package % find /usr -name sstream* & /usr/local/include/g++-3/sstream -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- E D I T E D S T U F F -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./Makefile.in in quickfix and modified.quickfix 64c64 < CFLAGS = @CFLAGS@ --- > CFLAGS = @CFLAGS@ -I/usr/local/libxml/include/libxml2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./src/C++/Makefile.in in quickfix and modified.quickfix 64c64 < CFLAGS = @CFLAGS@ --- > CFLAGS = @CFLAGS@ 89c89 < INCLUDES = -I. -I.. -I../.. -I../../.. --- > INCLUDES = -I/usr/local/libxml/include/libxml2 -I. -I.. -I../.. -I../../.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Apr 20 15:31 2002 diff of ./src/Makefile.in in quickfix and modified.quickfix 94,97c94,97 < at_server_LDADD = C++/libquickfix.la -lxml -lpthread < at_client_LDADD = C++/libquickfix.la -lxml -lpthread < ut_LDADD = C++/test/libquickfixcpptest.la C++/libquickfix.la -lxml -lpthread < pt_LDADD = C++/libquickfix.la -lxml -lpthread --- > at_server_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread > at_client_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread > ut_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/test/libquickfixcpptest.la C++/libquickfix.la -lxml2 -lpthread > pt_LDADD = -L/usr/local/libxml/sparc/lib -R/usr/local/libxml/sparc/lib C++/libquickfix.la -lxml2 -lpthread -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- E N D O F E D I T E D S T U F F -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # and finally ... % ./configure; make; make install # interesting stats with make on a Ultra10 440 MHz 512 MB machine: % time make --silent real 8m37.626s user 7m27.260s sys 0m42.570s -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Testing: # run ruby tests! % cd test % ./check.sh ......................................................................................................... 105 out of 105 tests passing (100%) Created Session - BeginString: FIX.4.2, SenderCompID: ISLD, TargetCompID: TW <at> <test name='definitions/server/10_MsgSeqNumEqual.def' result='success'/> <test name='definitions/server/10_MsgSeqNumGreater.def' result ='success'/> <test name='definitions/server/10_MsgSeqNumLess.def' result='success'/> <test name='definitions/server/11a_NewSeqNoGreater.def' result ='success'/> <test name='definitions/server/11b_NewSeqNoEqual.def' result='success'/> <test name='definitions/server/11c_NewSeqNoLess.def' result='success'/> <test name='definitions/server/13b_UnsolicitedLogoutMessage.def' result ='success'/> <test name='definitions/server/14a_BadField.def' result='success'/> <test name='definitions/server/14b_RequiredFieldMissing.def' result ='success'/> <test name='definitions/server/14c_TagNotDefinedForMsgType.def' result ='success'/> <test name='definitions/server/14d_TagSpecifiedWithoutValue.def' result ='success'/> <test name='definitions/server/14e_IncorrectEnumValue.def' result ='success'/> <test name='definitions/server/14f_IncorrectDataFormat.def' result ='success'/> <test name='definitions/server/14g_HeaderBodyTrailerFieldsOutOfOrder.def' result='success'/> <test name ='definitions/server/15_HeaderAndBodyFieldsOrderedDifferently.def' result ='success'/> <test name ='definitions/server/19a_PossResendMessageThatHAsAlreadyBeenSent.def' result='success'/> <test name ='definitions/server/19b_PossResendMessageThatHasNotBeenSent.def' result ='success'/> <test name='definitions/server/1a_ValidLogonMsgSeqNumTooHigh.def' result ='success'/> <test name='definitions/server/1a_ValidLogonWithCorrectMsgSeqNum.def' result='success'/> <test name='definitions/server/1b_DuplicateIdentity.def' result ='success'/> <test name='definitions/server/1c_InvalidSenderCompID.def' result ='success'/> <test name='definitions/server/1c_InvalidTargetCompID.def' result ='success'/> <test name='definitions/server/1d_InvalidLogonLengthInvalid.def' result ='success'/> <test name='definitions/server/1d_InvalidLogonWrongBeginString.def' result='success'/> <test name='definitions/server/1e_NotLogonMessage.def' result='success'/> <test name='definitions/server/20_SimultaneousResendRequest.def' result ='success'/> <test name='definitions/server/2a_MsgSeqNumCorrect.def' result ='success'/> <test name='definitions/server/2b_MsgSeqNumTooHigh.def' result ='success'/> <test name='definitions/server/2c_MsgSeqNumTooLow.def' result='success'/> <test name='definitions/server/2d_GarbledMessage.def' result='success'/> <test name='definitions/server/2e_PossDupAlreadyReceived.def' result ='success'/> <test name='definitions/server/2e_PossDupNotReceived.def' result ='success'/> <test name='definitions/server/2f_PossDupOrigSendingTimeTooHigh.def' result='success'/> <test name='definitions/server/2g_PossDupNoOrigSendingTime.def' result ='success'/> <test name='definitions/server/2i_BeginStringValueUnexpected.def' result ='success'/> <test name='definitions/server/2k_CompIDDoesNotMatchProfile.def' result ='success'/> <test name='definitions/server/2m_BodyLengthValueNotCorrect.def' result ='success'/> <test name='definitions/server/2o_SendingTimeValueOutOfRange.def' result ='success'/> <test name='definitions/server/2q_MsgTypeNotValid.def' result='success'/> <test name='definitions/server/2r_UnregisteredMsgType.def' result ='success'/> <test name='definitions/server/2t_FirstThreeFieldsOutOfOrder.def' result ='success'/> <test name='definitions/server/3b_InvalidChecksum.def' result='success'/> <test name='definitions/server/3c_GarbledMessage.def' result='success'/> <test name='definitions/server/4a_NoDataSentDuringHeartBtInt.def' result ='success'/> <test name='definitions/server/4b_ReceivedTestRequest.def' result ='success'/> <test name='definitions/server/6_SendTestRequest.def' result='success'/> <test name='definitions/server/7_ReceiveRejectMessage.def' result ='success'/> <test name='definitions/server/8_AdminAndApplicationMessages.def' result ='success'/> <test name='definitions/server/8_OnlyAdminMessages.def' result ='success'/> <test name='definitions/server/8_OnlyApplicationMessages.def' result ='success'/> /have fun! ahmad m. zawawi |