[Issue 13386] New: dmd .zip file download and posix.mak install targets lack usability
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Wed Aug 27 17:20:50 PDT 2014
https://issues.dlang.org/show_bug.cgi?id=13386
Issue ID: 13386
Summary: dmd .zip file download and posix.mak install targets
lack usability
Product: D
Version: D2
Hardware: All
OS: Linux
Status: NEW
Severity: enhancement
Priority: P1
Component: DMD
Assignee: nobody at puremagic.com
Reporter: Marco.Leise at gmx.de
I've been using the bundled dmd, druntime and Phobos sources and documentation
from the .zip file download on dlang.org for the past couple of years. The
expectation for a Linux source archive is usually that you can run:
./configure && make
sudo make install
and the package is installed to the system's default locations (or a user
defined prefix other than /usr). But this package is making it particularly
hard. Quite a few things don't seem to match up at the seems between the 3
included posix.mak files:
1) druntime installs imports to /import, Phobos installs them to /src/phobos.
The Ubuntu package respectively uses /include/dmd/druntime/import and
/include/dmd/phobos. In any case the imports should not be placed in new root
directories, and a /include sub-directory is the obvious choice.
2) The druntime & Phobos posix.mak will by default look for dmd in
../dmd/src/dmd, but it wont be there with the present directory structure, but
in ../dmd/dmd.
3) The dmd posix.mak runs `cp ../ini/$(OS)/$(bin_dir)/dmd.conf
$(INSTALL_DIR)/$(OS)/$(bin_dir)/dmd.conf'. But there is no ../ini folder with
OS specific dmd.conf presets in the .zip.
4) The dmd binary installation path `$(INSTALL_DIR)/$(OS)/$(bin_dir)' is
tailored towards creation of multi-OS bundles instead of the current OS. In
case of GNU Linux, the correct procedure is described here:
https://www.gnu.org/prep/standards/html_node/DESTDIR.html
5) The druntime and Phobos library paths are also affected by the above. E.g.
they should be installed to $(DESTDIR)$(libdir)/. Right now the former is
installed to $(INSTALL_DIR)/lib and the latter to
$(INSTALL_DIR)/$(OS)/lib$(MODEL).
6) Concerning SONAMEs: According to
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html, we should
add another symlink called libphobos2.so.0.66, which would be the
"fully-qualified soname" opposed to the "realname" (including non-breaking bug
fix revisions) and "linker name" (no version). Is there a reason we don't have
that soname symlink?
--
More information about the Digitalmars-d-bugs
mailing list