Coder Social home page Coder Social logo

philippedax / vreng Goto Github PK

View Code? Open in Web Editor NEW
46.0 3.0 13.0 55.5 MB

Virtual Reality Engine - Interactive 3D Navigator over the Internet

License: Other

Makefile 0.63% M4 1.07% Shell 0.76% C++ 79.59% OCaml 0.25% C 11.21% Java 2.37% Python 0.08% CSS 0.02% Lex 0.16% Yacc 0.44% TeX 0.27% Roff 0.05% PHP 0.02% Perl 0.03% HTML 3.05%
opengl metaverse multiplayer virtual-worlds ip-multicast 3d-engine cplusplus xml http-client multimedia

vreng's People

Contributors

cederom avatar drdub avatar philippedax 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

Watchers

 avatar  avatar  avatar

vreng's Issues

Bugs

Please tell me if you find bugs

BUild problem on FreeBSD 13.2

Hello world :-)

I have problems building VRENG on FreeBSD 13.2 AMD64, details below, any hints welcome :-)

Build environment:

% uname -a
FreeBSD octagon 13.2-RELEASE-p10 FreeBSD 13.2-RELEASE-p10 GENERIC amd64

% git log -1
commit 8d05d2079721bc2fe2ad8093135661b51f0610d9 (HEAD -> master, origin/master, origin/HEAD)
Author: Philippe Dax <[email protected]>
Date:   Wed Mar 20 18:21:33 2024 +0100

    revert stopWheel universe.cpp

Configure seems to go fine:

% ./configure
checking build system type... amd64-unknown-freebsd13.2
checking host system type... amd64-unknown-freebsd13.2
checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for library containing strerror... none required
checking for grep that handles long lines and -e... /usr/local/bin/grep
checking for egrep... /usr/local/bin/grep -E
checking whether gcc needs -traditional... no
checking for bison... bison -y
checking whether make sets $(MAKE)... (cached) yes
checking whether ln -s works... yes
checking for ar... ar
checking for ranlib... ranlib
configure: WARNING: Vreng requires TTF freetype fonts with the pfs format see src/ubit/fonts directory
checking for gethostbyname in -lnsl... no
checking for connect in -lsocket... no
checking for sqrt in -lm... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for vfork.h... no
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for utime.h... yes
./configure: #include: not found
checking for _Bool... no
checking for stdbool.h that conforms to C99... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for sys/types.h... (cached) yes
checking for netinet/in.h... yes
checking for arpa/nameser.h... yes
checking for netdb.h... yes
checking for resolv.h... yes
checking whether stat file-mode macros are broken... no
checking whether to enable assertions... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for unistd.h... (cached) yes
checking for stddef.h... yes
checking for float.h... yes
checking for limits.h... yes
checking for fcntl.h... yes
checking for stdarg.h... yes
checking for ctype.h... yes
checking for utime.h... (cached) yes
checking for malloc.h... yes
checking for signal.h... yes
checking for math.h... yes
checking for errno.h... yes
checking for setjmp.h... yes
checking for getopt.h... yes
checking for pwd.h... yes
checking for pthread.h... yes
checking for ieeefp.h... yes
checking for locale.h... yes
checking for wchar.h... yes
checking for libintl.h... yes
checking for floatingpoint.h... yes
checking for sys/param.h... yes
checking for sys/time.h... yes
checking for sys/timeb.h... yes
checking for sys/socket.h... (cached) yes
checking for sys/select.h... (cached) yes
checking for sys/poll.h... yes
checking for sys/resource.h... yes
checking for sys/utsname.h... yes
checking for netinet/tcp.h... yes
checking for arpa/inet.h... yes
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for working volatile... yes
checking for inline... inline
checking for off_t... yes
checking for mode_t... yes
checking for uid_t in sys/types.h... yes
checking for pid_t... yes
checking for size_t... yes
checking for int8_t... yes
checking for int16_t... yes
checking for int32_t... yes
checking for uint64_t... yes
checking for uint32_t... yes
checking for uint16_t... yes
checking for uint8_t... yes
checking for ptrdiff_t... yes
checking for socklen_t... yes
checking whether closedir returns void... no
checking for error_at_line... no
checking for fork... yes
checking for vfork... yes
checking for vprintf... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for GNU libc compatible malloc... yes
checking for working alloca.h... no
checking for alloca... yes
checking for GNU libc compatible realloc... yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking whether lstat correctly handles trailing slash... yes
checking whether stat accepts an empty string... no
checking whether utime accepts a null argument... yes
checking for working strtod... yes
checking for getuid... yes
checking for getpid... yes
checking for getcwd... yes
checking for getpwuid... yes
checking for gethostname... yes
checking for gethostid... yes
checking for gethostbyaddr... yes
checking for gethostbyname... yes
checking for gethostbyname_r... yes
checking for getservbyname_r... yes
checking for getipnodebyname... yes
checking for getipnodebyaddr... yes
checking for freehostent... yes
checking for inet_pton... yes
checking for inet_ntoa... yes
checking for inet_ntop... yes
checking for isascii... yes
checking for gettimeofday... yes
checking for memset... yes
checking for mkdir... yes
checking for pow... yes
checking for sqrt... yes
checking for strcasecmp... yes
checking for strrchr... yes
checking for strstr... yes
checking for utime... yes
checking for fcntl... yes
checking for floor... yes
checking for select... yes
checking for poll... yes
checking for socket... yes
checking for setrlimit... yes
checking for waitpid... yes
checking for strchr... yes
checking for strncasecmp... yes
checking for strdup... yes
checking for strerror... yes
checking for memcpy... yes
checking for readdir... yes
checking for getopt... yes
checking for getopt_long... yes
checking for uname... yes
checking for rand... yes
checking for random... yes
checking for drand48... yes
checking for lrand48... yes
checking for usleep... yes
checking for fpsetmask... yes
checking for nice... yes
checking for getaddrinfo... yes
checking for setlocale... yes
checking for alarm... yes
checking for ftime... no
checking for strtol... yes
checking for sysinfo... no
checking for memmove... yes
checking for strpbrk... yes
checking for IP Multicast support... yes
checking for pthread_create in -lpthread... yes
checking if standalone is enabled... no
checking if vrl is enabled... no
checking if vrel is enabled... no
checking if vred is enabled... no
checking if vmm is enabled... no
checking if vaps is enabled... no
checking if vjs is enabled... no
checking if vacs is enabled... no
checking for X... libraries , headers
checking for gethostbyname... (cached) yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for XOpenDisplay in -lX11... yes
checking for XmuClientWindow in -lXmu... yes
checking for X11/Xmu/WinUtil.h... yes
checking for X11/xpm.h... yes
checking for XpmReadFileToXpmImage in -lXpm... yes
checking for DGifOpenFileName in -lungif... no
checking for DGifOpenFileName in -lgif... yes
checking for jpeg_read_scanlines in -ljpeg... yes
checking for jpeglib.h... yes
checking for TIFFOpen in -ltiff... yes
checking for tiffio.h... yes
checking for png_error in -lpng... yes
checking for png.h... yes
checking for OpenMPEG in -lmpeg... no
        use embedded mpeg_lib
checking for curl_easy_init in -lcurl... yes
checking for curl/curl.h... yes
checking for FT_Library_Version in -lfreetype... yes
checking for freetype-config... no
./configure: --cflags: not found
./configure: --libs: not found
checking for glBegin in -lGL... yes
checking for GL/gl.h... yes
checking for gluPerspective in -lGLU... yes
checking for GL/glu.h... yes
checking for xml2-config... /usr/local/bin/xml2-config
checking for libxml/parser.h... yes
checking for libxml/tree.h... yes
checking for libxml/xmlreader.h... yes
checking for libxml/xpath.h... yes
checking for libxml/xpathInternals.h... yes
checking for xmlReaderForFile in -lxml2... yes
checking for wget... /usr/local/bin/wget
checking for curl... /usr/local/bin/curl
checking for perl... /usr/local/bin/perl
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bin/Makefile
config.status: creating bin/vre
config.status: creating etc/Makefile
config.status: creating man/Makefile
config.status: creating src/Makefile
config.status: creating src/base/Makefile
config.status: creating src/gui/Makefile
config.status: creating src/gui/xpm/Makefile
config.status: creating src/world/Makefile
config.status: creating src/net/Makefile
config.status: creating src/2d/Makefile
config.status: creating src/3d/Makefile
config.status: creating src/model/Makefile
config.status: creating src/tool/Makefile
config.status: creating src/vnc/Makefile
config.status: creating src/ai/Makefile
config.status: creating src/ubit/Makefile
config.status: creating src/ext/Makefile
config.status: creating src/ext/mpeg_lib/Makefile
config.status: creating src/ext/glui/Makefile
config.status: creating src/ext/ftgl/Makefile
config.status: creating src/ext/xmlParser/Makefile
config.status: creating src/ext/gl2ps/Makefile
config.status: creating src/ext/TinyGL/Makefile
config.status: creating src/utils/Makefile
config.status: creating src/utils/vrl/Makefile
config.status: creating src/utils/vrel/Makefile
config.status: creating src/utils/vred/Makefile
config.status: creating src/utils/misc/Makefile
config.status: creating src/servers/Makefile
config.status: creating src/servers/vacs/Makefile
config.status: creating src/servers/vaps/Makefile
config.status: creating src/servers/vrum/Makefile
config.status: creating src/servers/vjs/Makefile
config.status: creating src/servers/vjs/vjs
config.status: creating src/servers/vjs/base/Makefile
config.status: creating src/servers/vjs/base/fr/Makefile
config.status: creating src/servers/vjs/base/fr/enst/Makefile
config.status: creating src/servers/vjs/base/fr/enst/vreng/Makefile
config.status: creating src/servers/vjs/base/fr/enst/vreng/server/Makefile
config.status: creating src/servers/vjs/base/fr/enst/vreng/net/Makefile
config.status: creating src/servers/vjs/base/fr/enst/vreng/data/Makefile
config.status: creating src/servers/vjs/base/fr/enst/vreng/data/types/Makefile
config.status: creating src/servers/vjs/base/fr/enst/vreng/data/messages/Makefile
config.status: creating src/servers/vjs/app/Makefile
config.status: creating src/servers/vjs/app/fr/Makefile
config.status: creating src/servers/vjs/app/fr/enst/Makefile
config.status: creating src/servers/vjs/app/fr/enst/vreng/Makefile
config.status: creating src/servers/vjs/app/fr/enst/vreng/tester/Makefile
config.status: creating src/servers/vmm/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing src/ubit/ubit_features.h commands
config.status: creating src/ubit/ubit_features.h
config.status: src/ubit/ubit_features.h is unchanged

----------------------------------------------------
VREng-9.4.4 has been configured successfully!

Now type 'make' to build ./bin/vreng

'make install' to install it in /usr/local/bin/vreng.
----------------------------------------------------

Build fails:

% make
make  all-recursive
Making all in src
Making all in base
depbase=`echo txt2str.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; gcc -DHAVE_CONFIG_H -I. -I../..  -I../../src -I/usr/local/include/libxml2 -I../../src/ai -I../../src/base -I../../src/ubit -I../../src/gui -I../../src/world -I../../src/net -I../../src/2d -I../../src/model -I../../src/3d -I../../src/vnc -I../../src/tool    -I../../src -I/usr/local/include/libxml2 -MT txt2str.o -MD -MP -MF $depbase.Tpo -c -o txt2str.o txt2str.c && mv -f $depbase.Tpo $depbase.Po
gcc  -I../../src -I/usr/local/include/libxml2   -o txt2str txt2str.o  -lxml2 -L/usr/lib -lGLU -lGL  -L/usr/X11R6/lib -lICE -lSM -lXext -lXmu -lX11 -lfreetype  -lcurl  -lpng  -ltiff  -ljpeg  -lgif -lXpm -lpthread -L/usr/lib -ldl
depbase=`echo vreng.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; g++ -DHAVE_CONFIG_H -I. -I../..   -I../../src -I/usr/local/include/libxml2 -I../../src/ai -I../../src/base -I../../src/ubit -I../../src/gui -I../../src/world -I../../src/net -I../../src/2d -I../../src/model -I../../src/3d -I../../src/vnc -I../../src/tool   -g  -Wall -Wno-macro-redefined -Wno-deprecated -D_REENTRANT -MT vreng.o -MD -MP -MF $depbase.Tpo -c -o vreng.o vreng.cpp && mv -f $depbase.Tpo $depbase.Po
In file included from ../../src/ubit/ubit.hpp:23,
                 from ../../src/gui/gui.hpp:32,
                 from vreng.cpp:23:
../../src/ubit/uobject.hpp:150:82: error: ISO C++17 does not allow dynamic exception specifications
  150 |     virtual void error(const char* function_name, const char* format, ...) const throw (UError);
      |                                                                                  ^~~~~
../../src/ubit/uobject.hpp:159:84: error: ISO C++17 does not allow dynamic exception specifications
  159 |     virtual void warning(const char* function_name, const char* format, ...) const throw (UError);
      |                                                                                    ^~~~~
../../src/ubit/uobject.hpp: In member function 'virtual bool ubit::UObject::MetaClass::isInstance(ubit::UObject&) const':
../../src/ubit/uobject.hpp:117:82: warning: the compiler can assume that the address of 'obj' will never be NULL [-Waddress]
  117 |       virtual bool isInstance(UObject& obj) const {return dynamic_cast<UObject*>(&obj);}
      |                                                                                  ^~~~
../../src/ubit/uobject.hpp:117:40: note: 'obj' declared here
  117 |       virtual bool isInstance(UObject& obj) const {return dynamic_cast<UObject*>(&obj);}
      |                               ~~~~~~~~~^~~
In file included from ../../src/ubit/ubit.hpp:70:
../../src/ubit/uappli.hpp: At global scope:
../../src/ubit/uappli.hpp:118:28: error: ISO C++17 does not allow dynamic exception specifications
  118 |     static UAppli& appli() throw (UError);
      |                            ^~~~~
../../src/ubit/uappli.hpp:223:70: error: ISO C++17 does not allow dynamic exception specifications
  223 |     static void error(const char* funcname, const char* format, ...) throw(UError);
      |                                                                      ^~~~~
../../src/ubit/uappli.hpp:226:72: error: ISO C++17 does not allow dynamic exception specifications
  226 |     static void warning(const char* funcname, const char* format, ...) throw (UError);
      |                                                                        ^~~~~
../../src/ubit/uappli.hpp:229:75: error: ISO C++17 does not allow dynamic exception specifications
  229 |     static void fatalError(const char* funcname, const char* format, ...) throw (UError);
      |                                                                           ^~~~~
../../src/ubit/uappli.hpp:234:75: error: ISO C++17 does not allow dynamic exception specifications
  234 |                            const char* funcname, const char* format, ...) throw (UError);
      |                                                                           ^~~~~
../../src/ubit/uappli.hpp:251:79: error: ISO C++17 does not allow dynamic exception specifications
  251 |                            const char* funcname, const char* format, va_list) throw (UError);
      |                                                                               ^~~~~
../../src/ubit/uappli.hpp:394:73: error: ISO C++17 does not allow dynamic exception specifications
  394 |     static void internalError(const char* fun, const char* format, ...) throw (UError);
      |                                                                         ^~~~~
../../src/ubit/uappli.hpp:433:79: error: ISO C++17 does not allow dynamic exception specifications
  433 |     virtual void warning(const char* funcname, const char* format, ...) const throw (UError);
      |                                                                               ^~~~~
../../src/ubit/uappli.hpp:436:77: error: ISO C++17 does not allow dynamic exception specifications
  436 |     virtual void error(const char* funcname, const char* format, ...) const throw (UError);
      |                                                                             ^~~~~
../../src/ubit/uappli.hpp:440:55: error: ISO C++17 does not allow dynamic exception specifications
  440 |                        const char* format, ...) const throw (UError);
      |                                                       ^~~~~
../../src/ubit/uappli.hpp:445:81: error: ISO C++17 does not allow dynamic exception specifications
  445 |                                   const char* msg_end, const UChar* line) const throw (UError);
      |                                                                                 ^~~~~
../../src/ubit/uappli.hpp:449:64: error: ISO C++17 does not allow dynamic exception specifications
  449 |                             const char* format, va_list) const throw (UError);
      |                                                                ^~~~~
../../src/ubit/uappli.hpp:461:58: error: ISO C++17 does not allow dynamic exception specifications
  461 |     virtual void raiseError(int errnum, UStr* msg) const throw (UError);
      |                                                          ^~~~~
In file included from ../../src/ubit/ubit.hpp:78:
../../src/ubit/ugraph.hpp:63:24: error: ISO C++17 does not allow dynamic exception specifications
   63 |   UGraph(UPaintEvent&) throw (UError);
      |                        ^~~~~
../../src/ubit/ugraph.hpp:302:18: error: ISO C++17 does not allow dynamic exception specifications
  302 |   UGraph(UView*) throw (UError);
      |                  ^~~~~
cc1plus: note: unrecognized command-line option '-Wno-macro-redefined' may have been intended to silence earlier diagnostics
*** Error code 1

Stop.
make[3]: stopped in /XXX/vreng.git/src/base
*** Error code 1

Building VREng

I encountered two problems building VREng:

  • freetype2 include is in /usr/include/freetype2, I added that include to the generated Makefile by hand. It will need to be added to the automake files.
  • The final link failed to find some symbols (possible circular dependencies?). The following link command succeeded:
g++  -g \
     -Wall -fno-strict-aliasing -fpermissive -Wno-invalid-offsetof -Wno-address -Wno-deprecated -Wno-macro-redefined \
     -Wno-write-strings -Wno-unused-function -Wno-unused-variable -Wno-unknown-pragmas -Wno-infinite-recursion -Wno-c++11-extensions \
     -D_REENTRANT   -o vreng \
     ../src/base/vreng.o \
     -L../src/gui   ../src/gui/libgui.a \
     -L../src/world ../src/world/libworld.a \
     -L../src/model ../src/model/libmodel.a \
     -L../src/2d    ../src/2d/lib2d.a \
     -L../src/model ../src/model/teapot.o  ../src/model/car.o \
     -L../src/2d    ../src/2d/wheel.o \
     -L../src/3d    ../src/3d/lib3d.a \
     -L../src/net   ../src/net/libnet.a \
     -L../src/tool  ../src/tool/libtool.a \
     -L../src/vnc   ../src/vnc/libvnc.a \
     -lpthread  -L../src/base  ../src/base/libbase.a \
     -L../src/ubit  ../src/ubit/libubit.a  \
     -L../src/ext/mpeg_lib ../src/ext/mpeg_lib/libmpeg.a \
     -L../src/ext/xmlParser ../src/ext/xmlParser/libxmlparser.a \
     -L../src/ext/ftgl ../src/ext/ftgl/libftgl.a    \
     -L/usr/lib -lxml2 -lm -lnsl  \
     -L/usr/lib -lGLU -lGL  \
     -L/usr/lib -lXpm -lICE -lSM -lXext -lXmu -lX11 -lfreetype \
     -L/usr/lib -lcurl \
     -L/usr/lib -lpng \
     -L/usr/lib -ltiff \
     -L/usr/lib -ljpeg \
     -L/usr/lib -lgif -lXpm  -lm -lnsl

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.