Я установил симулятор wsnet около месяца назад, и все было в порядке (у меня была проблема). Теперь я удалил wsnet (sudo rm -r /usr/local/wsnet.2) Я хочу установить его снова, и я следую инструкциям по установке на этой веб-странице. на шаге 3, когда я использую команду make, я получаю эту ошибку:
rng.c: In function ‘create_rng’:
rng.c:164:14: error: variable ‘r’ set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors
make[3]: *** [wsnet-rng.o] Error 1
make[3]: Leaving directory `/home/administrator/wsnet/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/administrator/wsnet/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/administrator/wsnet'
make: *** [all] Error 2
Из-за этой ошибки я отключил (очистить) флаг Werror в файлах configure.ac и снова набрал команду «make». С помощью этого взлома он работает, и процесс «make» заканчивается без ошибок. или я использую gcc.4.4.7, и он компилирует код без предупреждения. Затем я набираю еще одну команду «sudo make install» и устанавливает wsnet в ее местоположении. СЕЙЧАС, когда я запускаю все файлы конфигурации для моделирования, такие как cbr.xml xy.xml и т. Д. Я получаю эту ошибку:
...
Entity 'battery' (9)
using model : energy_linear
using plugin : /usr/local/wsnet-2.0/lib//libenergy_linear.so
author : Guillaume Chelius
version : 0.1
description : Linearly decreasing battery
Environment
using propagation : range
propagation range : 30.000000
using interferences : interf
modulation : none
Bundle 'sensor' (0)
worldsens : 0
mobility : static
number of entities : 7
static
battery
omnidirectionnal
up : radio
radio
up : mac
down: omnidirectionnal
mac
up : routing
down: radio
routing
up : cbr
down: mac
cbr
down: routing
***Segmentation fault (core dumped)***
Я думаю, что эта ошибка возникает после обновления моей ОС (Ubuntu) с помощью диспетчера обновлений. Например, gcc-компилятор в этой версии получает warring как ошибку. когда я запускаю эту программу с помощью gdb, я получаю эту обратную трассировку:
Program received signal SIGSEGV, Segmentation fault.
0xb7ee2e5e in gsl_ran_flat () from /usr/lib/libgsl.so.0
(gdb) bt
#0 0xb7ee2e5e in gsl_ran_flat () from /usr/lib/libgsl.so.0
#1 0x080504c9 in uniform ()
#2 0x0804fd0d in get_random_x_position ()
#3 0xb78e07dc in setnode ()
from /usr/local/wsnet-2.0/lib//libmobility_static.so
#4 0x08054d9c in parse_nodes ()
#5 0x0804e938 in do_configuration ()
#6 0x0804d827 in main ()
Я откатываюсь назад до начальной версии библиотеки gsl, gcc (4.4.7), но это не решает мою проблему.