Home Bug Reports

misc build problems on Suse 8.1

marlowamarlowa Member Andrew MarlowOrganization: Wellabove LtdProject: study into feasibility of ice on WINCE project ✭✭
changes to Ice when building under Linux

Validator failed to compile due to missing include for XMLException.
This was when building against Xercesc-2.2.

src/slice2xsd/Validate.cpp
Added #include <xercesc/util/XMLException.hpp>
Also added XERCES_CPP_NAMESPACE_USE after 'using namespace std;'

src/IceSSL/ConfigParser.h
Added XERCES_CPP_NAMESPACE_USE after last #include
Note: it is not good to do this in a header file!

src/IceSSL/ConfigParserErrorReporter.h
Ditto

src/IceXML/StreamI.cpp
Also added XERCES_CPP_NAMESPACE_USE after last 'using namespace ...;'

src/IceStorm/Admin.cpp
Also added XERCES_CPP_NAMESPACE_USE after last 'using namespace ...;'

src/IceStorm/WeightedGraph.cpp
Also added XERCES_CPP_NAMESPACE_USE after last 'using namespace ...;'

src/IceStorm/Makefile
src/IcePack/Makefile
demo/Freeze/phonebook/Makefile
demo/Freeze/library/Makefile
There is a dependency on the curses library in the build of
icestormadmin, icepackadmin, phonebook/{client,server},
library/{client,server}.
curses does not seem to exist in Suse 8.1. I changed the Makefiles to
refer to ncurses (which is open source curses so should be portable,
even though it creates a dependency).

src/IcePack/ComponentBuilder.h
Added XERCES_CPP_NAMESPACE_USE after last #include
Note: it is not good to do this in a header file!

src/IcePack/IcePackNode.cpp
Also added XERCES_CPP_NAMESPACE_USE after last 'using namespace ...;'

src/IcePack/IcePackRegistry.cpp
Also added XERCES_CPP_NAMESPACE_USE after last 'using namespace ...;'

src/XMLTransform/ErrorReporter.h
Added XERCES_CPP_NAMESPACE_USE after last #include
Note: it is not good to do this in a header file!

include/XMLTransform/XMLTransform.h
Added XERCES_CPP_NAMESPACE_USE after last #include
Note: it is not good to do this in a header file!

include/Ice/Outgoing.h
The enum at line 81 has a trailing comma. This is legal (sigh)
but you get a warning when you compile with -Wall --pedantic.
I changed this so that there is a leading comma instead (except
on the first enumeration).

test/IceUtil/inputUtil/Client.cpp
lines 81,88,95 have a long long constant. When compiling with -Wall --pedantic
it issues a warning that this constant will not fit into an unsigned long.
I added 'LL' to the constant to make this warning go away.
The warning about 'long long' being forbidden by ISO C89 is unavoidable.

test/Ice/operations/{Twoways, TwowaysAMI}.cpp
same as above but on lines 519, 523, 532, 533
and lines 619, 626, 627-629, 958, 962 respectively.

(the warning when compiling demo/Freeze/PhoneBookI.cpp, that the 'll'
printf length is non-standard, is unavoidable).

Regards

Andrew M.

Comments

  • marcmarc FloridaAdministrators, ZeroC Staff Marc LaukienOrganization: ZeroC, Inc.Project: The Internet Communications Engine ZeroC Staff
    Thanks a lot for the detailed feedback!

    We decided to install all kinds of different Linux distributions at ZeroC. So expect the pain of using a non-RedHat distribution to go away soon.
Sign In or Register to comment.