Can you remind me how to compile please ? (and questions before getting started)


#21

Well, before i was compiling without IDE because i like to keep things simple. i like to know what i’m doing so if there is a problem, i can actually fix it ^^; i don’t know either what’s wrong here.
i tryed to build it with the WIN32 option but i had the same errors trying to compile the generic project, i kinda overlook the cmake for the generic projet, i didn’t do it again because if it was set to 32 instead of 64 it should have work fine i think. i’m thinking about erasing everything and redo it again but it’s getting confusing again. maybe i should use 2 urho3D directory, one for 32, one for 64, adding the 2 in my environment and try again, dunno. lol

You tell me to not overlook things, when i use cmake . to compile urho3D i have quite a lot of warning, do i really need those to compile urho3D ?

– Could NOT find Readline development library (missing: READLINE_LIBRARIES READLINE_INCLUDE_DIRS)
– Could NOT find OSS development library (missing: OSS_LIBRARIES)
– Could NOT find Jack Audio Connection Kit development library (missing: JACK_LIBRARIES JACK_INCLUDE_DIRS)
– Could NOT find PulseAudio development library (missing: PULSEAUDIO_LIBRARIES PULSEAUDIO_INCLUDE_DIRS)
– Could NOT find Esound development library (missing: ESOUND_LIBRARIES ESOUND_INCLUDE_DIRS) – Could NOT find Readline development library (missing: READLINE_LIBRARIES READLINE_INCLUDE_DIRS)
– Could NOT find OSS development library (missing: OSS_LIBRARIES)
– Could NOT find Jack Audio Connection Kit development library (missing: JACK_LIBRARIES JACK_INCLUDE_DIRS)
– Could NOT find PulseAudio development library (missing: PULSEAUDIO_LIBRARIES PULSEAUDIO_INCLUDE_DIRS)
– Could NOT find Esound development library (missing: ESOUND_LIBRARIES ESOUND_INCLUDE_DIRS)
– Could NOT find aRts development library (missing: ARTS_LIBRARIES ARTS_INCLUDE_DIRS)
– Could NOT find NetworkAudioSystem development library (missing: NAS_LIBRARIES NAS_INCLUDE_DIRS)
– Could NOT find RoarAudio development library (missing: SNDIO_LIBRARIES SNDIO_INCLUDE_DIRS)
– Could NOT find FusionSound development library (missing: FUSIONSOUND_LIBRARIES FUSIONSOUND_INCLUDE_DIRS) (Required is at least version “1.0.0”)
– Could NOT find Secret Rabbit Code (aka libsamplerate) development library (missing: SECRETRABBITCODE_LIBRARIES SECRETRABBITCODE_INCLUDE_DIRS)
– Could NOT find Wayland display server (missing: WAYLAND_CLIENT WAYLAND_SCANNER WAYLAND_CURSOR WAYLAND_EGL XKB WAYLAND_INCLUDE_DIRS WAYLAND_CORE_PROTOCOL_DIR WAYLAND_PROTOCOLS_DIR)
– Could NOT find Direct Generic Buffer Ma-- Could NOT find Readline development library (missing: READLINE_LIBRARIES READLINE_INCLUDE_DIRS)
– Could NOT find OSS development library (missing: OSS_LIBRARIES)
– Could NOT find Jack Audio Connection Kit development library (missing: JACK_LIBRARIES JACK_INCLUDE_DIRS)
– Could NOT find PulseAudio development library (missing: PULSEAUDIO_LIBRARIES PULSEAUDIO_INCLUDE_DIRS)
– Could NOT find Esound development library (missing: ESOUND_LIBRARIES ESOUND_INCLUDE_DIRS)
– Could NOT find aRts development library (missing: ARTS_LIBRARIES ARTS_INCLUDE_DIRS)
– Could NOT find NetworkAudioSystem development library (missing: NAS_LIBRARIES NAS_INCLUDE_DIRS)
– Could NOT find RoarAudio development library (missing: SNDIO_LIBRARIES SNDIO_INCLUDE_DIRS)
– Could NOT find FusionSound development library (missing: FUSIONSOUND_LIBRARIES FUSIONSOUND_INCLUDE_DIRS) (Required is at least version “1.0.0”)
– Could NOT find Secret Rabbit Code (aka libsamplerate) development library (missing: SECRETRABBITCODE_LIBRARIES SECRETRABBITCODE_INCLUDE_DIRS)
– Could NOT find Wayland display server (missing: WAYLAND_CLIENT WAYLAND_SCANNER WAYLAND_CURSOR WAYLAND_EGL XKB WAYLAND_INCLUDE_DIRS WAYLAND_CORE_PROTOCOL_DIR WAYLAND_PROTOCOLS_DIR)
– Could NOT find Direct Generic Buffer Management development library (missing: GBM_LIBRARIES GBM_INCLUDE_DIRS)
– Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)nagement development library (missing: GBM_LIBRARIES GBM_INCLUDE_DIRS)
– Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
– Could NOT find aRts development library (missing: ARTS_LIBRARIES ARTS_INCLUDE_DIRS)
– Could NOT find NetworkAudioSystem development library (missing: NAS_LIBRARIES NAS_INCLUDE_DIRS)
– Could NOT find RoarAudio development library (missing: SNDIO_LIBRARIES SNDIO_INCLUDE_DIRS)
– Could NOT find FusionSound development library (missing: FUSIONSOUND_LIBRARIES FUSIONSOUND_INCLUDE_DIRS) (Required is at least version “1.0.0”)
– Could NOT find Secret Rabbit Code (aka libsamplerate) development library (missing: SECRETRABBITCODE_LIBRARIES SECRETRABBITCODE_INCLUDE_DIRS)
– Could NOT find Wayland display server (missing: WAYLAND_CLIENT WAYLAND_SCANNER WAYLAND_CURSOR WAYLAND_EGL XKB WAYLAND_INCLUDE_DIRS WAYLAND_CORE_PROTOCOL_DIR WAYLAND_PROTOCOLS_DIR)
– Could NOT find Direct Generic Buffer Management development library (missing: GBM_LIBRARIES GBM_INCLUDE_DIRS)
– Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

you also told me about the master branch too for the other networking library, i’m using the release 1.7, is it knet or the other with it ?
is there something i should use to have everything up to date ? im not familiar with those things, maybe it could help me fix the problem.

@Leith yes, i guess i have tara since i installed recently and it’s up to date. thx for the help with codeblock but i better check this problem well, im going for a long project and if i can’t even compile manually or don’t know why, i’m sure it will be a problem later for me…


#22

The urhosharp team used 1.7 and have a set make scripts that work on nearly any windows platform, or all of them. They didn’t do well with networking though.


#23

Have you read the online docs. https://urho3d.github.io/documentation/1.7/_building.html? Those output lines you posted above were coming from SDL (and not from Urho specifically). Also why some of the lines keep repeating? Have you modified the build scripts? If you read the doc then you should know that it is ok to build without the non-essential software deps. But for those essential deps, you need to have one chosen and installed. For example for the sound server (essential), you may want to take care the missing PulseAudio, since it does not seem you have others installed. For display server (essential), if you already have X then you can ignore the missing Wayland. Note that SDL supports multiple sound and display servers. But for starter, just go with common combination: PulseAudio + X.

CMake supports out-of-source build. What it means is that you can have only one project source tree and in theory limitless count of project build trees. You can instruct CMake, either using CMake-GUI, or CLI, or through our helper script or via rake to generate the build tree in an alternative path instead of the default path (specified in the our build script). One build tree for each build config. Never mixing a same build tree for different build config. You will be asking for trouble, if you do.

You will have to decide for your own whether to use release 1.7 or (unreleased) master version for your own project. As any open source projects, master branch may not be stable at time and need help from its users to send PR for bug fixes. Using release tag is stable, in the sense that the code is frozen (with all the bugs baked in too). We also do not provide any back porting fixes.


#24

Yes i read a bit of the doc but it compiled fine with build-essential and a few other packages so i didn’t really paid attention. No i didn’t modified the build scripts, i wouldn’t know how lol
I will go through this more seriously and redo everything again, i’m just surprised it didn’t went like on ubuntu years ago. I switched to linux mint because i was able to have sound on this one… >< and i like the interface better.

About which branch i want to use, i think i better use the unreleased version, at least until 1.8 come out i think. At first, i will spend lot of time with network programming so it will be more a c++ console application than something else. I just know that it will be easier to add graphic and sound later with Urho3D. My project is a bit ambitious but it’s also kind of minimalist, i won’t need physic for example.

How do i set up my environment for that ?


#25

If you plan to use master branch then you may want to try our latest build mechanism using Docker Build Environment (or DBE for short). Check it out. Read the new segment of the docs in the HEAD version of the online doc. The DBE frees you from having to prepare your host/build machine entirely, not even the “build-essential” is required. The only prerequisite is “Docker-CE” must be installed first.

To build Urho3D lib, from Urho3D project root:

$ script/dockerized.sh native

By default the build tree is generated using rake tasks internally as before, however now it happens inside a docker container. The build tree path by default is “/path/to/Urho3D-project-root/build/native” in your host machine, so it is the same as conventional build. Set the URHO3D_HOME env-var to point to this path and export it. Again, same as before.

To scaffolding new project:

$ script/dockerized.sh native rake scaffolding dir=/path/to/your-project-root

The only caveat is that this path must be accessible by the docker container.

To build your newly scaffolded project, go to your project root:

$ script/dockerized.sh native

You can also set the env-var on the fly, like so:

$ URHO3D_HOME=“/path/to/Urho3D-project-root/build/native” URHO3D_other-build-option=.... script/dockerized.sh native

Good luck.


#26

I am happy to step you through building urho using cmake-gui if you would like another option - and yes I recommend using the latest version, on git, not the link to 1.7 on the home page


#27

thx, everything worked fine.
i compiled urho3D-master and the generic project that was “scaffolded”

Read the new segment of the docs in the HEAD version of the online doc.

WHAT DOESN’T WORK:

  • Networking. Javascript can only use http and websockets protocols and at the moment it’s not supported.

what about SlikeNet ? could you give me more info about it ?

@Leith actually i don’t use tara, tara is mint 19 and i use tessa that is mint 19.1
i saw it following the tutorial to install docker.
https://agipme.fr/2018/10/installation-de-docker-sur-linux-mint-19.html

i will try to get familiar with the engine as it is, thx a lot for all your help.


#28

I am not the maintainer for the networking subsystem, but I don’t think SlikeNet integration in master branch has brought any changes on networking for Web build. Contribution is welcome.


#29

ok thx, i will check it anyway.


#30

Networking for web platforms are not supported at the moment. We had some discussions how to implement it with the current networking library to fully support cross-platform functionality, but so far I haven’t yet tried to actually achieve that.


#31

Actually, i’m not really interested in web platform, javascript or the kind, i saw “what doesn’t work : networking” so i asked, but i really don’t know about portability whatsoever. I know it will be a problem to me but i better try to do something instead of caring about it now.

Already i saw that SLikeNet in Urho3D uses UDP and i didn’t see anything about TCP so i will try to implement things like that but i’m still a beginner anyway, i will see how it goes.


#32

AFAIK SlikeNet is the new version of RakNet, which is totally about UDP, so we have this other thing called CivetWeb, which can do basic http stuff, but not https - I could be wrong, I have not yet turned my hand to networking on this engine

EDIT - theres some mention of https in the civetweb master branch


#33

SLikeNet also has a TCP support.


#34

@Leith @Miegamicis
Yes, i knew it was RakNet, there was also TCP support with it before but even if SLikeNet support it, i didn’t see it implemented in urho3D so i will check the engine.
I suppose SLikeNet is in the libs used to compile urho3D so the TCP classes should be accessible there, or should i recompile and use SlikeNet as an external lib ? i also need to check the doc to do urho3D objects…

For now, i just compiled my main.cpp test, one thing at a time. ^^


#35

I’ve been asking all kinds of “stupid” questions for the past couple of weeks, and learned a lot by doing so. I have no idea if SlikeNet’s TCP stuff is exposed to Urho or not, it’s a fairly recent addition so I would not be shocked to find the current implementation is half-baked. If that is the case, I’m happy to help with anything network-related, and will gladly assist in creating a solution, providing of course that you’re happy to share such a solution back to the community, and see it appear in the next public release.


#36

All the features of the SLikeNet can be easily “opened” to Urho3D engine by changing the CMake file for the library:

These flags cover all of the SLikeNet features, most of them are disabled at the moment because the engine is not using them. Feel free to change that if needed. As I see, _RAKNET_SUPPORT_TCPInterface=0 is disabled at the moment, but I did get it to work when I was doing the implementation and testing out different capabilities.


#37

Thanks, TCP is the backbone of a lot of my networked games, it provides the pipe to talk to the web backend scripts, typically php interface to sql - I can’t do without a pipe, and plain http is becoming almost extinct in the face of https and ssl certification … noteworthy that my university dropped teaching web backend tech in the year after I finished my degree, apparently now they teach game dev, but provide no strong foundation. It makes me sad that those who come behind me will know less and be of less value, but spend the same time and money for the same degree.
I guess what I am pointing out is that it is a lot cheaper and faster to set up a webserver and database and write the interface scripts, than to write a custom server on a custom protocol and find an affordable rackserver host to run the server.