Code Monkey home page Code Monkey logo

etopzone / certi Goto Github PK

View Code? Open in Web Editor NEW
44.0 5.0 19.0 5.66 MB

CERTI is an Open Source HLA RTI. HLA (High-Level Architecture) is a general purpose architecture for distributed computer simulation systems. In HLA systems, the RTI (RunTime Infrastructure) manages data exchange between simulations. CERTI supports HLA 1.3 specifications (C++ and Java) and partial IEEE 1516-v2000 and IEEE 1516-v2010 (C++) . CERTI is open source software (GPL, libraries are LGPL).

License: Other

CMake 3.31% C++ 83.35% C 6.69% Yacc 0.13% LLVM 0.07% Python 4.54% Shell 0.14% Perl 1.75% Makefile 0.02%
hla rti certi distributed-computer-simulation

certi's Introduction

License
-------

See COPYING file for use/modification/distribution conditions.
The main license (GPL) can be found in the file "gpl.txt". The license
for libraries librti and libcerti (LGPL) can be found in the file
"lesser.txt".

Installation
------------

The CERTI build system is using CMake 
(http://www.cmake.org/HTML/RunningCMake.html) such that
you need to have a working CMake on your system in order to build CERTI.

Depending on the target platform (Windows, Linux, Solaris...) and
the compiler (GCC, Visual Studio, MinGW, ...) the CERTI CMake build
system should discover and require the needed dependency.

The fast (and hopefully easy) way to build CERTI is:

1) Get the CERTI tarball or zip from 
   http://download.savannah.nongnu.org/releases/certi/
   
2) Unzip/Untar the archive
   This will create CERTI-X.Y.Z-Source/ directory
    
   on Unix this would be
   tar zxvf CERTI-X.Y.Z.tar.gz

3) Create a build directory
   Build_CERTI-X.Y.Z/
   mkdir Build_CERTI-X.Y.Z
   
4) Go to the build directory and launch CMake
   cd Build_CERTI-X.Y.Z
   cmake </path/to>/CERTI-X.Y.Z-Source
   
   may be
   cmake ../CERTI-X.Y.Z-Source
   
   one may choose the installation prefix with
   cmake -DCMAKE_INSTALL_PREFIX=/path/to/install ../CERTI-X.Y.Z-Source
   
   or launch an interactive CMake UI in order to modify CMAKE_INSTALL_PREFIX.
   cmake-gui ../CERTI-X.Y.Z-Source 
   or
   ccmake ../CERTI-X.Y.Z-Source
   
5) Build 
   make
   
6) Install 
   make install
   
The command used for building and installing CERTI depends
on the platform/compiler combination you chose. The previous
examples are for Unix-like system with make.
You may look at
   http://www.nongnu.org/certi/certi_doc/Install/html/index.html
   for other build examples.
   or generic CMake usage:
   http://www.cmake.org/cmake/help/runningcmake.html

certi's People

Contributors

breholee avatar bussenotjl avatar davidbrcz avatar gotthardp avatar jb-ch avatar theerk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

certi's Issues

Update this code with last important commits @Savannah

Hello,
Could you please synchronize with https://git.savannah.nongnu.org/git/certi.git ? The last 4 commits fix the bugs #56568 and #55104, and so allow to work with more recent OS, like macOS Mojave and Fedora 29.

Here the logs:

commit 5652f49b577e3c8d3b1d6097f7b52b0e40a400ee
Author: J.-B. Chaudron [email protected]
Date: Mon Jul 8 12:29:41 2019 +0200
New fix for bug #56568 and #55104 for RPC headers and Libraries for new compilers

commit 4dbc8a144cce3d64a57727d380b81ea0af6b0906
Author: J.-B. Chaudron [email protected]
Date: Wed Apr 24 21:44:05 2019 +0200
Integrate modifications for compilation under Visual Studio 2017, findings are thanks to Mr gopher2008

commit c2146229adc0ac3a43d4b2c4e6d1c213801dfb60
Author: J.-B. Chaudron [email protected]
Date: Fri Mar 1 10:08:30 2019 +0100
implement fix for bug #55104

commit 9a952ab58bc81fc5c7bfee992448e0df2f52cae9
Author: jb_ch [email protected]
Date: Tue Oct 23 10:35:55 2018 +0200
Correct inconsistent usage of std::make_unique call in main fil of mom_explorer

You may also synchronize with the last commit, but the above are really important.

commit 4ac538b605020dcc281331d2781a89bd4b7bbda5 (HEAD -> master, origin/master, origin/HEAD)
Author: p.siron [email protected]
Date: Fri Dec 6 15:28:52 2019 +0100
Interactive_Federate1516-2010 is updated with startRegistrationForObjectClass callback and queryLogicalTime call

Can't compile CERTI-3.5.1

I am unable to build version 3.5.1 from http://download.savannah.nongnu.org/releases/certi/
Using:

#60~20.04.1-Ubuntu SMP
5.8.0-53-generic

Here is an output from terminal:

~/Downloads/CERTI-3.5.1-Source1/build$ cmake -DCMAKE_INSTALL_PREFIX=/install /home/norica/Downloads/CERTI-3.5.1-Source1
-- The CXX compiler identification is GNU 9.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Native build.
-- Target is 64 bits
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Target is Little Endian
-- No build type selected, default to Debug
-- Configuring CERTI version 3.5.1
-- Looking for time.h
-- Looking for time.h - found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for clock_settime
-- Looking for clock_settime - found
-- Looking for clock_getres
-- Looking for clock_getres - found
-- Looking for clock_nanosleep
-- Looking for clock_nanosleep - found
-- Looking for sys/time.h
CMake Warning (dev) at /usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake:80 (message):
  Policy CMP0075 is not set: Include file check macros honor
  CMAKE_REQUIRED_LIBRARIES.  Run "cmake --help-policy CMP0075" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  CMAKE_REQUIRED_LIBRARIES is set to:

    /usr/lib/x86_64-linux-gnu/librt.so

  For compatibility with CMake 3.11 and below this check is ignoring it.
Call Stack (most recent call first):
  CMakeLists.txt:316 (CHECK_INCLUDE_FILE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for sys/time.h - found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for basename in gen
-- Looking for basename in gen - not found
-- Looking for connect in socket
-- Looking for connect in socket - not found
-- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.10") 
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- X11 include directory: /usr/include
-- Looking for lex...
-- Looking for lex... - NOT found
-- Looking for yacc...
-- Looking for yacc... - NOT found
-- INHIBIT Compiler warning for LEX/YACC generated files
-- INHIBIT Compiler (GCC) warning for gengetopt generated files: /home/norica/Downloads/CERTI-3.5.1-Source1/RTIG/RTIG_cmdline.c;/home/norica/Downloads/CERTI-3.5.1-Source1/RTIG/RTIG_cmdline.h.
-- INHIBIT Compiler (GCC) warning for gengetopt generated files: /home/norica/Downloads/CERTI-3.5.1-Source1/RTIA/RTIA_cmdline.c;/home/norica/Downloads/CERTI-3.5.1-Source1/RTIA/RTIA_cmdline.h.
-- libRTI variant: HLA 1.3 NG
-- libRTI variant: HLA 1516
-- libRTI variant: HLA 1516e
-- INHIBIT Compiler (GCC) warning for gengetopt generated files: Billard_cmdline.c;Billard_cmdline.h.
-- INHIBIT Compiler (GCC) warning for gengetopt generated files: /home/norica/Downloads/CERTI-3.5.1-Source1/test/testFederate/testFederate_cmdline.c;/home/norica/Downloads/CERTI-3.5.1-Source1/test/testFederate/testFederate_cmdline.h.
-- Found PythonInterp: /usr/bin/python (found version "2.7.18") 
-- *** CERTI has been successfully configured ********
-- Configuring done
-- Generating done
-- Build files have been written to: /home/norica/Downloads/CERTI-3.5.1-Source1/build

~/Downloads/CERTI-3.5.1-Source1/build$ make

Scanning dependencies of target HLA
[  0%] Building CXX object libHLA/CMakeFiles/HLA.dir/HLAbuffer.cc.o
[  1%] Building C object libHLA/CMakeFiles/HLA.dir/sha1.c.o
[  2%] Building CXX object libHLA/CMakeFiles/HLA.dir/MurmurHash2.cpp.o
[  2%] Building CXX object libHLA/CMakeFiles/HLA.dir/MurmurHash3.cpp.o
[  3%] Building C object libHLA/CMakeFiles/HLA.dir/PMurHash.c.o
[  3%] Building C object libHLA/CMakeFiles/HLA.dir/tlsf.c.o
/home/norica/Downloads/CERTI-3.5.1-Source1/libHLA/tlsf.c:176:20: warning: anonymous variadic macros were introduced in C99 [-Wvariadic-macros]
  176 | # define PRINT_MSG(...) printf(__VA_ARGS__)
      |                    ^~~
/home/norica/Downloads/CERTI-3.5.1-Source1/libHLA/tlsf.c:177:20: warning: anonymous variadic macros were introduced in C99 [-Wvariadic-macros]
  177 | # define ERROR_MSG(...) fprintf(stderr, __VA_ARGS__)
      |                    ^~~
[  4%] Building CXX object libHLA/CMakeFiles/HLA.dir/MessageBuffer.cc.o
[  4%] Building C object libHLA/CMakeFiles/HLA.dir/MsgBuffer.c.o
[  5%] Building CXX object libHLA/CMakeFiles/HLA.dir/Clock.cc.o
[  5%] Building CXX object libHLA/CMakeFiles/HLA.dir/ClockFactory.cc.o
[  6%] Building CXX object libHLA/CMakeFiles/HLA.dir/PosixClock.cc.o
[  6%] Building CXX object libHLA/CMakeFiles/HLA.dir/GettimeofdayClock.cc.o
[  7%] Building CXX object libHLA/CMakeFiles/HLA.dir/SHMPosix.cc.o
[  7%] Building CXX object libHLA/CMakeFiles/HLA.dir/SHMSysV.cc.o
[  8%] Building CXX object libHLA/CMakeFiles/HLA.dir/SemaphorePosix.cc.o
[  8%] Building CXX object libHLA/CMakeFiles/HLA.dir/SemaphoreSysV.cc.o
[  9%] Linking CXX shared library libHLAd.so
[  9%] Built target HLA
Scanning dependencies of target MessageBufferTests
[  9%] Building CXX object libHLA/CMakeFiles/MessageBufferTests.dir/MessageBufferTests.cc.o
[ 10%] Linking CXX executable MessageBufferTests
[ 10%] Built target MessageBufferTests
Scanning dependencies of target TestClocks
[ 11%] Building CXX object libHLA/CMakeFiles/TestClocks.dir/TestClocks.cc.o
[ 11%] Linking CXX executable TestClocks
[ 11%] Built target TestClocks
Scanning dependencies of target MsgBufferTests
[ 12%] Building C object libHLA/CMakeFiles/MsgBufferTests.dir/MsgBufferTests.c.o
[ 12%] Linking C executable MsgBufferTests
[ 12%] Built target MsgBufferTests
Scanning dependencies of target TestHLAtypes
[ 12%] Building CXX object libHLA/CMakeFiles/TestHLAtypes.dir/TestHLAtypes.cc.o
[ 13%] Linking CXX executable TestHLAtypes
[ 13%] Built target TestHLAtypes
[ 14%] Generating syntax.cc, syntax.h
/bin/sh: 1: YACC_PROGRAM-NOTFOUND: not found
make[2]: *** [libCERTI/CMakeFiles/CERTI.dir/build.make:66: libCERTI/syntax.cc] Error 127
make[1]: *** [CMakeFiles/Makefile2:1544: libCERTI/CMakeFiles/CERTI.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

What is wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.