Hello ns-3 community,
I'm encountering a build failure when trying to build ns-3 DCE 1.12 with glibc 2.31 on Ubuntu 20.04. I'm following the DCE 1.12 release documentation and the work by Parth Pratim Chatterjee (https://ns-3-dce-linux-upgrade.github.io/), but running into linking errors during the glibc build process.
Environment Details:
Error Details: The build fails with multiple undefined references during the rtld (runtime dynamic linker) linking stage:
gcc -nostdlib -nostartfiles -shared -o <build-dir>/elf/ld.so.new ... /usr/bin/ld: <build-dir>/elf/librtld.os: in function `dl_main': <source-dir>/glibc/elf/rtld.c:1707: undefined reference to `__access' /usr/bin/ld: <build-dir>/elf/librtld.os: in function `process_envvars': <source-dir>/glibc/elf/rtld.c:2720: undefined reference to `__access' /usr/bin/ld: <source-dir>/glibc/elf/rtld.c:2746: undefined reference to `__GI___open64_nocancel' /usr/bin/ld: <build-dir>/elf/librtld.os: in function `_dl_process_pt_note': <source-dir>/glibc/elf/../sysdeps/x86/dl-prop.h:170: undefined reference to `__GI___pread64_nocancel' /usr/bin/ld: <build-dir>/elf/librtld.os: in function `lose': <source-dir>/glibc/elf/dl-load.c:838: undefined reference to `__GI___close_nocancel' /usr/bin/ld: <build-dir>/elf/librtld.os: in function `_dl_get_file_id': <source-dir>/glibc/elf/../sysdeps/posix/dl-fileid.h:37: undefined reference to `__GI___fxstat64' /usr/bin/ld: <build-dir>/elf/librtld.os: relocation R_X86_64_PC32 against undefined hidden symbol `rtld_errno' can not be used when making a shared object /usr/bin/ld: final link failed: bad value collect2: error: ld returned 1 exit status make: *** [Makefile:539: <build-dir>/elf/ld.so] Error 1What I've Verified:
Questions:
I understand that DCE 1.12 requires building a custom glibc due to changes in newer Ubuntu releases, but I'm unclear on the complete build process to avoid these undefined reference errors.
Any guidance or pointers to additional documentation would be greatly appreciated!
Thank you