philippedax / vreng Goto Github PK
View Code? Open in Web Editor NEWVirtual Reality Engine - Interactive 3D Navigator over the Internet
License: Other
Virtual Reality Engine - Interactive 3D Navigator over the Internet
License: Other
Please tell me if you find bugs
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
I encountered two problems building VREng:
/usr/include/freetype2
, I added that include to the generated Makefile by hand. It will need to be added to the automake files.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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.