[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