August 29, 2014 [Issue 13386] New: dmd .zip file download and posix.mak install targets lack usability | ||||
---|---|---|---|---|
| ||||
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@puremagic.com Reporter: Marco.Leise@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? -- |
Copyright © 1999-2021 by the D Language Foundation