Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
October 17, 2015 [Issue 15218] DMD should link dynamically to libphobos by default | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15218 Adam D. Ruppe <destructionator@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |destructionator@gmail.com --- Comment #1 from Adam D. Ruppe <destructionator@gmail.com> --- I absolutely, strongly disagree. Dynamic linking Phobos is a bad idea - it will lead to serious breakage around every corner for every application. Phobos changes with every release. All executables compiled before an update will now be liable to break. Phobos is not commonly installed on user's computers. To distribute D programs compiled with these defaults, we'd also have to distribute the library. That'd be a 10x size increase and a big hassle... and moves the update breakage to the user's side. Phobos is also not commonly in the system library location, so on Linux, this means running programs won't work without either changing that or setting the library path, another big annoying hassle. I'd virtually break the zip distribution (which is Linux distro agnostic and used by those of us who aren't on .rpm or .deb). I guarantee you this will cause a bigger support burden than 400 KB in hello world and very little benefit. C and C++ are very different - their libraries are commonly installed with operating systems and don't break binary compatibility every couple months. If you want me to ever get on board with dynamic linking phobos, work to get it included with all the OSes as an independent end-user component first. -- |
October 17, 2015 [Issue 15218] DMD should link dynamically to libphobos by default | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15218 Iain Buclaw <ibuclaw@gdcproject.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ibuclaw@gdcproject.org --- Comment #2 from Iain Buclaw <ibuclaw@gdcproject.org> --- (In reply to Adam D. Ruppe from comment #1) > I absolutely, strongly disagree. Dynamic linking Phobos is a bad idea - it will lead to serious breakage around every corner for every application. > > Phobos changes with every release. All executables compiled before an update will now be liable to break. > > Phobos is not commonly installed on user's computers. To distribute D programs compiled with these defaults, we'd also have to distribute the library. That'd be a 10x size increase and a big hassle... and moves the update breakage to the user's side. > Agreed. This is not a bug on our side, more it is a decision given to the package maintainers for various OS's. -- |
October 18, 2015 [Issue 15218] DMD should link dynamically to libphobos by default | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15218 --- Comment #3 from Shriramana Sharma <samjnaa@gmail.com> --- (In reply to Adam D. Ruppe from comment #1) > Phobos changes with every release. All executables compiled before an update will now be liable to break. A valid point, obviously which I didn't think of. Am I then correct in assuming that Phobos doesn't guarantee ABI stability as in """Minor releases are backwards binary and source compatible.""" (https://wiki.qt.io/Qt-Version-Compatibility)? Very well – this means the request should be postponed till such a date that DMD starts doing stable versioning... (In reply to Iain Buclaw from comment #2) > Agreed. This is not a bug on our side, more it is a decision given to the package maintainers for various OS's. How is it a decision for package maintainers? In my experience, package maintainers don't like to fiddle with the default behaviour of software. -- |
October 21, 2015 [Issue 15218] DMD should link dynamically to libphobos by default | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15218 Marco Leise <Marco.Leise@gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Marco.Leise@gmx.de --- Comment #4 from Marco Leise <Marco.Leise@gmx.de> --- (In reply to Adam D. Ruppe from comment #1) > I absolutely, strongly disagree. Dynamic linking Phobos is a bad idea - it will lead to serious breakage around every corner for every application. > > Phobos changes with every release. All executables compiled before an update will now be liable to break. You link to a versioned soname "ldd `which dub`": libphobos2.so.0.68 => /opt/dmd-2.068/lib64/libphobos2.so.0.68 This way dub wont break when I install 2.069 and the package manager is smart enough to keep the library around until I recompile dub with the more recent version of Phobos. > […] > > Phobos is also not commonly in the system library location, so on Linux, this means running programs won't work without either changing that or setting the library path, another big annoying hassle. I'd virtually break the zip distribution (which is Linux distro agnostic and used by those of us who aren't on .rpm or .deb). > > […] > > If you want me to ever get on board with dynamic linking phobos, work to get it included with all the OSes as an independent end-user component first. The risk of ABI breakage between compiler versions makes it so that I still have to install GtkD (and other libraries) into separate compiler-arch-version specific directories. As for DMD's Phobos itself, two files don't carry the version in their name: libphobos2.a libphobos2.so libphobos2.so.0.69 libphobos2.so.0.69.0 I'll look into moving the other two into system library path. It still doesn't solve anything when it comes to additional libraries. God knows what happens when you compile with dmd-2.069 and link to a library that was compiled against Phobos-2.068 or with a different D compiler. -- |
December 17, 2022 [Issue 15218] DMD should link dynamically to libphobos by default | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15218 Iain Buclaw <ibuclaw@gdcproject.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P1 |P4 -- |
December 13 [Issue 15218] DMD should link dynamically to libphobos by default | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=15218 --- Comment #5 from dlangBugzillaToGithub <robert.schadek@posteo.de> --- THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/19060 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB -- |
Copyright © 1999-2021 by the D Language Foundation