I found the following issues with std/all.d
1. contains literal '\n' strings instead of actual linefeeds.
2. import statements use '/' instead of '.' (e.g., std/conv instead of std.conv)
3. lists itself as an import.
Comment #1 by ghaecker — 2010-08-15T03:38:05Z
The issue I reported in 2.047 is still present in 2.048.
I tracked it down to src/phobos/linux.mak
This does not generate a usable all.d file:
#--------------------------------------------------
std/all.d : $(MAKEFILE)
@echo module std.all\;\\n \
$(addprefix public import ,$(addsuffix \;\\n,$(STD_MODULES))) | \
sed -e 's|/|.|' -e '/public import std\.all/d' >$@
#--------------------------------------------------
bash and compatibles require the -e option with echo to process escaped characters.
Adding -e, this generates the expected result:
#--------------------------------------------------
std/all.d : $(MAKEFILE)
@echo -e module std.all\;\\n \
$(addprefix public import ,$(addsuffix \;\\n,$(STD_MODULES))) | \
sed -e 's|/|.|' -e '/public import std\.all/d' >$@
#--------------------------------------------------
Comment #2 by ghaecker — 2010-09-17T22:24:11Z
Created attachment 760
patch for dmd-2.049 src/phobos/linux.mak
This patch is the minimal update needed to build libphobos2.a for dmd 2.049 on my linux box. It fixes the format problem with std.all.d and also partially addreses the missing exception module cited it Issue #4646, but does not address the other missing module names in the definition of STD_MODULES.
Comment #3 by ghaecker — 2011-01-20T02:59:22Z
Still broken in 2.051
Surely I'm not the only one building phobos on linux.
Comment #4 by ghaecker — 2011-02-19T00:16:20Z
Same error in dmd 2.052
Comment #5 by hsteoh — 2014-07-12T04:49:58Z
In latest git HEAD, it's now posix.mak, and I haven't had problems compiling phobos on Linux/64bit for at least 2 years now. Also, all.d doesn't even exist anymore. So looks like this bug is obsolete.
If this is not the case, please reopen it. Thanks!