не удалось получить эффект от измененного файла tcp.cc в NS2.35 (ubuntu-12.10)

Я изменил файл tcp.cc, а затем в терминале выполнил эти команды в каталоге /ns2.35.

./configure
make clean
make
make install

Но в «make install» я получаю следующую ошибку:

for d in /usr/local/man/man1; do \
        if [ ! -d $d ]; then \
            mkdir -p $d ;\
        fi;\
    done
/usr/bin/install -c -m 755 ns /usr/local/bin
/usr/bin/install -c -m 644 ns.1 /usr/local/man/man1

И я не получаю эффекта модифицированного tcp. пока я запускаю «какой терминал ns» показывает «/usr/local/bin/». и мой загруженный исходный код находится в /home/ns/... Подскажите, пожалуйста, как избавиться от этой проблемы... Спасибо


person nimesh    schedule 23.02.2014    source источник


Ответы (3)


Эти сообщения выглядят как совершенно законные инструкции, отданные make install для выполнения установки (make любит печатать журнал того, что он делает, чтобы облегчить отладку). Они не ошибаются, совсем нет. Действительно, /usr/bin/install -c -m 755 ns /usr/local/bin — это то, что копирует встроенную версию исполняемого двоичного файла (ns) в его целевое расположение (/usr/local/bin), чтобы его мог запустить любой пользователь системы.

Что бы ни пошло не так, во всяком случае, это определенно не то, о чем вы нам подробно рассказали. (Если он не устанавливается, наиболее вероятной причиной проблемы является неспособность сначала повысить ваши разрешения: часто вам нужно sudo make install вместо простого make install…)

person Donal Fellows    schedule 23.02.2014
comment
Спасибо, я запускаю все команды в корне. ns2.35 успешно установлен и дает правильные результаты при запуске tcl-скриптов. Но после модификации файла tcp.cc изменения не отражаются. - person nimesh; 24.02.2014
comment
@nimesh Умм, да. Установка делает копию… - person Donal Fellows; 24.02.2014

Простое решение состоит в том, чтобы после модификации tcp.cc выполнить следующую команду в каталоге /ns2.35/

./configure
make clean
make
make install

Однако я получаю сообщение об ошибке, но я игнорирую его. Затем для запуска любых дальнейших tcl-скриптов мне нужно перейти в каталог ~/ns2.35/, и я получаю эффект измененного tcp.cc.

person nimesh    schedule 24.02.2014

Да, вы получите ошибку файла при запуске make install, поскольку вы работаете как пользователь, и разрешение будет отклонено

Просто запустите «sudo make install».

Теперь все изменения коснутся всех файлов.

person SAI SUMANTH    schedule 28.02.2019