3 āĻļā§āĻ°ā§ āĻāĻ°āĻž
3.1āĨ¤ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
3.2 āĻĒā§āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤
3.2.1 āĻā§āĻ¸ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻšāĻŋāĻ¸ā§āĻŦā§ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻā§āĻā§
3.3 āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ns-3 āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻā§āĻā§
3.3.1 āĻŦā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ns-3 āĻ˛ā§āĻĄ āĻšāĻā§āĻā§
3.4 āĻ¸āĻŽāĻžāĻŦā§āĻļ ns-3
3.4.1 build.py āĻ¸āĻš āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ
3.4.2 āĻŦā§āĻ āĻ¸āĻš āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ
3.4.3 āĻāĻ¯āĻŧāĻžāĻĢ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
3.5 āĻā§āĻ¸ā§āĻāĻŋāĻ ns-3
3.6 āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§
3.6.1 āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ
3.6.2 āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ
3.6.3 āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ
āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ 3
āĻļā§āĻ°ā§ āĻšāĻā§āĻā§
āĻāĻ āĻ āĻ§ā§āĻ¯āĻžāĻ¯āĻŧāĻāĻŋ āĻĒāĻžāĻ āĻāĻā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ā§ āĻ¯āĻž ns-3 āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨āĻŋāĨ¤ āĻāĻāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽāĻā§āĻ˛āĻŋ, āĻĒā§āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤āĻā§āĻ˛āĻŋ, āĻā§āĻāĻžāĻŦā§ ns-3 āĻĒā§āĻ¤ā§ āĻšāĻ¯āĻŧ, āĻā§āĻāĻžāĻŦā§ ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻā§āĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻŦāĻ āĻ¸āĻšāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻāĻāĻžāĻ° āĻāĻ°ā§āĨ¤
3.1āĨ¤ āĻ¸āĻāĻā§āĻˇāĻŋāĻĒā§āĻ¤ āĻŦāĻŋāĻŦāĻ°āĻŖ
ns-3 āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻāĻ°āĻāĻŋ āĻ¸āĻšāĻ¯ā§āĻāĻŋāĻ¤āĻžāĻŽā§āĻ˛āĻ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸āĻŽāĻžāĻŦā§āĻļā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻā§āĻĄ āĻāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻĨāĻžāĻā§āĨ¤ C++ āĻŦāĻž āĻĒāĻžāĻāĻĨāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻāĻžāĻˇāĻž āĻāĻžāĻ¸ā§āĻāĻŽ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ˛āĻŋāĻāĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
Ns-3 āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻāĻāĻŋ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§āĨ¤ āĻ¨ā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, ns-3 āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻāĻžāĻŦā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻžāĻ˛ āĻ āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻ¸āĻ˛ā§ ns-3 āĻ¨āĻŋāĻā§āĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°ā§ āĻ¤āĻžāĻĻā§āĻ° āĻāĻžāĻ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĨāĻžāĻāĻž āĻĻāĻ°āĻāĻžāĻ°ā§āĨ¤ āĻā§āĻ āĻ¯āĻĻāĻŋ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻžāĻāĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻāĻžāĻ¨, āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻŽā§āĻāĻ˛āĻŋāĻ āĻ˛āĻŋāĻ¸ā§āĻā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ ns-āĻĄā§āĻā§āĻ˛āĻĒāĻžāĻ°āĻ°āĻž.
āĻāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž ns-3 āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻŦāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻāĻĒāĻžāĻ¯āĻŧ āĻĻā§āĻāĻŦāĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻāĻŋ āĻšāĻ˛ āĻŽā§āĻ˛ āĻ¸āĻžāĻāĻ āĻĨā§āĻā§ āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻ˛āĻŋāĻ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻŦāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻšāĻ˛ āĻŽā§āĻ˛āĻŋāĻ ns-3 āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻŦāĻ āĻ¸āĻŽāĻžāĻŦā§āĻļāĨ¤ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻšāĻ˛ ns-3 āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°āĻ āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŦāĻŋāĻ˛ā§āĻĄ āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĨ¤ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦ āĻ¯ā§āĻšā§āĻ¤ā§ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻŋāĻā§āĻāĻž āĻāĻ˛āĻžāĻĻāĻžāĨ¤
āĻ āĻāĻŋāĻā§āĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻāĻžāĻŦāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻŽāĻ¤ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ ns-3 āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž? āĻ¯āĻĻāĻŋāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ (āĻ¯ā§āĻŽāĻ¨ āĻĄā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨), āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°ā§ āĻāĻŦāĻ ns-3 āĻ¨āĻŋāĻā§āĻ°āĻžāĻ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻĨāĻžāĻāĻž āĻ¸āĻšāĻāĨ¤ āĻāĻ āĻāĻžāĻ°āĻŖā§, āĻāĻŽāĻ°āĻž āĻāĻ¤ā§āĻ¸ āĻĨā§āĻā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻĒāĻ° āĻĢā§āĻāĻžāĻ¸ āĻāĻ°āĻŦāĨ¤
āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ ns-3 āĻ āĻ§āĻŋāĻāĻžāĻ° āĻļāĻŋāĻāĻĄāĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ, āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŦāĻŋāĻšā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
3.2 āĻĒā§āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤
āĻāĻĒāĻ˛āĻŦā§āĻ§ ns-3 āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¸ā§āĻā§āĻ° āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ-āĻĒāĻā§āĻˇā§āĻ° āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻĒāĻ° āĻ
āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻŦā§ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ
āĻāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ (āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻāĻžāĻŦā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž) āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§: āĻāĻāĻāĻŋ C++ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°, āĻĒāĻžāĻāĻĨāĻ¨, āĻāĻāĻāĻŋ āĻā§āĻ¸ āĻā§āĻĄ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¤ā§āĻ, Emacs āĻŦāĻž āĻ
āĻ¨ā§āĻ§āĻāĻžāĻ°) āĻāĻŦāĻ, āĻ¯āĻĻāĻŋ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŋāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĨ¤ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻĒā§āĻ°āĻĨāĻŽāĻŦāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻāĻŋāĻā§ ns-3 āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ
āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻā§ āĻ¤āĻŦā§ āĻ¯āĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻāĻžāĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¯āĻžāĻ¤ā§ āĻĒā§āĻ°āĻā§āĻ° āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻŋāĻĒāĻ¸ āĻāĻŦāĻ āĻā§āĻļāĻ˛ āĻ¸āĻš āĻĒā§āĻˇā§āĻ āĻžāĻā§āĻ˛āĻŋ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĨāĻžāĻā§āĨ¤ āĻāĻ°āĻāĻŽ āĻāĻāĻāĻŋ āĻĒā§āĻˇā§āĻ āĻž āĻšāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻĒā§āĻˇā§āĻ āĻž, āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻ¸āĻš, āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§:
āĻāĻ āĻāĻāĻāĻŋāĻ° āĻĒā§āĻ°ā§āĻŦāĻļāĻ°ā§āĻ¤ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°ā§ āĻ¯ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ ns-3 āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŦāĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻŦāĻž macOS-āĻāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĢā§āĻ˛ā§āĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋāĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤
āĻāĻĒāĻ¨āĻŋ ns-3 āĻāĻāĻāĻŋ āĻĒā§āĻˇā§āĻ āĻž āĻŦāĻž āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻ¯āĻŧā§āĻŦāĻ¸āĻžāĻāĻ āĻ
āĻ¨ā§āĻŦā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ¸ā§āĻ¯ā§āĻā§āĻ° āĻ¸āĻĻā§āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻā§āĻ˛ āĻĒā§āĻ¯āĻžāĻā§āĻ/āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ
- C++ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°
āĻā§āĻ˛ā§āĻ¯āĻžāĻ++ āĻŦāĻž āĻāĻŋ++ (āĻāĻŋ++ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 4.9 āĻŦāĻž āĻāĻā§āĻāĻ¤āĻ°) - āĻĒāĻžāĻāĻĨāĻ¨
python2 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ >= 2.7.10, āĻ āĻĨāĻŦāĻž python3 āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ >=3.4 - git
āĻ¯ā§āĻā§āĻ¨ā§ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ (GitLab.com āĻ ns-3 āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§) - āĻāĻ˛āĻāĻžāĻ¤āĻ°āĻž
āĻ¯ā§āĻā§āĻ¨ā§ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ (āĻāĻ¨āĻāĻ¸-ā§Š āĻ°āĻŋāĻ˛āĻŋāĻ āĻāĻ¨āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯) - bunzip2
āĻ¯ā§āĻā§āĻ¨ā§ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ (NS-3 āĻ°āĻŋāĻ˛āĻŋāĻ āĻāĻ¨āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯)
āĻĒāĻžāĻāĻĨāĻ¨ā§āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§, āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨ python -V
. āĻāĻŋ++ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§, āĻāĻžāĻāĻĒ āĻāĻ°ā§āĻ¨ g++ -v
. āĻ¯āĻĻāĻŋ āĻā§āĻ¨ā§ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻ
āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻŦāĻž āĻā§āĻŦ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ, āĻ
āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ ns-3 āĻāĻāĻāĻŋ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻāĻžāĻāĻĄ āĻĒāĻĄāĻŧā§āĻ¨āĨ¤
āĻāĻāĻ¨ āĻĨā§āĻā§, āĻāĻŽāĻ°āĻž āĻ āĻ¨ā§āĻŽāĻžāĻ¨ āĻāĻ°āĻŋ āĻ¯ā§ āĻĒāĻžāĻ āĻ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸, āĻŽā§āĻ¯āĻžāĻāĻāĻāĻ¸ āĻŦāĻž āĻāĻāĻāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻāĻžāĻ˛āĻžāĻā§āĻā§āĻ¨ āĻāĻŦāĻ āĻāĻŽāĻĒāĻā§āĻˇā§ āĻāĻĒāĻ°ā§āĻ° āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻ°āĻ¯āĻŧā§āĻā§ā§ˇ
3.2.1 āĻā§āĻ¸ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻšāĻŋāĻ¸ā§āĻŦā§ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻ¯āĻž ns-3 āĻāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻŦāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¯āĻŧāĨ¤ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻ āĻāĻŽā§āĻĒā§āĻ°ā§āĻ¸āĻĄ āĻ¸ā§āĻ°ā§āĻ¸ āĻāĻ°ā§āĻāĻžāĻāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛. āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¯āĻžāĻ¤ā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻāĻāĻ¸āĻžāĻĨā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻāĻā§āĻāĻŋāĻ¤ āĻšāĻ¯āĻŧ. ns-3 āĻŦā§āĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛ āĻ¸āĻšāĻ, āĻāĻĒāĻ¨āĻžāĻā§ āĻļā§āĻ§ā§ āĻāĻāĻāĻŋ āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻ¨āĻĒā§āĻ¯āĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻ§āĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻŋ, āĻāĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻāĻ°ā§āĻŽāĻā§āĻˇā§āĻ¤ā§āĻ°. āĻāĻĒāĻ¨āĻŋ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻāĻŋ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§ āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¨āĻŽā§āĻŦāĻ°āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§)
$ cd
$ mkdir workspace
$ cd workspace
$ wget https://www.nsnam.org/release/ns-allinone-3.29.tar.bz2
$ tar xjf ns-allinone-3.29.tar.bz2
āĻāĻĒāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻāĻŋāĻ¨ wget āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻĨā§āĻā§ āĻ āĻŦāĻā§āĻā§āĻ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻā§āĻ˛āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻ¨āĻž āĻāĻ°ā§ āĻĨāĻžāĻāĻ˛ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻ˛ā§ āĻāĻĒāĻ¨āĻžāĻā§ ns-allinone-3.29 āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻŦā§, āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻāĻŦāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§
$ cd ns-allinone-3.29
$ ls
bake constants.py ns-3.29 README
build.py netanim-3.108 pybindgen-0.17.0.post58+ngcf00cc0 util.py
āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ āĻāĻāĻāĻŋ āĻŽā§āĻ˛āĻŋāĻ ns-3 āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻŦāĻ ns-3 āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻŦāĻŋāĻāĻžāĻā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
3.3 āĻāĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ns-3 āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻā§āĻā§
ns-3 āĻā§āĻĄāĻāĻŋ GitLab.com-āĻ āĻāĻŋāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ¤ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ
āĻāĻŋāĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻ¸āĻšāĻ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻā§ āĻāĻžāĻāĻāĻžāĻāĻžāĻŽāĻ āĻŦāĻž āĻā§āĻ˛ā§āĻ¨ āĻāĻ°āĻž ns-3-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨. āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻ¸ā§āĻ āĻ¯āĻž āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ ns-3 āĻ¸āĻžāĻŦāĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ˛ā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŋāĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻšāĻ¯āĻŧā§ āĻĨāĻžāĻā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ "āĻĢāĻ°ā§āĻ" āĻāĻŦāĻ "āĻā§āĻ˛ā§āĻ¨" āĻļāĻŦā§āĻĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§ āĻ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§; āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻāĻ°āĻāĻŋ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ GitLab.com-āĻ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻāĻŋ āĻāĻāĻāĻžāĻŦā§ āĻā§āĻ˛ā§āĻ¨ āĻāĻ°ā§āĻ¨ (āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨):
$ cd
$ mkdir workspace
$ cd workspace
$ git clone https://gitlab.com/nsnam/ns-3-allinone.git
$ cd ns-3-allinone
āĻāĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§, āĻāĻĒāĻ¨āĻžāĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻĻā§āĻļā§āĻ¯ ns-3-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻ°ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĨā§āĻā§ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ āĻāĻŋāĻ¨ā§āĻ¨āĨ¤ āĻāĻāĻŋ āĻāĻ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻĻā§āĻāĻž āĻāĻāĻŋāĻ¤:
$ ls
build.py constants.py download.py README util.py
āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻā§ āĻ¯ā§ āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ download.py, āĻ¯āĻž āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤āĻāĻžāĻŦā§ ns-3 āĻāĻŦāĻ āĻ¸āĻšāĻāĻžāĻŽā§ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻŦā§āĻ° āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻāĻŋ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻā§: āĻšāĻ¯āĻŧ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ ns-3 āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§āĻ¨:
$ python download.py
āĻ
āĻĨāĻŦāĻž āĻĒāĻ¤āĻžāĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°ā§āĻ¨ -n
āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¸āĻāĻā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻ¤ā§:
$ python download.py -n ns-3.29
āĻāĻ āĻ§āĻžāĻĒā§āĻ° āĻĒāĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨ ns-3-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻŦā§ ns-3, āĻ¸ā§āĻāĻž, āĻĒāĻžāĻāĻŦāĻŋāĻ¨ā§āĻĄāĻā§āĻ¨ и āĻ¨ā§āĻ¤āĻžāĻ¨āĻŋāĻŽ.
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻŦā§āĻ¨ā§āĻā§16.04 āĻ¸āĻš āĻāĻāĻāĻŋ āĻŽā§āĻļāĻŋāĻ¨ā§, āĻāĻŽāĻžāĻā§ āĻāĻāĻŋāĻ¤ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§: $ sudo python3 download.py -n ns-3.29
(āĻāĻ°āĻĒāĻ°ā§ āĻ
āĻ¨ā§āĻŦāĻžāĻĻāĻā§āĻ° āĻ¨ā§āĻ)āĨ¤
3.3.1 āĻŦā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ns-3 āĻ˛ā§āĻĄ āĻšāĻā§āĻā§
āĻāĻĒāĻ°ā§āĻ° āĻĻā§āĻāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (āĻā§āĻ¸ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻŦāĻž āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ ns-3-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨ Git āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§) āĻāĻāĻžāĻ§āĻŋāĻ āĻ ā§āĻ¯āĻžāĻĄāĻ āĻ¨ āĻ¸āĻš āĻ¸āĻšāĻāĻ¤āĻŽ ns-3 āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§āĻĒāĻžāĻāĻŦāĻŋāĻ¨ā§āĻĄāĻā§āĻ¨ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¨ā§āĻ¤āĻžāĻ¨āĻŋāĻŽ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯)āĨ¤ ns-3-allinone-āĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻāĻž.
āĻ¸ā§āĻāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§āĻā§ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ˛, āĻ¯āĻž ns-3 āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¸ā§āĻāĻž ns-3-āĻāĻ° āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĒā§āĻ¤ā§, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ ns-3 āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ā§āĻ° āĻŦā§āĻ¸ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻāĻā§āĻ¸āĻā§āĻ¨āĻļāĻ¨ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻŦāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻ¯ā§āĻŽāĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĄāĻžāĻāĻ°ā§āĻā§āĻ āĻā§āĻĄ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨, CradleNetwork āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻļāĻ¨ āĻā§āĻ°ā§āĻ¯āĻžāĻĄāĻ˛, āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ ns-3 "āĻ ā§āĻ¯āĻžāĻĒ" āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻžāĨ¤
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
CradleNetwork Simulation Cradle āĻšāĻ˛ āĻāĻāĻāĻŋ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻāĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ TCP/IP āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻļāĻž āĻāĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° ns-3 āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§ āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦāĻž āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻĨāĻžāĻāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§āĻ° āĻĒāĻĨ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻā§ āĻ¸ā§āĻāĻž āĻāĻžāĻ° āĻ°āĻŋāĻ˛āĻŋāĻā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ°āĻŋāĻ˛āĻŋāĻāĻāĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻā§āĻ˛āĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻ¯ā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¸ā§āĻāĻž, āĻ¯āĻž āĻ°āĻŋāĻ˛āĻŋāĻ ns-3.29 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, ns-3 āĻŦāĻž āĻ¤āĻžāĻ° āĻāĻā§āĻ° āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž (āĻ¯āĻĻāĻŋ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĢāĻžāĻāĻ˛ bakeconf.xml āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ)āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻāĻĒāĻŋ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¸ā§āĻāĻžāĻāĻĒāĻ¨āĻžāĻ° āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻžāĻ¨ (āĻ§āĻ°ā§ āĻ¨āĻŋāĻā§āĻāĻŋ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻŋāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻā§āĻ¨):
$ cd
$ mkdir workspace
$ cd workspace
$ git clone https://gitlab.com/nsnam/bake.git
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻŋāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨, āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§ āĻāĻŋāĻā§ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:
Cloning into 'bake'...
remote: Enumerating objects: 2086, done.
remote: Counting objects: 100% (2086/2086), done.
remote: Compressing objects: 100% (649/649), done.
remote: Total 2086 (delta 1404), reused 2078 (delta 1399)
Receiving objects: 100% (2086/2086), 2.68 MiB | 3.82 MiB/s, done.
Resolving deltas: 100% (1404/1404), done.
āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§ āĻā§āĻ˛ā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻžāĻŽā§āĻ° āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĨāĻžāĻāĻž āĻāĻāĻŋāĻ¤ āĻ¸ā§āĻāĻž, āĻ¯āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻāĻāĻ°āĻāĻŽ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:
$ cd bake
$ ls
bake bakeconf.xml bake.py doc examples generate-binary.py test TODO
āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ˛ā§āĻĄ āĻāĻ°ā§āĻā§āĻ¨, āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĨāĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¨āĻžāĻŽā§ āĻ¸ā§āĻāĻž āĻāĻŦāĻ āĻāĻāĻāĻŋ XML āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻ§āĻžāĻĒ āĻšāĻ˛ āĻāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻāĻ¨ā§āĻĻā§āĻ° ns-3 āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻŦāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĨ¤ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻāĻā§āĻļāĻ¨ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§:
-
ns-3.29: āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛; āĻāĻāĻŋ āĻāĻžāĻ°āĻŦāĻ˛ā§ āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻŦā§;
-
ns-3-dev: āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻŽāĻĄāĻŋāĻāĻ˛, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻāĻžāĻ āĻĨā§āĻā§ āĻā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§;
-
ns-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨-3.29: āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¯āĻžāĻ¤ā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻ¯ā§āĻŽāĻ¨ āĻā§āĻ˛āĻŋāĻ āĻ°āĻžāĻāĻāĻŋāĻ āĻāĻŦāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻļāĻ¨ āĻā§āĻ°ā§āĻ¯āĻžāĻĄāĻ˛, ns-3 āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒā§āĻ¨āĻĢā§āĻ˛ā§ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĨāĻžāĻā§āĨ¤
-
ns-3-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨: āĻŽāĻĄāĻŋāĻāĻ˛ āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ āĻ¨ā§āĻ°ā§āĻĒ allinone, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
āĻā§āĻ˛āĻŋāĻ â āĻ°āĻžāĻāĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻŽāĻĄā§āĻ˛āĻžāĻ° āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°āĨ¤
āĻāĻĒā§āĻ¨āĻĢā§āĻ˛ā§ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻāĻ˛ āĻ¯āĻž āĻ°āĻžāĻāĻāĻžāĻ° āĻāĻŦāĻ āĻ¸ā§āĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄā§āĻāĻž āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§ āĻĒā§āĻ°ā§āĻ°āĻŋāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖā§āĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°-āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°ā§āĨ¤
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄā§āĻā§āĻ˛āĻĒāĻŽā§āĻ¨ā§āĻ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻ (āĻ¨āĻ¨-āĻ°āĻŋāĻ˛āĻŋāĻ) ns-3 āĻāĻāĻžāĻ¨ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§:
āĻŦāĻŋāĻāĻžāĻļāĻāĻžāĻ°ā§āĻ°āĻž āĻāĻ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻāĻžāĻā§āĻ° āĻā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻ°āĻžāĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŦāĻ āĻ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻā§āĻĄ āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻāĻ˛ā§āĻĒāĻ¨āĻž āĻ¨āĻž āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻ˛āĻŋāĻāĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°ā§āĻ¨ā§ˇ
āĻāĻĒāĻ¨āĻŋ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻŦā§āĻ°āĻžāĻāĻ āĻāĻ°ā§ āĻŦāĻž ns-3 āĻ°āĻŋāĻ˛āĻŋāĻ āĻāĻ¯āĻŧā§āĻŦ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻāĻŋāĻ¯āĻŧā§ āĻā§āĻĄā§āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻāĻāĻ¨, āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ ns-3 āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻā§āĻ˛āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ āĻ¸ā§āĻāĻž. āĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤āĻŋāĻŽā§āĻ˛āĻ āĻāĻĨāĻž āĻŦāĻ˛āĻŋ āĻ¸ā§āĻāĻž.
āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻāĻ¤ā§āĻ¸ āĻ˛ā§āĻĄ āĻāĻ°ā§ āĻŦā§āĻ āĻāĻžāĻ āĻāĻ°ā§ āĻā§āĻ¸ āĻāĻŦāĻ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĨ¤ āĻ¸ā§āĻāĻž āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻ°ā§āĻĢāĻžāĻ°ā§āĻ¨ā§āĻ¸ āĻāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻāĻžāĻ¨ āĻ¸ā§āĻāĻž āĻ¯ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻāĻŋ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¤āĻž āĻĨā§āĻā§ āĻ¨āĻ¯āĻŧ, āĻāĻ¤ā§ āĻĒāĻžāĻĨ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻāĻž āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻĨā§ (PATH āĻāĻ¨āĻāĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛), āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ (āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻŦā§āĻ¯āĻžāĻļ āĻļā§āĻ˛ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ)āĨ¤ "āĻŦā§āĻ" āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛āĻā§āĻ˛āĻŋ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨:
$ export BAKE_HOME=`pwd`
$ export PATH=$PATH:$BAKE_HOME:$BAKE_HOME/build/bin
$ export PYTHONPATH=$PYTHONPATH:$BAKE_HOME:$BAKE_HOME/build/lib
āĻāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻŦā§ bake.py āĻļā§āĻ˛ āĻĒāĻžāĻĨā§ āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻāĻŦāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§ āĻ¸ā§āĻāĻž. āĻāĻŋāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸ā§āĻāĻž, āĻāĻĒāĻ°ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ PATH āĻāĻŦāĻ PYTHONPATH āĻ¸ā§āĻāĻŋāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§ ns-3-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨ (āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¸āĻš) āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻŦāĻŋāĻ˛ā§āĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§āĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻāĻŋ āĻ˛āĻŋāĻā§āĻ¨:
$ ./bake.py configure -e ns-3.29
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻŦ āĻ¸ā§āĻāĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻāĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛ āĻāĻ°ā§āĻ¨:
$ ./bake.py check
āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŽāĻ¤ āĻāĻŋāĻā§ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:
> Python - OK
> GNU C++ compiler - OK
> Mercurial - OK
> Git - OK
> Tar tool - OK
> Unzip tool - OK
> Make - OK
> cMake - OK
> patch tool - OK
> Path searched for tools: /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin ...
āĻŦāĻŋāĻļā§āĻˇ āĻāĻ°ā§, āĻŽāĻžāĻ°ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛, āĻ¸āĻŋāĻāĻŋāĻāĻ¸, āĻāĻŋāĻ āĻāĻŦāĻ āĻŦāĻžāĻāĻžāĻ°ā§āĻ° āĻŽāĻ¤ā§ āĻāĻĒāĻ˛ā§āĻĄ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻ āĻ§āĻžāĻĒā§ āĻ āĻĒāĻ°āĻŋāĻšāĻžāĻ°ā§āĻ¯ āĻāĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻĄ āĻĒā§āĻ¤ā§ āĻĻā§āĻ¯āĻŧā§ˇ āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨ (āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ¨ā§āĻ¨) āĻŦāĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§, āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨:
$ ./bake.py download
āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻšāĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤:
>> Searching for system dependency setuptools - OK
>> Searching for system dependency libgoocanvas2 - OK
>> Searching for system dependency gi-cairo - OK
>> Searching for system dependency pygobject - OK
>> Searching for system dependency pygraphviz - OK
>> Searching for system dependency python-dev - OK
>> Searching for system dependency qt - OK
>> Searching for system dependency g++ - OK
>> Downloading pybindgen-0.19.0.post4+ng823d8b2 (target directory:pybindgen) - OK
>> Downloading netanim-3.108 - OK
>> Downloading ns-3.29 - OK
āĻāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻŦā§ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻā§āĻ¸ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻāĻ¨ āĻ¸ā§āĻ°ā§āĻ¸ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ ls āĻ˛āĻŋāĻā§āĻ¨; āĻ¤ā§āĻŽāĻžāĻ° āĻĻā§āĻāĻž āĻāĻāĻŋāĻ¤:
$ cd source
$ ls
netanim-3.108 ns-3.29 pybindgen
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ ns-3 āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤
3.4 āĻ¸āĻŽāĻžāĻŦā§āĻļ ns-3
ns-3 āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻŽāĻ¤ā§, ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻāĻŋāĻ° āĻāĻĒāĻ° āĻā§āĻ° āĻĻāĻŋāĻ¤ā§ āĻāĻžāĻ āĻ¤āĻž āĻšāĻ˛ ns-3 āĻ¨āĻžāĻŽā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ WafāĻ¨ā§āĻā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤. āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻŦā§ Waf, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻŦāĻž āĻāĻ°āĻ āĻāĻāĻŋāĻ˛ āĻŦāĻŋāĻ˛ā§āĻĄāĻā§āĻ˛āĻŋ āĻ¸āĻāĻāĻ āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻ¸āĻšāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ā§ˇ āĻ¤āĻžāĻ, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻĒāĻĄāĻŧāĻž āĻāĻā§ āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ Waf, āĻāĻāĻŦāĻžāĻ° āĻĻā§āĻā§ āĻ¨āĻŋāĻ¨ build.py āĻāĻŦāĻ āĻ¸āĻā§āĻā§ āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻ¸ā§āĻāĻž.
3.4.1 build.py āĻ¸āĻš āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ
āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻāĻ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ§āĻžāĻĒāĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻĒāĻ°ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻā§āĻ¸ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĨā§āĻā§ āĻāĻĒāĻ˛āĻŦā§āĻ§; āĻāĻŦāĻ āĻāĻŋāĻ āĻŦāĻž āĻŦā§āĻ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤
āĻāĻāĻāĻŋ āĻ°āĻŋāĻ˛āĻŋāĻ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖāĻžāĻāĻžāĻ° āĻ¸āĻā§āĻā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛, āĻāĻ¨ ns-3-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻāĻž āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ build.py. āĻāĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻŦā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ ns-3 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ°āĻ āĻāĻ¨ā§āĻ¨āĻ¤ āĻ¸ā§āĻāĻāĻĒ āĻāĻŦāĻ āĻāĻžāĻ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ ns-3 āĻāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ, Waf āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, āĻ¯āĻž āĻāĻ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§ āĻĒāĻ°ā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻ˛ā§ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻĒāĻ¨āĻžāĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ ~/āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻ¸ā§āĻĒā§āĻ¸ āĻāĻāĻāĻŋ āĻ¨āĻžāĻŽ āĻ¸āĻā§āĻā§ āĻāĻāĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻāĻŋāĻā§ āĻŽāĻ¤ ns-āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¨ā§āĻ¨-3.29. āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ°āĻŦā§āĻļ:
$ ./build.py --enable-examples --enable-tests
āĻĄāĻžāĻāĻ˛ā§ build.py āĻāĻŽāĻ°āĻž āĻāĻ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ, āĻ¯āĻž ns-3 āĻ¤ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻžāĻ¨, āĻāĻĒāĻ¨āĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻĄāĻŧāĻžāĻ ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻŦāĻž āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ āĻāĻŽāĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻĒā§āĻ°āĻā§āĻ° āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻāĻāĻĒā§āĻ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻāĻļ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻĨāĻŽā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ¨āĻŋāĻŽā§āĻāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŦā§ āĻ¨ā§āĻ¤āĻžāĻ¨āĻŋāĻŽ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦāĻžāĻāĻ§āĻžāĻ āĻā§āĻ¨āĻžāĻ°ā§āĻāĻ° āĻĒāĻžāĻāĻŦāĻŋāĻ¨ā§āĻĄāĻā§āĻ¨ āĻāĻŦāĻ āĻ āĻŦāĻļā§āĻˇā§ ns-3. āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻ˛ā§, āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:
Waf: Leaving directory '/path/to/workspace/ns-allinone-3.29/ns-3.29/build'
'build' finished successfully (6m25.032s)
Modules built:
antenna aodv applications
bridge buildings config-store
core csma csma-layout
dsdv dsr energy
fd-net-device flow-monitor internet
internet-apps lr-wpan lte
mesh mobility mpi
netanim (no Python) network nix-vector-routing
olsr point-to-point point-to-point-layout
propagation sixlowpan spectrum
stats tap-bridge test (no Python)
topology-read traffic-control uan
virtual-net-device visualizer wave
wifi wimax
Modules not built (see ns-3 tutorial for explanation):
brite click openflow
Leaving directory ./ns-3.29
āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻļā§āĻˇ āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ˛āĻžāĻāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻāĻŋ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ:
Modules not built (see ns-3 tutorial for explanation):
brite click
āĻāĻ° āĻ¸āĻšāĻ āĻ āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¯ā§ āĻāĻŋāĻā§ ns-3 āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¯āĻž āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻŦāĻž āĻāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤ āĻāĻ° āĻ āĻ°ā§āĻĨ āĻāĻ āĻ¨āĻ¯āĻŧ āĻ¯ā§ āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻāĻ°āĻāĻŋ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻŦāĻž āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻžāĨ¤
3.4.2 āĻŦā§āĻ āĻ¸āĻš āĻŦāĻŋāĻ˛ā§āĻĄāĻŋāĻ
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋ āĻĨā§āĻā§ āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĒā§āĻ¤ā§ āĻāĻĒāĻ°ā§ āĻŦā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻĒāĻ¨āĻŋ ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛ āĻāĻ°ā§āĻ¨:
$ ./bake.py build
āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻŽāĻ¨ āĻāĻŋāĻā§ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:
>> Building pybindgen-0.19.0.post4+ng823d8b2 - OK
>> Building netanim-3.108 - OK
>> Building ns-3.29 - OK
āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯: āĻāĻĒāĻ¨āĻŋ "bake.py deploy" āĻāĻ˛ āĻāĻ°ā§ āĻāĻāĻŦāĻžāĻ°ā§ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻŦāĻ āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻāĻ¯āĻŧ āĻ§āĻžāĻĒāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨āĻž āĻšāĻ˛ā§ āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻāĻ˛āĻ¤ā§ āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ āĻŦāĻšāĻ¨āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŋāĻ˛ āĻ¯ā§ castxml āĻā§āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¸ā§āĻāĻž āĻ¸āĻŦ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻ āĻŽāĻ¤ āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§:
>> Building castxml - Problem
> Problem: Optional dependency, module "castxml" failed
This may reduce the functionality of the final build.
However, bake will continue since "castxml" is not an essential dependency.
For more information call bake with -v or -vvv, for full verbose mode.
āĻāĻŋāĻ¨ā§āĻ¤ā§ castxml āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻĒāĻĄā§āĻ āĻāĻ°āĻž āĻĒāĻžāĻāĻĨāĻ¨ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋāĻ° āĻā§āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻ (āĻ āĻ¨ā§āĻ¤āĻ¤ āĻ¤āĻžāĻ°āĻž ns-3 āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻāĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤), āĻ¤āĻžāĻ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻžāĻā§āĻ˛āĻŋ āĻāĻĒāĻžāĻ¤āĻ¤ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻĒāĻ¨āĻžāĻā§ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻāĻāĻŋ āĻāĻā§āĻāĻŋāĻ¤ āĻĻā§āĻŦā§:
$ ./bake.py show
āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻĒā§āĻ¯āĻžāĻā§āĻāĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻā§āĻ¨ āĻ¤āĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
3.4.3 āĻāĻ¯āĻŧāĻžāĻĢ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨
āĻāĻ āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, ns-3 āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ build.py, āĻŦāĻž āĻā§āĻ˛ āĻ¸ā§āĻāĻž. āĻāĻ āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋ ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻ°āĻāĻžāĻ°ā§āĨ¤ āĻāĻ¸āĻ˛ā§, āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ°āĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻā§āĻ˛ āĻāĻžāĻ˛āĻžāĻ¯āĻŧ Waf ns-3 āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĨā§āĻā§āĨ¤ Waf ns-3 āĻ¸ā§āĻ°ā§āĻ¸ āĻā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻŦā§āĻļā§āĻ°āĻāĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĻā§āĻ°ā§āĻ¤ NS-3 āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻŦāĻ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¨ Waf. āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻ¯ā§āĻ¤ā§, āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ ns-3 āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨ āĻ¯āĻž āĻāĻĒāĻ¨āĻŋ āĻŽā§āĻ˛āĻ¤ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻā§āĻ¨āĨ¤
āĻāĻ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§ āĻāĻāĻŋ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻŋāĻā§āĻāĻž āĻŦā§āĻ¯āĻžāĻāĻā§āĻ°ā§āĻ¯āĻžāĻ āĻāĻ°āĻž āĻāĻŦāĻ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§ āĻā§āĻāĻžāĻŦā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻŦā§āĨ¤ āĻ¸āĻŽā§āĻāĻŦāĻ¤ āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻā§āĻĄā§āĻ° āĻāĻāĻāĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĄāĻŋāĻŦāĻžāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°ā§āĻā§āĻ¨ā§ˇ āĻāĻāĻāĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻāĻĄ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻāĻ° āĻĻā§āĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻāĨ¤ āĻāĻ¯āĻŧāĻžāĻĢāĻā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯ā§ āĻāĻāĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻāĻĄ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦā§ āĻ¯āĻžāĻ¤ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĨāĻžāĻā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§:
$ ./waf clean
$ ./waf configure --build-profile=optimized --enable-examples --enable-tests
āĻāĻ āĻāĻžāĻ˛ā§ āĻšāĻŦā§ Waf āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻŦāĻžāĻāĻ°ā§ (āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻāĻ¨ā§āĻ¯)āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĨā§āĻā§ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°ā§, āĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ ā§āĻ°āĻāĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§ āĻāĻāĻŋ āĻāĻžāĻ˛ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨ (āĻ¨ā§āĻā§ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻ āĻĻā§āĻā§āĻ¨); āĻāĻāĻŋ āĻĒā§āĻ°ā§āĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ āĻŦāĻā§āĻā§āĻ āĻĢāĻžāĻāĻ˛ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻŦā§ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ/. āĻ¯āĻāĻ¨ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§, āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§ āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§:
Setting top to : /home/ns3user/workspace/bake/source/ns-3-dev
Setting out to : /home/ns3user/workspace/bake/source/ns-3-dev/build
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking for cc version : 7.3.0
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for compilation flag -march=native support : ok
Checking for compilation flag -Wl,--soname=foo support : ok
Checking for compilation flag -std=c++11 support : ok
Checking boost includes : headers not found, please ,!provide a --boost-includes argument (see help)
Checking boost includes : headers not found, please ,!provide a --boost-includes argument (see help)
Checking for program 'python' : /usr/bin/python
Checking for python version >= 2.3 : 2.7.15 python-config : /usr/bin/python-config
Asking python-config for pyembed '--cflags --libs --ldflags' flags : yes
Testing pyembed configuration : yes
Asking python-config for pyext '--cflags --libs --ldflags' flags : yes
Testing pyext configuration : yes
Checking for compilation flag -fvisibility=hidden support : ok
Checking for compilation flag -Wno-array-bounds support : ok
Checking for pybindgen location : ../pybindgen ,!(guessed)
Checking for python module 'pybindgen' : 0.19.0. ,!post4+g823d8b2
Checking for pybindgen version : 0.19.0. ,!post4+g823d8b2
Checking for code snippet : yes
Checking for types uint64_t and unsigned long equivalence : no
Checking for code snippet : no
Checking for types uint64_t and unsigned long long equivalence : yes
Checking for the apidefs that can be used for Python bindings : gcc-LP64
Checking for internal GCC cxxabi : complete
Checking for python module 'pygccxml' : not found
Checking for click location : not found
Checking for program 'pkg-config' : /usr/bin/pkg- ,!config
Checking for 'gtk+-3.0' : not found
Checking for 'libxml-2.0' : yes
checking for uint128_t : not found
checking for __uint128_t : yes
Checking high precision implementation : 128-bit integer ,!(default)
Checking for header stdint.h : yes
Checking for header inttypes.h : yes
Checking for header sys/inttypes.h : not found
Checking for header sys/types.h : yes
Checking for header sys/stat.h : yes
Checking for header dirent.h : yes
Checking for header stdlib.h : yes
Checking for header signal.h : yes
Checking for header pthread.h : yes
Checking for header stdint.h : yes
Checking for header inttypes.h : yes
Checking for header sys/inttypes.h : not found
Checking for library rt : yes
Checking for header sys/ioctl.h : yes
Checking for header net/if.h : yes
Checking for header net/ethernet.h : yes
Checking for header linux/if_tun.h : yes
Checking for header netpacket/packet.h : yes
Checking for NSC location : not found
Checking for 'sqlite3' : not found
Checking for header linux/if_tun.h : yes
Checking for python module 'gi' : 3.26.1
Checking for python module 'gi.repository.GObject' : ok
Checking for python module 'cairo' : ok
Checking for python module 'pygraphviz' : 1.4rc1
Checking for python module 'gi.repository.Gtk' : ok
Checking for python module 'gi.repository.Gdk' : ok
Checking for python module 'gi.repository.Pango' : ok
Checking for python module 'gi.repository.GooCanvas' : ok
Checking for program 'sudo' : /usr/bin/sudo
Checking for program 'valgrind' : not found
Checking for 'gsl' : not found python-config : not found
Checking for compilation flag -fstrict-aliasing support : ok
Checking for compilation flag -fstrict-aliasing support : ok
Checking for compilation flag -Wstrict-aliasing support : ok
Checking for compilation flag -Wstrict-aliasing support : ok
Checking for program 'doxygen' : /usr/bin/doxygen
---- Summary of optional ns-3 features:
Build profile : optimized
Build directory :
BRITE Integration : not enabled (BRITE not enabled (see option --with- ,!brite))
DES Metrics event collection : not enabled (defaults to disabled)
Emulation FdNetDevice : enabled
Examples : enabled
File descriptor NetDevice : enabled
GNU Scientific Library (GSL) : not enabled (GSL not found)
Gcrypt library : not enabled
(libgcrypt not found: you can use ,!libgcrypt-config to find its location.) GtkConfigStore : not enabled (library 'gtk+-3.0 >= 3.0' not fou nd)
MPI Support : not enabled (option --enable-mpi not selected)
ns-3 Click Integration : not enabled (nsclick not enabled (see option --with- ,!nsclick))
ns-3 OpenFlow Integration : not enabled (Required boost libraries not found)
Network Simulation Cradle : not enabled (NSC not found (see option --with-nsc))
PlanetLab FdNetDevice : not enabled (PlanetLab operating system not detected ,!(see option --force-planetlab)) PyViz visualizer : enabled
Python API Scanning Support : not enabled (Missing 'pygccxml' Python module)
Python Bindings : enabled
Real Time Simulator : enabled
SQlite stats data output : not enabled (library 'sqlite3' not found)
Tap Bridge : enabled
Tap FdNetDevice : enabled
Tests : enabled
Threading Primitives : enabled
Use sudo to set suid bit : not enabled (option --enable-sudo not selected)
XmlIo : enabled
'configure' finished successfully (6.387s)
āĻāĻĒāĻ°ā§āĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻļā§āĻˇ āĻ
āĻāĻļ āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻ¨ā§āĻ āĻāĻ°ā§āĻ¨. āĻāĻŋāĻā§ ns-3 āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻŦāĻž āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, XmlTo āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻ¤ā§, āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ libxml-2.0. āĻ¯āĻĻāĻŋ āĻāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻāĻŋ āĻā§āĻāĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻāĻļā§āĻ˛āĻŋāĻˇā§āĻ ns-3 āĻĢāĻžāĻāĻļāĻ¨ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻŦā§āĻ¨ā§āĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ suid āĻŦāĻŋāĻ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ "āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻā§āĻ°ā§āĻĒ āĻāĻāĻĄāĻŋ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨"āĨ¤ āĻāĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻ¸āĻā§āĻˇāĻŽ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻ āĻāĻ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻāĻŋ "āĻ¸āĻā§āĻˇāĻŽ āĻ¨āĻ¯āĻŧ" āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§ˇ āĻ
āĻŦāĻļā§āĻˇā§, āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒā§āĻ¤ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ Waf āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¸āĻš --check-config
.
āĻāĻāĻ¨ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ āĻāĻŦāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻš āĻĄāĻŋāĻŦāĻžāĻ āĻŦāĻŋāĻ˛ā§āĻĄā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻāĨ¤
$ ./waf clean
$ ./waf configure --build-profile=debug --enable-examples --enable-tests
āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻāĻ¨ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻŋ āĻā§āĻŦāĻ˛ āĻāĻžāĻāĻĒ āĻāĻ°ā§ ns-3 āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻĄāĻŋāĻŦāĻžāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$ ./waf
āĻāĻĒāĻ°ā§āĻ° āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻŦāĻžāĻ° ns-3 āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ āĻāĻļ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦāĻžāĻ§ā§āĻ¯ āĻāĻ°ā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻāĻĄ āĻā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ā§āĻ¨āĨ¤
āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻ¤ā§, āĻāĻāĻāĻŋ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ°āĻ¯āĻŧā§āĻā§:
$ ./waf --check-profile
Waf: Entering directory `/path/to/ns-3-allinone/ns-3.29/build'
Build profile: debug
āĻāĻĒāĻ°ā§āĻ° āĻĻā§āĻļā§āĻ¯āĻāĻ˛ā§āĻĒ build.py āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ --enable-examples
и --enable-tests
, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŦāĻŋāĻāĻ˛ā§āĻĒ Waf āĻāĻāĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻŦā§ āĻ¨āĻž:
$ ./build.py --disable-python
āĻĒā§āĻ°āĻ¤āĻŋāĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ āĻŽāĻ¤ āĻšāĻŦā§:
build.py: error: no such option: --disable-python
āĻ¯āĻžāĻāĻšā§āĻ, āĻŦāĻŋāĻļā§āĻˇ āĻ āĻĒāĻžāĻ°ā§āĻāĻ° - - āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻ¯āĻŧāĻžāĻĢāĻ¤āĻžāĻ āĻāĻĒāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ āĻāĻ°āĻŦā§:
$ ./build.py -- --disable-python
āĻāĻžāĻ°āĻŖ āĻāĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ ./waf āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° --disable-python. āĻāĻāĻžāĻ¨ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°ā§ āĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ¯āĻŧāĻ āĻāĻŋāĻĒāĻ¸ āĻāĻā§ Waf.
āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ Linux āĻāĻŦāĻ MacOS āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ā§ āĻ°āĻŋāĻ˛āĻŋāĻā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ C++ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ ns-3 āĻ°āĻŋāĻ˛āĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§, āĻ¨āĻ¤ā§āĻ¨ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¨āĻ¤ā§āĻ¨ āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻāĻ āĻ¨āĻ¤ā§āĻ¨ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻžāĻ¨ āĻšāĻ¤ā§ āĻĨāĻžāĻā§āĨ¤ ns-3 āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻžāĻā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°ā§, āĻ¤āĻžāĻ āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻžāĻ˛āĻžāĻā§āĻā§āĻ¨, āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻŦāĻŋāĻ˛ā§āĻĄāĻāĻŋ āĻŦāĻ¨ā§āĻ§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĢā§āĻĄā§āĻ°āĻž 3.28-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻŦā§ nsâ28 āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻŋāĻ˛ āĻāĻŋāĻ¸āĻŋāĻ¸āĻŋ (gcc-8) Fedora 3.28 āĻāĻ° āĻ āĻ§ā§āĻ¨ā§ āĻ°āĻŋāĻ˛āĻŋāĻ ns-28 āĻŦāĻž āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž, Gtk2+ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ˛ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻāĻāĻŦā§:
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: error: unnecessary parentheses ,!in declaration of â__gtk_reserved1â [-Werror=parentheses] void (*__gtk_reserved1);
nsâ3.28.1 āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻšāĻāĻ¯āĻŧāĻž āĻ°āĻŋāĻ˛āĻŋāĻā§, āĻāĻ¨ Waf āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻāĻāĻŋ g++ āĻāĻŦāĻ clang++ āĻ "-Werror" āĻĒāĻ¤āĻžāĻāĻž āĻ¸ā§āĻ āĻāĻ°āĻž āĻ āĻā§āĻˇāĻŽ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ "--disable-werror" āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ āĻŦāĻļā§āĻ¯āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
$ ./waf configure --disable-werror --enable-examples --enable-tests
āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻŦāĻž āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§āĻ¨
āĻāĻŋāĻā§ āĻāĻĻā§āĻļ Waf āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ āĻ°ā§āĻĨ āĻāĻā§, āĻāĻŦāĻ āĻāĻŋāĻā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻĢā§āĻā§ āĻŦā§āĻ§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ ns-3 āĻāĻŽā§āĻ˛ā§āĻļāĻ¨ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻ āĻ¸ā§āĻāĻŋāĻ āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻĻāĻā§āĻˇāĻŋāĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻŦā§āĻ¨ā§āĻā§, āĻāĻĒāĻ°ā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤. āĻāĻāĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ§āĻžāĻĒā§āĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻā§āĻ˛āĻŋāĻā§ āĻāĻāĻžāĻ°āĻ°āĻžāĻāĻĄ āĻāĻ°āĻŦā§, āĻāĻŦāĻ āĻāĻāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
$ ./waf configure --enable-sudo --enable-examples --enable-tests
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ āĻāĻžāĻ Waf āĻāĻžāĻ˛ā§ āĻšāĻŦā§ āĻāĻŦā§āĻ¨ā§āĻā§āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¸āĻš āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽā§āĻ˛ā§āĻļāĻ¨ āĻā§āĻĄ āĻ¸āĻā§āĻ āĻ¤ā§āĻ°āĻŋāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻļāĻŋāĻāĻĄāĻŧāĨ¤ āĻĻā§āĻ¯ Waf āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻŦāĻ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ§āĻžāĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻā§. āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻŦā§āĻˇāĻŖ āĻāĻ°āĻ¤ā§, āĻ˛āĻŋāĻā§āĻ¨:
$ ./waf --help
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻŦāĻŋāĻāĻžāĻā§ āĻāĻŽāĻ°āĻž āĻāĻŋāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸āĻāĻā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛
āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻĻā§āĻā§āĻāĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ Waf āĻ¸āĻŽāĻžāĻŦā§āĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄā§āĻŦāĻžāĻā§ āĻāĻ°āĻž и āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ:
$ ./waf --build-profile=debug
āĻāĻāĻāĻŋ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĻ āĻ°āĻ¯āĻŧā§āĻā§, āĻŽā§āĻā§āĻ¤āĻŋ. āĻ
āĻĒāĻļāĻ¨ -d
āĻāĻ° āĻ¸āĻŽāĻžāĻ°ā§āĻĨāĻ --build-profile
. āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ āĻ˛āĻāĻŋāĻ, āĻĻāĻžāĻŦā§ āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻ
āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻā§āĻļāĻžāĻ¨ āĻ¸ā§āĻāĻāĻā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°ā§:
āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻ˛āĻāĻŋāĻ āĻāĻŦāĻ āĻĻāĻžāĻŦā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄāĻŋāĻŦāĻžāĻ āĻŦāĻŋāĻ˛ā§āĻĄā§ āĻāĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦāĻŋāĻ¤ āĻ āĻ¨ā§āĻļā§āĻ˛āĻ¨āĻāĻŋ āĻšāĻ˛ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻĄāĻŋāĻŦāĻžāĻ āĻŽā§āĻĄā§ āĻŦāĻŋāĻāĻžāĻļ āĻāĻ°āĻž, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻāĻŋ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ā§ āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻ°āĻžāĻ¨ āĻāĻ°āĻž (āĻĒāĻ°āĻŋāĻ¸āĻāĻā§āĻ¯āĻžāĻ¨ āĻŦāĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯)āĨ¤
āĻāĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻā§āĻĄ āĻĨāĻžāĻā§ āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻāĻāĻŋāĻ¤, āĻā§āĻĄ āĻ°ā§āĻ¯āĻžāĻĒāĻžāĻ° āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨:
NS_BUILD_DEBUG (std::cout << "Part of an output line..." << std::flush; timer.Start ,!()); DoLongInvolvedComputation ();
NS_BUILD_DEBUG (timer.Stop (); std::cout << "Done: " << timer << std::endl;)
āĻĄāĻŋāĻĢāĻ˛ā§āĻ, Waf āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻ°ā§āĻāĻŋāĻĢā§āĻ¯āĻžāĻā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻāĻāĻĒā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ -â¯-out
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ,
$ ./waf configure --out=my-build-dir
āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻŋ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻšāĻā§āĻ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ¸āĻāĻāĻ˛āĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$ ./waf configure --build-profile=debug --out=build/debug
$ ./waf build
...
$ ./waf configure --build-profile=optimized --out=build/optimized
$ ./waf build
...
āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻŽāĻžāĻŦā§āĻļ āĻĒā§āĻ¨āĻ°ā§āĻ˛āĻŋāĻāĻ¨ āĻ¨āĻž āĻāĻ°ā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻ¸āĻŽāĻžāĻŦā§āĻļā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻ āĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛ā§ āĻ¯āĻžāĻ¨, Waf āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻ¸āĻŦāĻāĻŋāĻā§ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻ¨āĻž āĻāĻ°ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻŋ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻŦā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻāĻ¨ āĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ°ā§āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ¸ā§āĻ¯ā§āĻāĻ āĻāĻ°ā§āĻ¨, āĻ¤āĻāĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻĻāĻŋāĻ¤ā§ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻŦā§āĻļā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ˛āĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻŦā§:
$ export NS3CONFIG="--enable-examples --enable-tests"
$ export NS3DEBUG="--build-profile=debug --out=build/debug"
$ export NS3OPT=="--build-profile=optimized --out=build/optimized"
$ ./waf configure $NS3CONFIG $NS3DEBUG
$ ./waf build
...
$ ./waf configure $NS3CONFIG $NS3OPT
$ ./waf build
āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŦāĻ āĻĒāĻ¤āĻžāĻāĻž
āĻāĻĒāĻ°ā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§ Waf ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ GCC āĻĨā§āĻā§ C++ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ ( g ++) āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ Waf C++ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ°, CXX āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, C++ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° Clang āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§, clang++,
$ CXX="clang++" ./waf configure
$ ./waf build
āĻāĻāĻ āĻāĻžāĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ Waf āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖāĻā§āĻ¤ āĻ¸āĻāĻāĻ˛āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ distcc:
$ CXX="distcc g++" ./waf configure
$ ./waf build
distcc āĻāĻŦāĻ āĻŦāĻŋāĻ¤āĻ°āĻŖāĻā§āĻ¤ āĻ¸āĻāĻāĻ˛āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻ¤āĻĨā§āĻ¯ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻŦāĻŋāĻāĻžāĻā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§āĨ¤ ns-3 āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§, CXXFLAGS_EXTRA āĻāĻ¨āĻāĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤
āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸
Waf āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻ¯āĻŧāĻāĻžāĻ¯āĻŧ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻ¸āĻāĻāĻ˛āĻŋāĻ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻŦāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛āĻā§āĻ˛āĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻž, āĻāĻŦāĻ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻ¯āĻŧāĻžāĻĢ āĻāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻŦāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻžāĻ¨ā§, āĻ¤āĻžāĻ āĻ āĻ¨ā§āĻ¯ āĻā§āĻĨāĻžāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻāĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻāĻ¨ā§āĻĻ āĻāĻ°āĻ˛ā§, āĻ¤āĻžāĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§ ./waf āĻāĻ¨āĻ¸ā§āĻāĻ˛. āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻĒāĻ¸āĻ°ā§āĻ āĻšāĻ¯āĻŧ , / Usr / āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧāĻ¯ā§ āĻā§āĻ¨ ./waf āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§ , / Usr / āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ / āĻŦāĻŋāĻ¨, āĻŽāĻ§ā§āĻ¯ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ , / Usr / local / lib āĻāĻŦāĻ āĻļāĻŋāĻ°ā§āĻ¨āĻžāĻŽ āĻĢāĻžāĻāĻ˛ /usr/local/include. āĻ¸ā§āĻĒāĻžāĻ° āĻāĻāĻāĻžāĻ° āĻ
āĻ§āĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻāĻāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻāĻĒāĻ¸āĻ°ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ¤āĻžāĻ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻŦā§ sudo ./waf āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨. āĻāĻžāĻ˛ā§ āĻšāĻ˛ā§, Waf āĻĒā§āĻ°āĻĨāĻŽā§ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻžāĻ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦā§āĻā§ āĻ¨ā§āĻŦā§, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŦā§āĻļā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻĒāĻĨ āĻ§āĻ°ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°āĻŦā§āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻ āĻŋāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻ
āĻā§āĻ¯āĻžāĻ¸āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻāĻŋ āĻĒāĻžāĻ¸ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻ¸āĻ°ā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻŦā§āĻā§ āĻ¨āĻŋāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ --prefix
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ,
./waf configure --prefix=/opt/local
āĻ¯āĻĻāĻŋ āĻĒāĻ°ā§, āĻŦāĻŋāĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§ ./waf
, āĻāĻĒāĻ¸āĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§ /āĻ
āĻĒā§āĻ/āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ.
āĻā§āĻŽ ./waf clean
āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ˛ā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻŦāĻļā§āĻ¯āĻ Waf āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻāĻĒāĻ¸āĻ°ā§āĻ āĻ
āĻ§ā§āĻ¨ā§āĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻ ./waf install
. āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§ āĻ¨āĻž āĻāĻžāĻ°āĻŖ Waf āĻŦāĻŋāĻ˛ā§āĻĄ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĨā§āĻā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻŦāĻžāĻāĻžāĻ āĻāĻ°āĻž āĻšāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŋāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋ ns-3 āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ° āĻŦāĻžāĻāĻ°ā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻ¯āĻŧāĻžāĻĢ āĻāĻāĻ
ns-3 āĻā§āĻ¸ āĻāĻžāĻā§āĻ° āĻāĻĒāĻ°ā§āĻ° āĻ¸ā§āĻ¤āĻ°ā§, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻāĻ¯āĻŧāĻžāĻĢ āĻ˛āĻŋāĻĒāĻŋ āĻāĻā§āĨ¤ āĻāĻāĻŦāĻžāĻ° āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°āĻ˛ā§, āĻāĻĒāĻ¨āĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ
āĻ¨ā§āĻ āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻāĻ°āĻŦā§āĻ¨ scratch/
āĻŦāĻž āĻāĻ°āĻ āĻāĻā§āĻ°ā§src/...
āĻāĻŦāĻ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻšāĻŦā§ Waf. āĻāĻĒāĻ¨āĻŋ āĻā§āĻĨāĻžāĻ¯āĻŧ āĻāĻā§āĻ¨ āĻ¤āĻž āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĻā§āĻĄāĻŧāĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ Waf āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ:
$ ../../../waf ...
āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¨ā§āĻ¤āĻŋāĻāĻ° āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĒā§āĻ°āĻŦāĻŖ āĻšāĻŦā§, āĻ¤āĻžāĻ āĻāĻ°āĻ āĻāĻžāĻ˛ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻā§āĨ¤ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻāĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻāĻāĻŋ āĻĒāĻžāĻ ā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ āĻ¯ā§āĻŽāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž Emacs āĻŦāĻž āĻ¤ā§āĻ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĻā§āĻāĻŋ āĻāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻ¸ā§āĻļāĻ¨ āĻā§āĻ˛āĻž āĻšāĻ¯āĻŧ, āĻāĻāĻāĻŋ ns-3 āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧāĻāĻŋ āĻā§āĻ¸ āĻā§āĻĄ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻā§ āĻ¤āĻžāĻ°āĻŦāĻžāĻ˛, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§:
$ export NS3DIR="$PWD"
$ function waff { cd $NS3DIR && ./waf $* ; }
$ cd scratch
$ waff build
āĻŽāĻĄāĻŋāĻāĻ˛ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¤ā§āĻā§āĻ waf āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ˛ā§āĻāĻ¨ā§āĻ¯āĻŧ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ exec ../../waf
. āĻ
āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻ¸ā§āĻāĻž āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž. āĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻāĻ° āĻāĻŦāĻ, āĻ¯āĻāĻ¨ āĻāĻžāĻ°āĻžāĻĒāĻāĻžāĻŦā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŖāĻ¯āĻŧ āĻāĻ°āĻž āĻāĻ āĻŋāĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻĒāĻ°ā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ āĻ¯ā§ āĻĒāĻĨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤
3.5 āĻā§āĻ¸ā§āĻāĻŋāĻ ns-3
āĻāĻĒāĻ¨āĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ ns-3 āĻŦāĻŋāĻ¤āĻ°āĻŖā§āĻ° āĻāĻāĻ¨āĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ ./test.py:
$ ./test.py
āĻāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ Waf. āĻ āĻŦāĻļā§āĻˇā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻŦāĻ˛āĻā§:
92 of 92 tests passed (92 passed, 0 failed, 0 crashed, 0 valgrind errors)
āĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ˛āĻā§āĻ°āĻŋāĻ¨ā§āĻĄ āĻā§āĻ°ā§āĻ¯āĻžāĻļ, āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻŦāĻž āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻŦāĻžāĻ°ā§āĻ¤āĻž, āĻā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻŦāĻž āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻāĻŦāĻ āĻā§āĻĄā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻ¸āĻā§āĻāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§āĨ¤
āĻāĻĒāĻ¨āĻŋ āĻĨā§āĻā§ āĻā§āĻĄāĻŧāĻžāĻ¨ā§āĻ¤ āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨ Waf āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻā§āĻā§āĻ¨ āĻāĻāĻāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻ, āĻ¯āĻž āĻĻā§āĻāĻ¤ā§ āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻšāĻŦā§:
Waf: Entering directory `/path/to/workspace/ns-3-allinone/ns-3-dev/build'
Waf: Leaving directory `/path/to/workspace/ns-3-allinone/ns-3-dev/build'
'build' finished successfully (1.799s)
Modules built:
aodv applications bridge
click config-store core
csma csma-layout dsdv
emu energy flow-monitor
internet lte mesh
mobility mpi netanim
network nix-vector-routing ns3tcp
ns3wifi olsr openflow
point-to-point point-to-point-layout propagation
spectrum stats tap-bridge
template test tools
topology-read uan virtual-net-device
visualizer wifi wimax
PASS: TestSuite ns3-wifi-interference
PASS: TestSuite histogram
...
PASS: TestSuite object
PASS: TestSuite random-number-generators
92 of 92 tests passed (92 passed, 0 failed, 0 crashed, 0 valgrind errors)
ns-3 āĻĄāĻŋāĻ¸ā§āĻā§āĻ°āĻŋāĻŦāĻŋāĻāĻļāĻ¨ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŋāĻ¨āĻž āĻ¤āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ (āĻāĻ˛ā§āĻ˛ā§āĻā§āĻ¯ āĻ¯ā§ "āĻĒāĻžāĻ¸: ..." āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻā§āĻ°āĻŽ āĻāĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻāĻŋ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĨ¤ āĻ¯ā§āĻāĻž āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻ¤āĻž āĻšāĻ˛ āĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻ° āĻļā§āĻˇā§ āĻ¸āĻžāĻ°āĻžāĻāĻļ āĻ˛āĻžāĻāĻ¨ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒāĻžāĻ¸ āĻšāĻ¯āĻŧā§āĻā§; āĻā§āĻ¨ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻŦāĻž āĻā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤) āĻāĻŦāĻ WafāĻāĻŦāĻ test.py āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻā§āĻ° āĻā§āĻĄāĻŧā§ āĻāĻžāĻ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛ āĻāĻ°āĻŦā§āĨ¤
3.6 āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻ¨ā§
āĻāĻŽāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻ˛āĻžāĻ Waf. āĻāĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽāĻā§ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¯ā§ āĻāĻžāĻ āĻāĻ°āĻž āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĒāĻžāĻĨāĻā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻā§āĻ˛āĻŋ āĻ°āĻžāĻ¨āĻāĻžāĻāĻŽā§ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ¸āĻšāĻāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ Waf āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¸āĻš -â¯-run
. āĻāĻ˛ā§āĻ¨ āĻ¸āĻ°ā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ ns-3 āĻ°āĻžāĻ¨ āĻāĻ°āĻŋ āĻāĻšā§ āĻŦāĻŋāĻļā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻžāĻāĻĒ āĻāĻ°ā§:
$ ./waf --run hello-simulator
āĻāĻ¯āĻŧāĻžāĻĢ āĻĒā§āĻ°āĻĨāĻŽā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻĻā§āĻāĻŦā§ āĻ¯ā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻŋ āĻ¸āĻ āĻŋāĻāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° Waf āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻāĻāĻĒā§āĻ āĻāĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻ˛āĻžāĻŦā§āĨ¤
Hello Simulator
āĻ āĻāĻŋāĻ¨āĻ¨ā§āĻĻāĻ¨! āĻāĻĒāĻ¨āĻŋ āĻāĻāĻ¨ āĻāĻāĻāĻ¨ ns-3 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§!
āĻāĻŽāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§āĻāĻ¤ā§ āĻ¨āĻž āĻĒā§āĻ˛ā§ āĻāĻŽāĻžāĻ° āĻāĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤?
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ¨ WafāĻāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻŦāĻŋāĻ˛ā§āĻĄāĻāĻŋ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨ āĻ¨āĻž "āĻšā§āĻ¯āĻžāĻ˛ā§ āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻāĻ°", āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻāĻžāĻŦāĻ¨āĻž āĻāĻā§ āĻ¯ā§ [āĻŦāĻŋāĻ˛ā§āĻĄ-āĻāĻāĻĨ-āĻāĻ¯āĻŧāĻžāĻĢ] āĻŦāĻŋāĻāĻžāĻā§ āĻāĻĒāĻ¨āĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻŽā§āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻā§āĻ¨ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻŽā§āĻĄā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻŽāĻŋāĻ¸ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻĄā§āĻŦāĻžāĻā§ āĻāĻ°āĻž. āĻāĻ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻāĻ¨āĻ¸ā§āĻ˛ āĻāĻāĻāĻĒā§āĻ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ ns-3 āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¯āĻž āĻ˛āĻāĻŋāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻ˛ā§ āĻāĻžāĻ¸ā§āĻāĻŽ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻāĻāĻĒā§āĻ āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻ āĻā§āĻˇāĻŽ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻā§āĻĄ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ - āĻāĻāĻŋ "āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ"āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ "āĻšā§āĻ¯āĻžāĻ˛ā§ āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻāĻ°" āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻ¤ā§ āĻ¨āĻž āĻĒāĻžāĻ¨ āĻ¤āĻŦā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻāĻŋ āĻ˛āĻŋāĻā§āĻ¨:
$ ./waf configure --build-profile=debug --enable-examples --enable-tests
āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŽāĻ¤ āĻāĻ°ā§ āĻ¨āĻŋāĻ¤ā§ Waf ns-3 āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻĄāĻŋāĻŦāĻžāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ°āĻ¯āĻŧā§āĻā§āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻžāĻāĻĒ āĻāĻ°ā§ āĻā§āĻĄāĻāĻŋāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻŋāĻŦāĻžāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖāĻāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤
$ ./waf
āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻ˛āĻžāĻ¨ āĻšā§āĻ¯āĻžāĻ˛ā§-āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻāĻ°, āĻāĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§.
3.6.1 āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ
ns-3 āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒā§āĻ¯āĻžāĻāĻžāĻ°ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨:
$ ./waf --run <ns3-program> --command-template="%s <args>"
āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ. āĻ¯ā§āĻā§āĻ¤āĻŋ -â¯-command-template
āĻĨā§āĻā§ Waf āĻŽā§āĻ˛āĻ¤ āĻĒā§āĻ°āĻā§āĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ°ā§āĻ¸āĻŋāĻĒāĻŋ Waf āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ¯āĻŧāĻžāĻĢ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§ āĻ¯ā§ āĻŦāĻŋāĻ˛ā§āĻĄāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻ¯āĻŧā§āĻā§, āĻļā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻĒāĻžāĻĨ āĻ¸ā§āĻ āĻāĻ°ā§, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ %s āĻĒā§āĻ˛ā§āĻ¸āĻšā§āĻ˛ā§āĻĄāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¨āĻžāĻŽ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸āĻāĻŋāĻā§ āĻāĻāĻŋāĻ˛ āĻŽāĻ¨ā§ āĻāĻ°ā§āĻ¨, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻžāĻ¤ā§ ns-3 āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻŦāĻ āĻāĻ° āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻāĻāĻ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋāĻ¤ā§ āĻāĻŦāĻĻā§āĻ§ āĻĨāĻžāĻā§:
$ ./waf --run '<ns3-program> --arg1=value1 --arg2=value2 ...'
āĻāĻ°ā§āĻāĻāĻŋ āĻŦāĻŋāĻļā§āĻˇ āĻāĻĒāĻ¯ā§āĻā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻ¸ā§āĻ¯ā§āĻ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ā§āĻāĻžāĻŦā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĨ¤ āĻ§āĻ°āĻž āĻ¯āĻžāĻ āĻŽāĻžāĻāĻā§āĻ¸ā§āĻ āĻ¨āĻžāĻŽā§ āĻāĻāĻāĻŋ āĻā§āĻ¸ā§āĻ āĻ¸ā§āĻ¯ā§āĻ āĻāĻā§ (āĻāĻ¸āĻ˛ā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¨ā§āĻ)āĨ¤ āĻāĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ ./test.py āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻāĻŋ, āĻ¯āĻž āĻŦāĻžāĻ°āĻŦāĻžāĻ° āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§ āĻāĻ˛ āĻāĻ°ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ°. āĻāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯:
$ ./waf --run test-runner --command-template="%s --suite=mytest --verbose"
āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšāĻŦā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ°. āĻ¯ā§āĻšā§āĻ¤ā§ mytest āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨ā§āĻ, āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻŦā§. āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻĒāĻ°ā§āĻā§āĻˇāĻž-āĻ°āĻžāĻ¨āĻžāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋ āĻŽā§āĻĻā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§, āĻ˛āĻŋāĻā§āĻ¨:
$ ./waf --run test-runner --command-template="%s --help"
3.6.2 āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ
āĻ
āĻ¨ā§āĻ¯ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻ
āĻ§ā§āĻ¨ā§ ns-3 āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĄāĻŋāĻŦāĻžāĻāĻžāĻ° (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŋāĻĄāĻŋāĻŦāĻŋ) āĻŦāĻž āĻāĻāĻāĻŋ āĻŽā§āĻŽāĻ°āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻā§āĻ˛ (āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻžāĻ˛āĻā§āĻ°āĻŋāĻ¨ā§āĻĄ), āĻāĻāĻāĻŋ āĻ
āĻ¨ā§āĻ°ā§āĻĒ āĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ -â¯-command-template = "âĻ"
. āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĄāĻŋāĻŦāĻžāĻāĻžāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻĄāĻŋāĻŦāĻŋ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¸āĻš āĻāĻĒāĻ¨āĻžāĻ° āĻšā§āĻ¯āĻžāĻ˛ā§-āĻ¸āĻŋāĻŽā§āĻ˛ā§āĻāĻ° ns-3 āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ:
$ ./waf --run=hello-simulator --command-template="gdb %s --args <args>"
āĻāĻ˛ā§āĻ˛ā§āĻā§āĻ¯ āĻ¯ā§ ns-3 āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ¨āĻžāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¸ā§ -â¯-run
, āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ (āĻāĻāĻžāĻ¨ā§ āĻāĻŋāĻĄāĻŋāĻŦāĻŋ) āĻšāĻ˛ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻā§āĻā§āĻ¨ -â¯-command-template
. āĻ
āĻĒāĻļāĻ¨ -â¯-args
āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻŋāĻĄāĻŋāĻŦāĻŋāĻ¯ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻŦāĻžāĻāĻŋ āĻ
āĻāĻļ "āĻ¨āĻŋāĻŽā§āĻ¨" āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻāĻ¤āĨ¤ (āĻāĻŋāĻā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻŋāĻĄāĻŋāĻŦāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻāĻŋ āĻ¨āĻž -â¯-args
. āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĨā§āĻā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻ¸āĻ°āĻžāĻ¨ -â¯-command-template
āĻāĻŦāĻ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻāĻŋāĻĄāĻŋāĻŦāĻŋ args.) āĻāĻŽāĻ°āĻž āĻĄāĻŋāĻŦāĻžāĻāĻžāĻ°ā§āĻ° āĻ
āĻ§ā§āĻ¨ā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻ°ā§āĻ¸āĻŋāĻĒāĻŋāĻāĻŋ āĻāĻŦāĻ āĻāĻā§āĻ°āĻāĻŋ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ:
$ ./waf --run test-runner --command-template="gdb %s --args --suite=mytest --verbose"
3.6.3 āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ
ns-3 āĻāĻžāĻā§āĻ° āĻāĻĒāĻ°ā§āĻ° āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻ¯āĻŧāĻžāĻĢ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻāĻ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°āĻāĻŋ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻĒā§āĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻ˛ā§āĻāĻž āĻšāĻŦā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋāĻā§ ns-3 āĻā§āĻ¸ āĻāĻžāĻā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻ°āĻžāĻāĻ¤ā§ āĻāĻžāĻ¨? āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ -â¯-cwd
:
$ ./waf --cwd=...
āĻāĻĒāĻ¨āĻžāĻ° āĻāĻžāĻā§āĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻāĻāĻĒā§āĻ āĻĢāĻžāĻāĻ˛āĻā§āĻ˛āĻŋ āĻĒā§āĻ¤ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŋ āĻāĻ°āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻŦāĻ˛ā§ āĻŽāĻ¨ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĒāĻ°ā§āĻā§āĻˇ āĻĒāĻĻāĻā§āĻˇā§āĻĒ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§:
$ function waff {
CWD="$PWD"
cd $NS3DIR >/dev/null
./waf --cwd="$CWD" $*
cd - >/dev/null
}
āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻāĻ āĻ¸āĻā§āĻāĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§, āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¯āĻŧ WafāĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻĻā§āĻ¯āĻŧ Waf āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻ¯āĻŧāĻžāĻ°ā§āĻāĻŋāĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§āĨ¤ āĻāĻŽāĻ°āĻž āĻĻāĻ˛ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻŋ -â¯-cwd
āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ¤āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ°āĻž āĻā§āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻļā§āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻĨā§āĻā§ āĻāĻ¯āĻŧāĻžāĻĢ āĻāĻžāĻ˛āĻžāĻ¨ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻāĻāĻāĻĒā§āĻ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
āĻāĻ¤ā§āĻ¸: www.habr.com