Fatal error after build

Salut,

After following these instructions

How to Build Jami Easily and Quickly (no cross compile)

We use a GIT repository to manage sources. On shell based platform you can fetch your private copy using following command:

git clone https://review.jami.net/ring-project

Jami installer uses python3 . If it’s not installed, please install it:

cd ring-project/
./make-ring.py --init

On GNU/Linux

Build and install all the dependencies : Your distro package manager will be used.

./make-ring.py --dependencies

Build and install locally

./make-ring.py --install

The build finally failed on Ubuntu 18.04 with the following errors below

string_utils.cpp:31:10: fatal error: charconv: No such file or directory
#include
^~~~~~~~~~
compilation terminated.
CXX libring_la-smartools.lo
Makefile:906: recipe for target ‘libring_la-string_utils.lo’ failed
make[3]: *** [libring_la-string_utils.lo] Error 1
make[3]: *** Waiting for unfinished jobs…
fileutils.cpp: In function ‘std::vector<std::__cxx11::basic_string > jami::fileutils::readDirectory(const string&)’:
fileutils.cpp:513:72: warning: ‘int readdir_r(DIR*, dirent*, dirent**)’ is deprecated [-Wdeprecated-declarations]
while (!readdir_r(dp, reinterpret_cast<dirent*>(buf.data()), &entry) && entry) {
^
In file included from /usr/include/features.h:424:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533,
from /usr/include/c++/7/cstdint:38,
from /usr/include/c++/7/cinttypes:38,
from logger.h:25,
from fileutils.cpp:27:
/usr/include/dirent.h:189:12: note: declared here
extern int __REDIRECT (readdir_r,
^
fileutils.cpp: In function ‘bool jami::fileutils::eraseFile_posix(const string&, bool)’:
fileutils.cpp:908:18: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
write(fd, buffer, ERASE_BLOCK);
~^~~~~~~~~~~~~~~~~~~~~
make[3]: *** wait: No child processes. Stop.
Makefile:998: recipe for target ‘all-recursive’ failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory ‘/ring-project/daemon/src’
Makefile:531: recipe for target ‘all-recursive’ failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory ‘/ring-project/daemon’
Makefile:462: recipe for target ‘all’ failed
make: *** [all] Error 2
Traceback (most recent call last):
File “./make-ring.py”, line 592, in
main()
File “./make-ring.py”, line 579, in main
run_install(parsed_args)
File “./make-ring.py”, line 360, in run_install
return subprocess.run(["./scripts/install.sh"] + install_args, env=environ, check=True)
File “/usr/lib/python3.6/subprocess.py”, line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command ‘[’./scripts/install.sh’, ‘-p’, ‘20’, ‘-c’, ‘client-gnome’]’ returned non-zero exit status 2.
root@jam1:/ring-project# ./make-ring.py --run
Killing processes…
Traceback (most recent call last):
File “./make-ring.py”, line 592, in
main()
File “./make-ring.py”, line 585, in main
run_run(parsed_args)
File “./make-ring.py”, line 387, in run_run
stderr=dring_log
File “/usr/lib/python3.6/subprocess.py”, line 729, in init
restore_signals, start_new_session)
File “/usr/lib/python3.6/subprocess.py”, line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: ‘./install/daemon/lib/ring/dring’: ‘./install/daemon/lib/ring/dring’

Can you try to install g++8?
It should solve this problem.

1 Like

Salut Guillaume,

After your suggestion, it seemsto have still failed. Not quite sure. \these are the last lines after build.

/ring-project/daemon/contrib/x86_64-linux-gnu/include/pj/assert.h:66:9: note: in definition of macro ‘PJ_ASSERT_RETURN’
if (!(expr)) { pj_assert(expr); return retval; }
^~~~
…/src/pjnath/ice_strans.c:572:39: error: ‘pj_stun_sock_cfg {aka struct pj_stun_sock_cfg}’ has no member named ‘user_mapping’
pj_sockaddr *laddr = &nat_cfg->cfg.user_mapping[comp_idx].local_addr;
^
…/src/pjnath/ice_strans.c:573:39: error: ‘pj_stun_sock_cfg {aka struct pj_stun_sock_cfg}’ has no member named ‘user_mapping’
pj_sockaddr *maddr = &nat_cfg->cfg.user_mapping[comp_idx].mapped_addr;
^
…/src/pjnath/ice_strans.c: In function ‘create_comp’:
…/src/pjnath/ice_strans.c:994:43: error: ‘pj_stun_sock_cfg {aka struct pj_stun_sock_cfg}’ has no member named ‘user_mapping_cnt’
if (ice_st->cfg.stun_tp[i].cfg.user_mapping_cnt > 0) {
^
/ring-project/daemon/contrib/native/pjproject/build/rules.mak:163: recipe for target ‘output/pjnath-x86_64-pc-linux-gnu/ice_strans.o’ failed
make[3]: *** [output/pjnath-x86_64-pc-linux-gnu/ice_strans.o] Error 1
make[3]: Leaving directory ‘/ring-project/daemon/contrib/native/pjproject/pjnath/build’
Makefile:119: recipe for target ‘libpjnath-x86_64-pc-linux-gnu.a’ failed
make[2]: *** [libpjnath-x86_64-pc-linux-gnu.a] Error 2
make[2]: Leaving directory ‘/ring-project/daemon/contrib/native/pjproject/pjnath/build’
Makefile:14: recipe for target ‘all’ failed
make[1]: *** [all] Error 1
make[1]: Leaving directory ‘/ring-project/daemon/contrib/native/pjproject’
…/…/contrib/src/pjproject/rules.mak:72: recipe for target ‘.pjproject’ failed
make: *** [.pjproject] Error 2
Traceback (most recent call last):
File “./make-ring.py”, line 592, in
main()
File “./make-ring.py”, line 579, in main
run_install(parsed_args)
File “./make-ring.py”, line 360, in run_install
return subprocess.run(["./scripts/install.sh"] + install_args, env=environ, check=True)
File “/usr/lib/python3.6/subprocess.py”, line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command ‘[’./scripts/install.sh’, ‘-p’, ‘20’, ‘-c’, ‘client-gnome’]’ returned non-zero exit status 2.
jam1@jam1:/ring-project$

When you try and run, these errors follow

jam1@jam1:/ring-project$ sudo ./make-ring.py --run
Killing processes…
Traceback (most recent call last):
File “./make-ring.py”, line 592, in
main()
File “./make-ring.py”, line 585, in main
run_run(parsed_args)
File “./make-ring.py”, line 387, in run_run
stderr=dring_log
File “/usr/lib/python3.6/subprocess.py”, line 729, in init
restore_signals, start_new_session)
File “/usr/lib/python3.6/subprocess.py”, line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: ‘./install/daemon/lib/ring/dring’: ‘./install/daemon/lib/ring/dring’

you’re not up to date in the contrib directory. There was no patches since your build

you can neither “git clean -ixfdd” in daemon an rerun ./make-ring,py --install or rebuild the pjproject (in daemon/contrib/native, run "rm .pjproject pjproject …/x86_64-redhat-linux/include/pj* …/x86_64-redhat-linux/lib/libpj* -rf && make -j .pjproject && cd …/…/ && make -j ")

sure if it’s not build you cannot launch it

Bon,

I tried as suggested once again from sblin. No go… I give up!

I reinstalled this time Ubunto 20.04 and started from scratch and have same error

the setup instructions seems pretty simple

Build and install all the dependencies : Your distro package manager will be used.

./make-ring.py --dependencies

Build and install locally

./make-ring.py --install

Run LibRing (daemon) and client that were installed locally

./make-ring.py --run

You can then stop the processes with CTRL-C . You can also run them in the background with the --background argument and then use the --stop command to stop them. Use Stdout and stderr to go to daemon.log and client-gnome.log.

Install globally for all users instead

./make-ring.py --install --global-install

Following those simple steps, it wont install. Either im missing something obvious in the steps provided or there are requirements/dependencies missing that are not indictaed in installation instructions or im just plain dumb. (the ladder quite possible) :stuck_out_tongue:

Im more than happy to provide access if someone wishs to take a quick look. PM me