Bug 2164 – Random Phobos Linux buildsystem feedback

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
phobos
Product
D
Version
D2
Platform
Other
OS
Linux
Creation time
2008-06-23T03:16:00Z
Last change time
2015-06-09T01:19:35Z
Assigned to
andrei
Creator
devurandom

Comments

Comment #0 by devurandom — 2008-06-23T03:16:20Z
Gentoo has to run these fixes to make dmd 2.015 compile correctly: # Fix permissions and clean up fperms ug=rw `find . -type f` fperms ug=rwx `find . -type d` fperms ug=rwx bin/dmd bin/dumpobj bin/obj2asm bin/rdmd # Cleanup line endings edos2unix `find . -name '*.c' -type f` edos2unix `find . -name '*.d' -type f` edos2unix `find . -name '*.ddoc' -type f` edos2unix `find . -name '*.h' -type f` edos2unix `find . -name '*.mak' -type f` edos2unix `find . -name '*.txt' -type f` # Set variables correctly sed -i \ -e "s:DMD = .*:DMD = ${S}/bin/dmd:" \ -e "s:CC = .*:CC = gcc -m32:" \ -e "s:CFLAGS = .*:CFLAGS = ${CFLAGS}:" \ `find . -name '*.mak' -type f` ${S} is the sourcecode directory. To make this work generically, I recommend to either use a relative path, or a variable set to an absolute path. I.e.: export top_srcdir = $(CURDIR) # Toplevel Makefile DMD = $(top_srcdir)/bin/dmd
Comment #1 by devurandom — 2008-06-23T12:27:39Z
PS: The permission fixes are probably a packaging problem, while the line endings may be a "personal" (or distribution dependend) preference.
Comment #2 by andrei — 2008-06-23T12:36:58Z
(In reply to comment #1) > PS: The permission fixes are probably a packaging problem, while the line > endings may be a "personal" (or distribution dependend) preference. Please hold off on the line termination thing; we're trying to find an automated way of maintaining those among people working on different OSs. I don't understand why the permission fixes are needed. On my system they ring properly. It looks like it's a gentoo thing. Could it be the unzip?
Comment #3 by devurandom — 2008-06-29T05:35:25Z
Seems like the permission fixes where once needed, but are not anymore. Since you said line endings are in the works in another place, CFLAGS, DMD, etc set on commandline will be respected in the future, and the 32bit issue has been fixed by passing -m32 through CFLAGS to the linker, I guess this bug can be closed?
Comment #4 by devurandom — 2008-06-29T05:39:55Z
(In reply to comment #3) > Seems like the permission fixes where once needed, but are not anymore. I do not know what I looked for, but obviously it was the wrong thing. ;) At least fperms ug=rwx bin/dmd bin/dumpobj bin/obj2asm bin/rdmd is still needed. (All the executables lack the executable bit.)
Comment #5 by devurandom — 2008-07-22T06:37:16Z
At least in 2.0.17 you override the environment supplied CFLAGS, i.e.: CFLAGS := $(CFLAGS) -O Flags which are not absolutely needed (like -O) should be included before the environment CFLAGS, so that they can be overridden if desired.
Comment #6 by devurandom — 2008-07-22T06:44:03Z
I also noticed a bug in doc generation: make: Entering directory `/var/tmp/portage/dev-lang/dmd-bin-2.017/work/dmd/src/phobos' make: *** No rule to make target `../web/phobos/phobos.html', needed by `html'. Stop. make: Leaving directory `/var/tmp/portage/dev-lang/dmd-bin-2.017/work/dmd/src/phobos'
Comment #7 by bugzilla — 2010-06-25T02:04:08Z
As far as I can tell, these problems have been solved. Please reopen if not.