www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - buffer overflow detected __fortify_fail when building dmd from source

on one ubuntu64 box (ubuntu 12.04) (call it A), compiling from source (from
 dmd.2.064.2.zip and following http://dlang.org/dmd-linux.html), I get:

$cd src/dmd
$make -f posix.mak -j8
*fatal: Not a git repository (or any of the parent directories): .git*
#but compiles ok
$cd ../druntime
$make -f posix.mak -j8 DMD=../dmd/dmd
#ok...
$cd ../phobos
$make -f posix.mak -j8 DMD=../dmd/dmd
*awk: cannot open ../dmd/VERSION (No such file or directory) *#repeated
several times
The 'crc32' module has been scheduled for *deprecation*. Please use
'std.digest.crc' instead.
std.md5 is scheduled for *deprecation*. Please use std.digest.md instead

and indeed, VERSION is in ../VERSION, not ../dmd/VERSION


on another ubuntu64 box (call it B), I cannot even compile from source
unless I pass DEBUG=1 flag;

without DEBUG=1 I get (after cleaning up everything):

$cd src/dmd
$make -f posix.mak -j8
#ok till this point
$cd ../druntime
$make -f posix.mak -j8 DMD=../dmd/dmd
../dmd/dmd -lib -oflib/libdruntime-linuxdefault.a -Xfdruntime.json ...#etc

*** *buffer overflow detected* ***: ../dmd/dmd terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6
#also shows those symbols:
__fortify_fail
_IO_default_xsputn
_IO_vfprintf
__vsprintf_chk
__sprintf_chk
../dmd/dmd
__libc_start_main
../dmd/dmd
======= Memory map: ========

I get the same from git master.


with DEBUG=1 it works (but with same quirks as above)
Nov 14 2013