Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ubuntu 20.04 support #110

Open
ParthPratim opened this issue Nov 24, 2020 · 97 comments
Open

Ubuntu 20.04 support #110

ParthPratim opened this issue Nov 24, 2020 · 97 comments

Comments

@ParthPratim
Copy link
Contributor

  • ns3 version : ns-3.32
  • DCE version : commit 38b6242
  • Operating system/version : Ubuntu 20.04.1 LTS
  • Libc version : ldd (Ubuntu GLIBC 2.31-0ubuntu9) 2.31
  • compiler version : gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

Description of the problem

Branch to reproduce error: ubuntu-20.04-changes
On running the dce-iperf script on Ubuntu-20.04:

./waf --run dce-iperf

It throws the following error with Glibc:

Waf: Entering directory `/home/kiit/ltest3/bake/source/ns-3-dce/build'
Building library netlink
Building library dce
Building library dce-test
Building library dce-test-netlink
[302/322] Creating build/lib/pkgconfig/libns3-dev-netlink-debug.pc
[303/322] Creating build/lib/pkgconfig/libns3-dev-dce-debug.pc
Waf: Leaving directory `/home/kiit/ltest3/bake/source/ns-3-dce/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (1.470s)
Don't know how to configure dynamic library path for the platform 'linux'; assuming it's LD_LIBRARY_PATH.
Fatal error: glibc detected an invalid stdio handle
Command ['/home/kiit/ltest3/bake/source/ns-3-dce/build/bin/dce-iperf'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>").

output of ./waf configure

Setting top to                           : /home/kiit/ltest3/bake/source/ns-3-dce 
Setting out to                           : /home/kiit/ltest3/bake/source/ns-3-dce/build 
Checking for 'gcc' (C compiler)          : /usr/bin/gcc 
Checking for cc version                  : 9.3.0 
Checking for 'g++' (C++ compiler)        : /usr/bin/g++ 
Checking for program 'pkg-config'        : /usr/bin/pkg-config 
Checking for pkg-config version >= '0.0.0' : yes 
Checking for -Wl,--soname=foo              : yes 
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
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 library dl                    : yes 
Checking for glibc get_cpu_features        : yes 
Checking for glibc secure_getenv           : yes 
Checking for glibc explicit_bzero          : yes 
Checking for header valgrind/valgrind.h    : not found 
Checking for header valgrind/memcheck.h    : not found 
Checking for 'gcc' (C compiler)            : /usr/bin/gcc 
Checking for 'g++' (C++ compiler)          : /usr/bin/g++ 
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Could not find lib*-core-debug
Checking for 'gcc' (C compiler)            : /usr/bin/gcc 
Checking for 'g++' (C++ compiler)          : /usr/bin/g++ 
Could not find lib*-core-debug
Could not find lib*-core-debug
Checking for header hook-manager.h         : not found 
Checking for program 'valgrind'            : not found 
Checking for program 'doxygen'             : /usr/bin/doxygen 
Checking for header netinet/sctp.h         : not found 
Checking for 'gcc' (C compiler)            : /usr/bin/gcc 
Checking for 'g++' (C++ compiler)          : /usr/bin/g++ 
Checking for program 'python'              : /usr/bin/python3 
Checking for python version >= 2.3         : 3.8.5 
python-config                              : /usr/bin/python3-config 
Asking python-config for pyembed '--cflags --libs --ldflags --embed' flags : yes 
Testing pyembed configuration                                              : yes 
Asking python-config for pyext '--cflags --libs --ldflags' flags           : yes 
Testing pyext configuration                                                : yes 
Checking for pybindgen location                                            : ../pybindgen (guessed) 
Checking for python module 'pybindgen'                                     : 0.21.0.post8+g3a8e313 
Checking for pybindgen version                                             : 0.21.0.post8+g3a8e313 
PyBindGen                                                                  : ok 
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 
---- Summary of optional NS-3 features:
Static build                  : not enabled (option --enable-static not selected)
Logging                       : enabled
Assert checks                 : enabled
Code coverage                 : not enabled (option --enable-gcov not selected)
Example programs              : enabled
Test programs                 : enabled
Debug Symbols                 : enabled
ELF magic loader              : not enabled (elf-loader not found)
Aspect-based tracing          : not enabled (libaspect not found)
sctp-tools-dev                : not enabled (sctp-tools (netinet/sctp.h) not found)
Python Bindings               : enabled
Python API Scanning Support   : not enabled (Missing 'pygccxml' Python module)
'configure' finished successfully (2.696s)

Steps to reproduce

I have managed to build DCE on an Ubuntu-20.04 machine and have also mentioned the Github branch below to reproduce the same.

Things I did to get the DCE code to build :

  • Cloned into ns-3.32-alignment branch
  • Aligned a myscripts/mt3/dce-mt3.cc to the ns-3.32 API
  • I identified that the libio.h and _G_config.h header files were missing from Ubuntu-20.04 systems which implemented the _IO_getc and _IO_putc functions as required in libc-ns3.h. Bug Report
  • I had to commend out the lines DCE(_IO_getc) and DCE(_IO_putc) from libc-ns3.h.
  • I had to include the header file cstdarg.h to replace _G_va_list with __gnuc_va_list.
  • Included the header file linux/sockios.h to enable support for SIOCGSTAMP in test/test-socket.c.
  • The issue with bake.py show showing libc6-dbg requirement not satisfied was thrown because it isn't looking for ld-2.31.so and can be resolved by applying the following patch. Just download this patch and run git apply bake.patch
  • After applying the patch run bake.py configure -e dce-linux-dev

After building DCE when I ran the dce-iperf example it throws the following error
Fatal error: glibc detected an invalid stdio handle

I'm trying to work on this issue and would highly appreciate support from the DCE community.

Similar Issue : #57

@mas2tg
Copy link

mas2tg commented Nov 30, 2020

I am actually facing the same issue with Ubuntu 18.04. Does anyone have any updates on this?

@tomhenderson
Copy link
Collaborator

@ParthPratim is looking into fixing this; he will update any progress here (collaborators would be welcome).

@tomhenderson
Copy link
Collaborator

Possibly relevant: https://sourceware.org/bugzilla/show_bug.cgi?id=20191

It seems like disabling the vtables hardening is a possible solution (if that can be done).

Another possibility is to maintain and build a patched glibc for use with DCE.

@ParthPratim
Copy link
Contributor Author

I tried building glibc release 2.23 on an Ubuntu-20.04 machine but it fails with the following error:

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libselinux.so: undefined reference to `gettid@GLIBC_2.30'

I'm trying to find some way to get it to build.

I'll also try disabling vtables hardening, if that's possible.

@teto
Copy link
Member

teto commented Dec 1, 2020

IIRC that's a documented error, as in you need to add gettid to DCE. Btw do you need selinux ? this seems like a painful dep to have with dce

@ParthPratim
Copy link
Contributor Author

The error with selinux comes up when I tried to build the glibc release 2.23, not the DCE source.

I'm thinking of building the release/2.31/master branch of glibc and then commenting out the following line from vtables.c

__libc_fatal ("Fatal error: glibc detected an invalid stdio handle\n");

This line causes the DCE scripts to stop execution when it detects any tampering with the vtable.

I've generated the custom glibc as a proper system root against which DCE could be built.
I'm trying to figure out which scripts and build files to change so that I could tweek the gcc build arguments to initiate build against the custom glibc and not the default glibc.

@mas2tg
Copy link

mas2tg commented Dec 7, 2020

Thanks for looking into this. I am just wondering, does this issue prevent ns3-dce from working at all? I tried dce-udp-simple and dce-iperf, and I was wondering if all other binaries would fail as well (I believe the answer is yes).

@ParthPratim
Copy link
Contributor Author

All the binaries are likely to fail because the issue arises due to stack smashing used in DCE which is why Glibc throws the _libc_fatal(...)

@tomhenderson
Copy link
Collaborator

Can someone try to add the flag '-fvtable-verify=none' to cxxflags and see if it helps? Perhaps search the ns-3-dce/wscript and add this flag wherever there is a setting of 'cxxflags' variable?

Perhaps other options are possible from here?
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html

@mas2tg
Copy link

mas2tg commented Dec 8, 2020

Hey, I just followed your suggestion and ran into the same issue...

@tomhenderson
Copy link
Collaborator

After browsing the glibc source a bit today, I'm skeptical we can fix this with a linker option. Perhaps static linking would fix it, but I don't think we want to do that.

So it seems like the options are that we build a custom glibc for ourselves (downside-- a complicated build, reported to need 5.5GB disk space), or explore whether some other libc can be used instead: http://www.etalabs.net/compare_libcs.html

We could also ask glibc maintainers about a linker flag to disable this check (in future releases).

@mas2tg
Copy link

mas2tg commented Dec 9, 2020

Mmm... I wonder how hard it would be to change libc to musl. Even just using a custom glibc seems hard enough for me. Thanks for your help nonetheless!

@mas2tg
Copy link

mas2tg commented Dec 17, 2020

BTW, I am able to successfully run DCE with Ubuntu 16.04 (not sure if this was public knowledge).

@tomhenderson
Copy link
Collaborator

Yes, 16.04 is the distribution that I presently use for DCE.

@ParthPratim ParthPratim changed the title Glibc fatal error during DCE script execution on Ubuntu-20.04 Ubuntu 20.04 support Feb 7, 2021
@ParthPratim
Copy link
Contributor Author

ParthPratim commented Feb 9, 2021

I just found a way to setup a custom Glibc 2.25 and make NS-3 and DCE build from it, on Ubuntu 20.04. Almost all examples work correctly(haven't tested all of them) and the error which used to pop up, doesn't show up now.

Steps to reproduce the same :

Bake Setup

git clone https://gitlab.com/ParthPratim1/bake.git
cd bake
git checkout glibc-build
export PATH=`pwd`/build/bin${PATH:+:$PATH}
export PYTHONPATH=`pwd`/build/lib${PYTHONPATH:+:$PYTHONPATH}
export LD_LIBRARY_PATH=`pwd`/source/ns-3-dce/build/lib:`pwd`/source/ns-3-dev/build/lib:`pwd`/build/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
sudo apt-get install gawk

Bake Build

python3 bake.py configure -e dce-ns3-dev
python3 bake.py download -vvv
python3 bake.py build -vvv

Testing DCE

cd source/ns-3-dce
python3 waf --run dce-iperf
It works !...(at least for now)

Source References :

https://gitlab.com/ParthPratim1/bake/-/tree/glibc-build
https://github.com/ParthPratim/ns-3-dce/tree/glibc-build
https://gitlab.com/ParthPratim1/ns-3-dev/-/tree/glibc-build

Successful Run :

Screenshot from 2021-02-09 11-42-59

@dblessed
Copy link

dblessed commented Mar 2, 2021

python3 bake.py build -vvv
hi I am running dce on ubuntu 20 and I have encountered this error. please assist. the Glibc wont build

dblessed@ubuntu:~/bake$ python3 bake.py build -vvv

Building glibc-2.25 - > mkdir -p /home/dblessed/bake/build/glibc-build;cd /home/dblessed/bake/build/glibc-build;/home/dblessed/bake/source/glibc/configure --prefix=/usr --disable-werror
mkdir -p /home/dblessed/bake/build/glibc dir=/home/dblessed/bake/source/glibc
make dir=/home/dblessed/bake/build/glibc-build
make: *** No targets specified and no makefile found. Stop.

Building glibc-2.25 - Problem
Subprocess failed with error 2: ['make']
Error: Critical dependency, module "glibc-2.25" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)

@ParthPratim
Copy link
Contributor Author

python3 bake.py build -vvv
hi I am running dce on ubuntu 20 and I have encountered this error. please assist. the Glibc wont build

dblessed@ubuntu:~/bake$ python3 bake.py build -vvv

Building glibc-2.25 - > mkdir -p /home/dblessed/bake/build/glibc-build;cd /home/dblessed/bake/build/glibc-build;/home/dblessed/bake/source/glibc/configure --prefix=/usr --disable-werror
mkdir -p /home/dblessed/bake/build/glibc dir=/home/dblessed/bake/source/glibc
make dir=/home/dblessed/bake/build/glibc-build
make: *** No targets specified and no makefile found. Stop.

Building glibc-2.25 - Problem
Subprocess failed with error 2: ['make']
Error: Critical dependency, module "glibc-2.25" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)

The error you ran into might be a dependency problem.
It turns out that your system lacks some of the dependencies used by the configure script, which is responsible for generating the Makefile.

Please let me know the output of these commands so I that can help you out better :

cd /home/dblessed/bake/build/glibc-build
/home/dblessed/bake/source/glibc/configure --prefix=/usr --disable-werror

@dblessed
Copy link

dblessed commented Mar 3, 2021

/home/dblessed/bake/source/glibc/configure --prefix=/usr --disable-werror

This is my reply... sorry for the long script
dblessed@ubuntu:$ cd /home/dblessed/bake/build/glibc-build
dblessed@ubuntu:
/bake/build/glibc-build$ /home/dblessed/bake/source/glibc/configure --prefix=/usr --disable-werror
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for readelf... readelf
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether g++ can link programs... yes
checking for sysdeps preconfigure fragments... aarch64 alpha arm hppa i386 m68k microblaze mips nacl nios2 powerpc s390 sh sparc tile x86_64 checking whether gcc compiles in -mx32 mode by default... no

configure: running configure fragment for add-on libidn
checking for -fstack-protector... yes
checking for -fstack-protector-strong... yes
checking for -fstack-protector-all... yes
checking for assembler and linker STT_GNU_IFUNC support... yes
checking for gcc attribute ifunc support... yes
checking sysdep dirs... sysdeps/unix/sysv/linux/x86_64/64 sysdeps/unix/sysv/linux/x86_64 sysdeps/unix/sysv/linux/x86 sysdeps/unix/sysv/linux/wordsize-64 sysdeps/x86_64/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/x86_64 sysdeps/unix sysdeps/posix sysdeps/x86_64/64 sysdeps/x86_64/fpu/multiarch sysdeps/x86_64/fpu sysdeps/x86/fpu sysdeps/x86_64/multiarch sysdeps/x86_64 sysdeps/x86 sysdeps/ieee754/ldbl-96 sysdeps/ieee754/dbl-64/wordsize-64 sysdeps/ieee754/dbl-64 sysdeps/ieee754/flt-32 sysdeps/wordsize-64 sysdeps/ieee754 sysdeps/generic
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking whether as is GNU as... yes
checking whether ld is GNU ld... yes
checking for as... as
checking version of as... 2.34, ok
checking for ld... ld
checking version of ld... 2.34, ok
checking for gnumake... no
checking for gmake... no
checking for make... make
checking version of make... 4.2.1, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... no
checking for makeinfo... makeinfo
checking version of makeinfo... 6.7, ok
checking for sed... sed
checking version of sed... 4.7, ok
checking for gawk... gawk
checking version of gawk... 5.0.1, ok
checking if gcc is sufficient to build libc... yes
checking for nm... nm
checking for python3... python3
configure: WARNING:
*** These auxiliary programs are missing or incompatible versions: msgfmt
*** some features or tests will be disabled.
*** Check the INSTALL file for required versions.
checking LD_LIBRARY_PATH variable... ok
checking for bash... /usr/bin/bash
checking for perl... /usr/bin/perl
checking for install-info... /usr/bin/install-info
checking for bison... bison
checking version of bison... 3.5.1, ok
checking for .set assembler directive... yes
checking linker support for protected data symbol... yes
checking for broken attribute((alias()))... no
checking whether to put _rtld_local into .sdata section... no
checking whether to use .ctors/.dtors header and trailer... no
checking for libunwind-support in compiler... no
checking whether --noexecstack is desirable for .S files... yes
checking for -z combreloc... yes
checking for linker that supports -z execstack... yes
checking for -fpie... yes
checking for --hash-style option... yes
checking for sufficient default -shared layout... yes
checking for GLOB_DAT reloc... yes
checking linker output format... elf64-x86-64
checking for -fno-toplevel-reorder -fno-section-anchors... yes
checking for -mtls-dialect=gnu2... yes
checking whether cc puts quotes around section names... no
checking for __builtin_memset... yes
checking for redirection of built-in functions... yes
checking for compiler option to disable generation of FMA instructions... -ffp-contract=off
checking if gcc accepts -fno-tree-loop-distribute-patterns with attribute ((optimize))... yes
checking for libgd... no
checking for is_selinux_enabled in -lselinux... yes
checking for audit_log_user_avc_message in -laudit... no
checking for cap_init in -lcap... no
checking for _FORTIFY_SOURCE predefine... yes
checking whether the linker provides working __ehdr_start... yes
checking for __builtin_trap with no external dependencies... yes
checking whether the C++ compiler supports thread_local... yes
running configure fragment for sysdeps/unix/sysv/linux/x86_64/64
running configure fragment for sysdeps/unix/sysv/linux/x86_64
running configure fragment for sysdeps/unix/sysv/linux
checking installed Linux kernel header files... 3.2.0 or later
checking for kernel header at least 2.6.32... ok
checking for symlinks in /usr/include... ok
running configure fragment for sysdeps/gnu
running configure fragment for sysdeps/x86_64
checking for as... (cached) as
checking version of as... 2.34, ok
checking for AVX512DQ support in assembler... yes
checking for AVX512 support... yes
checking for Intel MPX support... yes
checking whether -fPIC is default... yes
checking whether -fPIE is default... yes
configure: creating ./config.status
config.status: creating config.make
config.status: creating Makefile
config.status: creating config.h
config.status: executing default commands

@ParthPratim
Copy link
Contributor Author

The configure script output seems fine to me.
There ain't any serious dependency issues, just msgfmt is missing, which can be installed with sudo apt-get install gettext

This is pretty strange to me, as I did a fresh install a few days back, and it worked fine.

You might want to try running python3 bake.py build -vvv again to see if it works.

I'll try doing a fresh install again to see if I can reproduce the same issue.

@dblessed
Copy link

dblessed commented Mar 3, 2021

python3 bake.py build -vvv
hi I am running dce on ubuntu 20 and I have encountered this error. please assist. the Glibc wont build

dblessed@ubuntu:~/bake$ python3 bake.py build -vvv

Building glibc-2.25 - > mkdir -p /home/dblessed/bake/build/glibc-build;cd /home/dblessed/bake/build/glibc-build;/home/dblessed/bake/source/glibc/configure --prefix=/usr --disable-werror
mkdir -p /home/dblessed/bake/build/glibc dir=/home/dblessed/bake/source/glibc
make dir=/home/dblessed/bake/build/glibc-build
make: *** No targets specified and no makefile found. Stop.

Building glibc-2.25 - Problem
Subprocess failed with error 2: ['make']
Error: Critical dependency, module "glibc-2.25" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)

The error you ran into might be a dependency problem.
It turns out that your system lacks some of the dependencies used by the configure script, which is responsible for generating the Makefile.

Please let me know the output of these commands so I that can help you out better :

cd /home/dblessed/bake/build/glibc-build
/home/dblessed/bake/source/glibc/configure --prefix=/usr --disable-werror

Hi thank you for the reply. I did as you suggested and ran the above two lines. Glibc built but later terminated and failed to finish the build process. These were the last lines of the entire build

-Wl,--as-needed /home/dblessed/bake/build/glibc-build/elf/ld.so -Wl,--no-as-needed -lgcc gcc --print-file-name=crtendS.o /home/dblessed/bake/build/glibc-build/csu/crtn.o
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libselinux.so: undefined reference to `gettid@GLIBC_2.30'
collect2: error: ld returned 1 exit status
make[2]: *** [../Rules:192: /home/dblessed/bake/build/glibc-build/nss/makedb] Error 1
make[2]: Leaving directory '/home/dblessed/bake/source/glibc/nss'
make[1]: *** [Makefile:215: nss/others] Error 2
make[1]: Leaving directory '/home/dblessed/bake/source/glibc'
make: *** [Makefile:9: all] Error 2

Building glibc-2.25 - Problem
Subprocess failed with error 2: ['make']
Error: Critical dependency, module "glibc-2.25" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)

@ParthPratim
Copy link
Contributor Author

Are you on Ubuntu 20.04 ? Cause I'm using that, and it builds fine.
As far as I see there's some issue with the linker on your system.

@dblessed
Copy link

dblessed commented Mar 3, 2021

Are you on Ubuntu 20.04 ? Cause I'm using that, and it builds fine.
As far as I see there's some issue with the linker on your system.

Yes i am on ubuntu 20

i have built again and this is what i get still on glibc

Building glibc-2.25 - > mkdir -p /home/dblessed/bake/build/glibc-build;cd /home/dblessed/bake/build/glibc-build;/home/dblessed/bake/source/glibc/configure --prefix=/usr --disable-werror
mkdir -p /home/dblessed/bake/build/glibc dir=/home/dblessed/bake/source/glibc
make dir=/home/dblessed/bake/build/glibc-build
make: libc.so.6: version `GLIBC_2.27' not found (required by make)

Building glibc-2.25 - Problem
Subprocess failed with error 1: ['make']
Error: Critical dependency, module "glibc-2.25" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)

@ParthPratim
Copy link
Contributor Author

ParthPratim commented Mar 3, 2021

Can you please send me the output of :
ldd --version ldd
and
lsb_release -a

@dblessed
Copy link

dblessed commented Mar 3, 2021

ldd --version ldd

dblessed@ubuntu: /bake$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal

dblessed@ubuntu: /bake$ ldd --version ldd
ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

@ParthPratim
Copy link
Contributor Author

ParthPratim commented Mar 3, 2021

It's pretty strange because it builds on Ubuntu 20.04.1 with the same Glibc version as yours.

Can you please attach the output of :

cd /home/dblessed/bake/source/glibc
git branch

@dblessed
Copy link

dblessed commented Mar 3, 2021

It's pretty strange because it builds on Ubuntu 20.04.1 with the same Glibc version as yours.

Can you please attach the output of :

cd /home/dblessed/bake/source/glibc
git branch

though I am also missing this

Dependency libc-debug - Problem
Module: "libc-debug" is required by other modules but it is not available on your system.
Ask your system admin or review your library database to add "libc-debug"
More information from the module: "Didn't find: libc debug package; please install it."
Problem: Optional dependency, module "libc-debug" not available
This may reduce the functionality of the final build.
However, bake will continue since "libc-debug" is not an essential dependency.
For more information call bake with -v or -vvv, for full verbose mode.

@ParthPratim
Copy link
Contributor Author

though I am also missing this

Dependency libc-debug - Problem
Module: "libc-debug" is required by other modules but it is not available on your system.
Ask your system admin or review your library database to add "libc-debug"
More information from the module: "Didn't find: libc debug package; please install it."
Problem: Optional dependency, module "libc-debug" not available
This may reduce the functionality of the final build.
However, bake will continue since "libc-debug" is not an essential dependency.
For more information call bake with -v or -vvv, for full verbose mode.

You can fix that with :

sudo apt-get install libc6-dbg

@dblessed
Copy link

dblessed commented Mar 3, 2021

git branch
dblessed@ubuntu: $ cd /home/dblessed/bake/source/glibc
dblessed@ubuntu: /bake/source/glibc$ git branch

  • release/2.25/master

@dblessed
Copy link

Hi Parth, how do I run examples in the examples folder of dce-ns3... such as this example dce-mptcp-lte-wifi.cc

Try executing this :

cd <your-bake-directory>/source/ns-3-dce 
python3 waf --run dce-mptcp-lte-wifi

blessed@ubuntu:~/bake/source/ns-3-dce$ python3 waf --run dce-mptcp-lte-wifi
Waf: Entering directory `/home/dblessed/bake/source/ns-3-dce/build'
Building library netlink
Building library dce
Building library dce-test
Building library dce-test-netlink
program 'dce-mptcp-lte-wifi' not found; available programs are: ['dce-emu-ping', 'myscripts/dce-emu-ping/bin/dce-emu-ping', 'dce-tuto1', 'myscripts/tuto1/bin/dce-tuto1', 'dce-twin', 'myscripts/loaders-test/bin/dce-twin', 'vdl-dce-twin', 'myscripts/loaders-test/bin/vdl-dce-twin', 'dce-ping', 'myscripts/ping/bin/dce-ping', 'dce-ccn-exp1', 'myscripts/ccn-exp1/bin/dce-ccn-exp1', 'dce-tuto3', 'myscripts/tuto3/bin/dce-tuto3', 'dce-ccn-vlc', 'myscripts/ccn-tap-vlc/bin/dce-ccn-vlc', 'dce-mt3', 'myscripts/mt3/bin/dce-mt3', 'dce-sleep', 'myscripts/sleep/bin/dce-sleep', 'dce-ccn-mt1', 'myscripts/ccn-mt1/bin/dce-ccn-mt1', 'dce-ping-mt1', 'myscripts/ping-mt1/bin/dce-ping-mt1', 'dce-tuto2', 'myscripts/tuto2/bin/dce-tuto2', 'dce-mt2', 'myscripts/mt2/bin/dce-mt2', 'test', './lib/test', 'dce-tcp-simple', './bin/dce-tcp-simple', 'dce-udp-simple', './bin/dce-udp-simple', 'dce-ccnd-simple', './bin/dce-ccnd-simple', 'dce-ccnd-short-stuff', './bin/dce-ccnd-short-stuff', 'dce-tap-udp-echo', './bin/dce-tap-udp-echo', 'dce-tap-ccnd', './bin/dce-tap-ccnd', 'dce-tap-vlc', './bin/dce-tap-vlc', 'dce-bash-simple', './bin/dce-bash-simple', 'dce-ccn-cache', './bin/dce-ccn-cache', 'dce-iperf', './bin/dce-iperf', 'dce-iperf-emulation', './bin/dce-iperf-emulation', 'linear-udp-perf', './bin/linear-udp-perf', 'dce-debug-aspect', './bin/dce-debug-aspect', 'test-runner', './bin/test-runner']

Oh sorry my bad. Actually the dce-mptcp-lte-wifi example requires us to install DCE with the linux kernel enabled. Currently you are using the base version with ns-3 enabled. You can try to execute examples like dce-iperf which do not necessarily require the libos shared library.

To run dce-mptcp-lte-wifi you would have to reinstall DCE using the commands here #110 (comment) but with a slight variation. I'll suggest create another directory for this installation if you want to have both the versions on your system.

When you're running the python3 bake.py configure dce-ns3-dev command you would have to run this command below in place of the one given in my comment:

which of the two should I use? Should I include -e

python3 bake.py configure dce-linux-dev 

python3 bake.py configure -e dce-linux-dev

@ParthPratim
Copy link
Contributor Author

which of the two should I use? Should I include -e

python3 bake.py configure dce-linux-dev 

python3 bake.py configure -e dce-linux-dev

Oops, I missed it.
Yes do add a -e.

@dblessed
Copy link

okay

@TheRealSonicFan
Copy link

TheRealSonicFan commented Jul 30, 2021

@ParthPratim @tomhenderson

Hello Parth and Tom, I attempted to build the DCE with the instructions above and was greeted with a glibc-2.31 building issue for the file "glibc-2.31-disable-security-checks.patch" is not available. Checked the source from GitHub, it seems that the specific file is not at https://github.com/direct-code-execution/ns-3-dce/tree/master/utils. Could you please enlighten me on what I need to do to resolve the issue? Below are the steps I did and additional steps are marked with bullets at the beginning of lines.

Provisioning

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install python3
  • sudo apt-get install python3-pip
  • sudo apt-get install build-essential
  • sudo reboot

// After restarting the system, I started with the instructions listed at the above post.

Bake Setup

git clone https://gitlab.com/ParthPratim1/bake.git
cd bake
git checkout glibc-build
export PATH=pwd/build/bin${PATH:+:$PATH}
export PYTHONPATH=pwd/build/lib${PYTHONPATH:+:$PYTHONPATH}
export LD_LIBRARY_PATH=pwd/source/ns-3-dce/build/lib:pwd/source/ns-3-dev/build/lib:pwd/build/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
sudo apt-get install gawk

Bake Build

python3 bake.py configure -e dce-ns3-dev
python3 bake.py download -vvv

// Resolve dependencies

  • sudo apt-get install bison
  • sudo apt-get install makeinfo
  • sudo apt-get install texinfo

// The file on the path /usr/lib/ld-linux.so.2 from bakeconf.xml seems to be only available on a 32-bit installation of libc. Since I am on a 64-bit system, I softlinked the 64-bit version of libc.so to the specific location indicated in the bakeconf.xml to enable the compilation.

  • sudo ln -s /usr/lib/x86_64-linux-gnu/libc.so /usr/lib/ld-linux.so.2

// As acceptable files of libc-debug from bakeconf.xml are only up to ld-2.25.so, I again softlinked the ld-2.31.so to ensure these dependency issues can be solved.

  • sudo ln -s /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.31.so /usr/lib/debug/lib64/ld-linux-x86-64.so.2.debug

python3 bake.py build -vvv

Error Encountered

glibc-2 31_Error

Technical Details

Here are the detailed outputs of my setup.

  1. Output of
    cd /home/andy/Documents/bake/build/glibc-build
    /home/andy/Documents/bake/source/glibc/configure --prefix=/usr --disable-werror

glibc_configure_output.txt

  1. Outputs of
    a) ldd --version ldd

    ldd (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31
    Copyright (C) 2020 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    Written by Roland McGrath and Ulrich Drepper.

    b) lsb_release -a

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 20.04.2 LTS
    Release: 20.04
    Codename: focal

  2. Output of
    cd /home/andy/Documents/bake/source/glibc
    git branch

    * release/2.31/master

  3. Output of readelf -Ws /bin/make | grep GLIBC*

make_glibc_grep.txt

  1. Output of make --version

    GNU Make 4.2.1
    Built for x86_64-pc-linux-gnu
    Copyright (C) 1988-2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

Would it be suggested that I install the 2.25 version of libc instead of the package maintainers' (via sudo apt-get install libc6 and sudo apt-get install libc6-dbg) one? Please help me with the issue.

Thanks! Much appreciated!

Regards,

Andy

@ParthPratim
Copy link
Contributor Author

@TheRealSonicFan The glibc-build branch wouldn't build as of now because the repositories are being pointed to upstream, as they are currently in the process of getting reviewed for a probable merge.

You can try out the glibc-build-self branch of my bake repo.

git clone https://gitlab.com/ParthPratim1/bake.git
cd bake
git checkout glibc-build-self

And then proceed with the usual installation steps.

Let me know if you face any issues.

@TheRealSonicFan
Copy link

@ParthPratim Hi Parth. Thanks for your help. :D The program finally compiled and most of the examples worked except the LTE-based ones. I compiled the DCE with the parameter of python3 bake.py configure -e dce-linux-dev and then ran python3 waf --run dce-mptcp-lte-wifi as well as python3 waf --run dce-mptcp-lte-wifi-v6. However, errors occurred. Could you please enlighten me on how to resolve these issues?

dce-mptcp-lte-wifi_Issues

In addition, it seems that the python3 waf --run <Name of the Module> command only accepts compiled binaries instead of .cc source files despite it is possible to automatically compile and run .cc on ns-3. For instance, assume that a .cc file is at the path scratch/lte_test.cc, the python3 waf --run scratch/lte_test works in this case. Could you please also help me with compiling .cc files under the DCE?

DCE_CC_Compilation

@ParthPratim
Copy link
Contributor Author

ParthPratim commented Jul 31, 2021

@ParthPratim Hi Parth. Thanks for your help. :D The program finally compiled and most of the examples worked except the LTE-based ones. I compiled the DCE with the parameter of python3 bake.py configure -e dce-linux-dev and then ran python3 waf --run dce-mptcp-lte-wifi as well as python3 waf --run dce-mptcp-lte-wifi-v6. However, errors occurred. Could you please enlighten me on how to resolve these issues?

dce-mptcp-lte-wifi_Issues

Thanks for the report. I could reproduce a SIGSEGV on both Ubuntu 16.04 and Ubuntu 20.04, so it's probably an issue from the past. I'll try to take a look at it, I don't have much idea about this at this point.

In addition, it seems that the python3 waf --run <Name of the Module> command only accepts compiled binaries instead of .cc source files despite it is possible to automatically compile and run .cc on ns-3. For instance, assume that a .cc file is at the path scratch/lte_test.cc, the python3 waf --run scratch/lte_test works in this case. Could you please also help me with compiling .cc files under the DCE?

DCE_CC_Compilation

That's because it doesn't look for simulation sources, because someone could have multiple source files which compiles together to make one final simulation executable (for example our test suites like dce-process-manager). waf would look up the simulation executable from the bin_dce folder of ours and then execute it after it has setup the required execution environment, loaded required libraries (dce's libc, etc.), and then would spawn the simulation executable.

@tomhenderson
Copy link
Collaborator

I filed issue #122 to track these example program failures (separate from Ubuntu 20.04 support).

@ntonnaett
Copy link

Thanks for your work! I'm on a fresh Ubuntu 20.04. But bake doesn't find libc. It's on branch glibc-build-self.

~/bake$ ./bake.py --debug download -vvv
 >> Downloading iperf - 
  >>> No actions needed, the source directory for iperf already exists.
      If you want to update the module, use update instead download, or, if you want a fresh copy,
      either remove it from the source directory, or use the --force_download option.
 >> Download iperf - OK
 >> Searching for system dependency libexpat-dev - 
 >> Search libexpat-dev - OK
 >> Searching for system dependency libpcap-dev - 
 >> Search libpcap-dev - OK
 >> Searching for system dependency gi-cairo - 
 >> Search gi-cairo - OK
 >> Searching for system dependency gir-bindings - 
 >> Search gir-bindings - OK
 >> Searching for system dependency pygobject - 
 >> Search pygobject - OK
 >> Searching for system dependency pygraphviz - 
 >> Search pygraphviz - OK
 >> Searching for system dependency python3-dev - 
 >> Search python3-dev - OK
 >> Searching for system dependency gawk - 
 >> Search gawk - OK
 >> Downloading bash - 
  >>> No actions needed, the source directory for bash already exists.
      If you want to update the module, use update instead download, or, if you want a fresh copy,
      either remove it from the source directory, or use the --force_download option.
 >> Download bash - OK
 >> Downloading thttpd - 
  >>> No actions needed, the source directory for thttpd already exists.
      If you want to update the module, use update instead download, or, if you want a fresh copy,
      either remove it from the source directory, or use the --force_download option.
 >> Download thttpd - OK
 >> Downloading wget - 
  >>> No actions needed, the source directory for wget already exists.
      If you want to update the module, use update instead download, or, if you want a fresh copy,
      either remove it from the source directory, or use the --force_download option.
 >> Download wget - OK
 >> Searching for system dependency libc - 

 >> Dependency  libc - Problem
    Module: "libc" is required by other modules but it is not available on your system.
     Ask your system admin or review your library database to add "libc"
    More information from the module: "Didn't find:   libc package; please install it."

bake.Exceptions.TaskError:     Module: "libc" is required by other modules but it is not available on your system.
     Ask your system admin or review your library database to add "libc"
    More information from the module: "Didn't find:   libc package; please install it."

  File "/home/nils/bake/bake/Module.py", line 241, in download
    self._do_download(env, self._source, self._name, forceDownload)
  File "/home/nils/bake/bake/Module.py", line 213, in _do_download
    source.download(env)
  File "/home/nils/bake/bake/ModuleSource.py", line 663, in download
    raise TaskError('    Module: \"%s\" is required by other modules but it is not available on your system.\n'
 > Error:  Critical dependency, module "libc" not available 

bake.Dependencies.DependencyUnmet: (<bake.Module.Module object at 0x7f8f4896aca0>, 'not available')

  File "/home/nils/bake/bake/Bake.py", line 699, in _iterate
    deps.resolve(targets)
  File "/home/nils/bake/bake/Dependencies.py", line 188, in resolve
    self._resolve_serial(targets, callback)
  File "/home/nils/bake/bake/Dependencies.py", line 423, in _resolve_serial
    finished = self._resolve_one_iteration(targets, callback)
  File "/home/nils/bake/bake/Dependencies.py", line 401, in _resolve_one_iteration
    raise DependencyUnmet(i.dst(), tailError)

Is something missing for downloading?

@ParthPratim
Copy link
Contributor Author

Thanks for your work! I'm on a fresh Ubuntu 20.04. But bake doesn't find libc. It's on branch glibc-build-self.

The maintainers are working on an official release for DCE which would start supporting Ubuntu-20.04.
Meanwhile, I just pushed a commit which should fix your errors.

Please enter your bake directory, and try executing the following commands.

git pull
rm bakefile.xml
./bake.py configure -e dce-linux-dev
./bake.py download -vvv
./bake.py build -vvv

@ntonnaett
Copy link

After apt install cmake libc6-dev libc6-dev-i386 libclang-dev llvm-dev automake python3-pip (actually for python bindings) it finds libc (but probably the 32bit version). I'll try out your change. Thanks for responding so fast.

@KeyiJJJ
Copy link

KeyiJJJ commented Apr 19, 2022

Hi when I build ccnx,I face this problem. Could you please help me to fix this? Thanks!
D31S%65NZIE{% 0WB879C

@KeyiJJJ
Copy link

KeyiJJJ commented Apr 19, 2022

Hi when I build ccnx,I face this problem. Could you please help me to fix this? Thanks! D31S%65NZIE{% 0WB879C

My python version is 3.8.

@tomhenderson
Copy link
Collaborator

Hello @KeyiJJJ, I haven't tried to fix ccnx, as it doesn't seem to be supported any longer (no commits for 9 years). I don't plan to support it going forward.

@tomhenderson
Copy link
Collaborator

Current (July 2022) recipe for testing Ubuntu 20.04 future DCE release 1.12:

$ git clone https://gitlab.com/tomhenderson/bake.git
$ cd bake
$ git checkout -b dce-1.12 origin/dce-1.12
$ export PATH=$PATH:`pwd`/build/bin
$ export DCE_PATH=`pwd`/build/bin_dce:`pwd`/build/sbin
$ export LD_LIBRARY_PATH=`pwd`/build/lib
$ export PYTHONPATH=`pwd`/build/lib

At this point, there are two targets to configure: 1) dce-ns3-1.12 or 2) dce-linux-1.12. Pick one of them. The second option contains the Linux kernel support.

$ ./bake.py configure -e dce-linux-1.12
$ ./bake.py download
$ ./bake.py build
$ cd source/ns-3-dce
$ ./test.py

All tests should pass except the two related to CCNX (which is not supported)-- see above.

Caution: you will need about 15 GB of disk space to build it all. We plan to provide a Docker image that is more space-efficient.

@rezapoorzare1
Copy link

DearTomhenderson,
I hope you are doing well.
I have tried the steps one by one in ubuntu 20, however, in the end, I encountered this error:

Error: Critical dependency, module "dce-linux-1.12" failed

Could you please help me to solve this problem?
Thanks a lot

@tomhenderson
Copy link
Collaborator

If a non-verbose build fails, try to build with verbose output and redirect the output to a file, and inspect that file later to see what the failure was.

$ ./bake.py build -vvv > build.out 2>&1

@rezapoorzare1
Copy link

Thanks a lot for your response.
This is the build.out file:
https://easyupload.io/klli5s
Could you please help me to find the solution?

Thanks

@mohit-0
Copy link

mohit-0 commented Nov 8, 2022

Dear Tomhenderson and ParthPratim,
I am trying to build dce-ns3-1.12 version in ubuntu 20.4 , but it is failing to build ccnx and elf-loader .
Can you please help to resolve this build issue.

build output :

Building bash - OK
Building thttpd - OK
Building wget - OK
Building iperf - OK
Building glibc-2.31 - OK
Building ccnx - Problem
Problem: Optional dependency, module "ccnx" failed
This may reduce the functionality of the final build.
However, bake will continue since "ccnx" is not an essential dependency.
For more information call bake with -v or -vvv, for full verbose mode.

Building netanim-3.108 - OK
Building libaspect - OK
Building pybindgen-0.22.0 - OK
Building linux-dev - OK
Building elf-loader - Problem
Problem: Optional dependency, module "elf-loader" failed
This may reduce the functionality of the final build.
However, bake will continue since "elf-loader" is not an essential dependency.
For more information call bake with -v or -vvv, for full verbose mode.

Building ns-3.35 - OK
Building dce-ns3-1.12 - OK

Thanks & Regards,
Mohit.

@tomhenderson
Copy link
Collaborator

Dear Tomhenderson and ParthPratim, I am trying to build dce-ns3-1.12 version in ubuntu 20.4 , but it is failing to build ccnx and elf-loader . Can you please help to resolve this build issue.

ccnx and elf-loader are not supported in this version. I am not sure whether anyone uses CCNX, so I doubt that it will be restored unless someone provides a patch. elf-loader will hopefully be fixed because it provides performance improvements, but again a patch is wanted.

@mohit-0
Copy link

mohit-0 commented Nov 10, 2022

Hi @tomhenderson Tomhenderson and @ParthPratim ,
I am trying to build dce-ns3-1.12 and dce-quagga-dev in ubuntu 20.4 . It is failing in download step as not able to locate libc.so file. Can you please share the success build version for this.

find the console output :

git clone https://gitlab.com/tomhenderson/bake.git
cd bake
git checkout -b dce-1.12 origin/dce-1.12
Branch 'dce-1.12' set up to track remote branch 'dce-1.12' from 'origin'.
Switched to a new branch 'dce-1.12'
export BAKE_HOME=pwd/bake
export PATH=$PATH:$BAKE_HOME
export PYTHONPATH=$PYTHONPATH:$BAKE_HOME
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$BAKE_HOME
bake.py configure -e dce-linux-1.12 -e dce-quagga-dev
bake.py download

Downloading bash - (Nothing to do, source directory already exists) - OK
Downloading thttpd - (Nothing to do, source directory already exists) - OK
Downloading wget - (Nothing to do, source directory already exists) - OK
Searching for system dependency bison - OK
Searching for system dependency libdb-dev - OK
Searching for system dependency lksctp-dev - OK
Searching for system dependency libssl-dev - OK
Searching for system dependency libsysfs-dev - OK
Searching for system dependency flex - OK
Downloading iperf - OK
Searching for system dependency libexpat-dev - OK
Searching for system dependency libpcap-dev - OK
Searching for system dependency setuptools - OK
Searching for system dependency python3-setuptools - OK
Searching for system dependency gi-cairo - OK
Searching for system dependency gir-bindings - OK
Searching for system dependency pygobject - OK
Searching for system dependency pygraphviz - OK
Searching for system dependency python3-dev - OK
Searching for system dependency bc - OK
Searching for system dependency gawk - OK
Searching for system dependency indent - OK
Searching for system dependency qt - OK
Searching for system dependency libc - OK
Searching for system dependency g++ - OK
Searching for system dependency mercurial - OK
Searching for system dependency cmake - OK
Downloading net-next-nuse-4.4.0 (target directory:net-next-nuse-4.4.0) - OK
Downloading iproute2-4.4.0 (target directory:iproute2-4.4.0) - OK
Downloading glibc-2.31 (target directory:glibc) - OK
Downloading ccnx - OK
Downloading quagga - OK
Downloading iputils - OK
Downloading netanim-3.108 - OK
Downloading netanim - OK
Downloading libaspect - OK
Searching for system dependency libc-2.31 - Problem
Error: Critical dependency, module "libc-2.31" not available
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)

Thanks & Regards,
Mohit.

@tomhenderson
Copy link
Collaborator

Searching for system dependency libc-2.31 - Problem
Error: Critical dependency, module "libc-2.31" not available
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)

I think that sudo apt install libc6 will fix this. I'm not sure whether we can get rid of this dependency now that we are providing the custom glibc-2.31 also; will have to experiment.

@hawkinsw
Copy link

Thanks @tomhenderson for the great support on getting DCE working for Ubuntu 20.04.

@kclaka
Copy link

kclaka commented Jun 11, 2023

I am having this error trying to install dce please help. I am on Ubuntu 20.04

` >> Building dce-linux-1.12 - Problem

Subprocess failed with error 1: ['/usr/bin/python3', '/home/kig/dce/bake/source/ns-3-dce/waf']
Error: Critical dependency, module "dce-linux-1.12" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)`

@tomhenderson
Copy link
Collaborator

I am having this error trying to install dce please help. I am on Ubuntu 20.04

` >> Building dce-linux-1.12 - Problem

Subprocess failed with error 1: ['/usr/bin/python3', '/home/kig/dce/bake/source/ns-3-dce/waf']
Error: Critical dependency, module "dce-linux-1.12" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)`

Please retry with 'bake.py build -vvv' and provide more information about the build error.

@kclaka
Copy link

kclaka commented Jun 12, 2023

I am having this error trying to install dce please help. I am on Ubuntu 20.04
` >> Building dce-linux-1.12 - Problem

Subprocess failed with error 1: ['/usr/bin/python3', '/home/kig/dce/bake/source/ns-3-dce/waf']
Error: Critical dependency, module "dce-linux-1.12" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)`

Please retry with 'bake.py build -vvv' and provide more information about the build error.

Thank you for your response. Now it is failing while building ns-3.35

Waf: Leaving directory /users/kigbechi/bake/source/ns-3.35/build'
Build failed
-> task in 'ns3-spectrum' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-csma' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-buildings' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-internet' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-buildings' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)
-> task in 'ns3-wifi' failed with exit status 1 (run with -v to display more information)

Building ns-3.35 - Problem
Subprocess failed with error 1: ['/usr/bin/python3.9', '/users/kigbechi/bake/source/ns-3.35/waf']
Error: Critical dependency, module "ns-3.35" failed
For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)`

@tomhenderson
Copy link
Collaborator

Are you sure that you haven't run out of disk space, or have a file permissions problem? Those errors might be suggestive of that. If not, running the build with the '-vvv' option should show more information about exactly what failed.

@kclaka
Copy link

kclaka commented Jun 12, 2023

Are you sure that you haven't run out of disk space, or have a file permissions problem? Those errors might be suggestive of that. If not, running the build with the '-vvv' option should show more information about exactly what failed.

Thank you! I think that is it. Thanks for your response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests