TWiki
>
TOTEM Web
>
CompDBSoftware
>
CompDBTudasTotemUnifiedDatabaseAccessService
>
CompDBTudasDevelopersGuide
>
CompDBTudasBuildingClientsLibraries
(2012-09-12,
unknown
)
(raw view)
E
dit
A
ttach
P
DF
---+ Building Client-Side Libraries When you're preparing new Tudas release, you have to build all modules and transform them into the form that is comfortable for end-user. This process varies depending on programming language. In main Tudas project directory you can find release directory. It should be updated each time you want to provide changes in Tudas libraries and shared to Tudas users. The details are described below. ---++ Building Java library Tudas java library is generated automatically by Maven. To build your current state, invoke command (from main Tudas project directory): <verbatim>mvn package</verbatim> The result jar is put into <em>clients/javaClient/target </em>directory. You have to move this file into _release/java/lib_ directory: <verbatim>mv -f ./clients/javaClient/target/javaClient-x.x.x-with-all-dependencies ./release/java/lib/tudas.jar</verbatim> ---++ Building Python library Thanks to Python's flexible nature, there is no need of compiling any files. All you have to do is replace old version of python code with new one in release directory: <pre><verbatim>rm -rf ./release/python/lib/tudas cp -r ./clients/pythonClient/tudas ./release/python/lib</verbatim> </pre> ---++ Building C++ library Final c++ shared library is compiled only for specific platform and architecture. That's why you have to perform build steps on Scientific Linux CERN if it should work on CERN machines (and that's our default approach). 1. Ensure, that you have built additional c++ libraries. It is performed automatically first time you call _maven compile_ command (and takes a lot of time). If libraries have been built correctly, there should be appropriate content in _./clients/cppClient/lib_ and _./clients/cppClient/include_ directories. 2. Change your directory to c++ source directory: <verbatim>cd ./clients/cppClient/src/main/cpp</verbatim> 3. Now you can build shared library file: <verbatim>g++ -I./include -I./generated -I../../../include -fPIC -c *.cpp generated/*.cpp g++ -shared -L../../../lib -lIce -lIceUtil -llog4cpp -lPocoFoundation -lPocoNet -o libtudas.so *.o</verbatim> 4. Remove generated obj files: <verbatim>rm -f *.o</verbatim> 5. Move your library file into the release directory: <pre><verbatim>mv ./clients/cppClient/src/main/cpp/libtudas.so ./release/c++/lib/</verbatim> </pre>
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r1
|
B
acklinks
|
V
iew topic
|
WYSIWYG
|
M
ore topic actions
Topic revision: r1 - 2012-09-12
-
unknown
Log In
TOTEM
TOTEM
TOTEM home
TOTEM TWiki
TOTEM TWiki
DETECTOR
SOFTWARE
Offline Software
Monitor
TotemDQM
Trigger/DAQ
DCS
ANALYSIS
PHYSICS
DOCUMENTATION
Service links
Changes
Index
Search
About
Rules and conventions
Playground
TWiki help
TWiki formatting rules
Create personal sidebar
Cern Search
TWiki Search
Google Search
TOTEM
All webs
Copyright &© 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use
Discourse
or
Send feedback