dflemstr
It's a ball.
yeah, where will /home/user be stored?
Last edited by a moderator:
I agree, this would be a good approach. As a dependency for programs (PNDs) that need it, you might also have to install a certain "library" PND, which would contain the needed library. It would just load the library from that PND. This means that any program that needs that library would get it from the same place, and it would be pretty easy to update. This does make it so that programs needing different versions of the libraries would require you to install multiple "library" PNDs, but they'd still take up no more space than packaging the library in with the software (unless it's statically linked).'dflemstr' said:A list somewhere with all the libraries that are included (including Python modules/eggs and Java JARs) would be very VERY helpful
And if you REALLY want to, is it possible to make a PND with, for example, lwjgl in it (which I guess won't be included in the core), and access that PND from another PND? (so that not every PND is huge because they have to include lwjgl)
My opinion, was that having each and every .png file with libraries in it was silly. Now that I think about it, it's not that silly and would guartantee compatibility.'dflemstr' said:It's not overcomplicating a little, because most of the time, an application will not work with a NEWER version of a library. This is what produces something like 50% of all Windows apllication failures: Application A installs dll foo.dll, then Application B installs a newer version of foo.dll and then Application A breaks. So, we need to keep the versioning system intact.
So, let's say that a 'newer version' PND of a library would contain all the previous versions, too (a .so is like 3 kb so it won't be a big deal). Then, every app includes it's required library PNDs, and if you overwrite an old library PND with a new one, it doesn't matter because the new one contains the old .so-files too.
Maybe that's true on Windows, but it's not true on Linux. It's extremely uncommon that a new library breaks an old binary, in fact that's called an ABI break and is considered a bug (if the major number is unchanged). When there's an ABI break the library major number should be bumped, so that the old library can stay in place for old binaries. And this happens very rarely indeed. As an example, look at 'libcurl'. It's been around for ten years at least, and new versions have been pushed out regularly (the current version is 7.19.something). The library major number has still only got to 4, so far. Libc itself is only at major number 6, and that includes some dramatic changes since 1991.'dflemstr' said:It's not overcomplicating a little, because most of the time, an application will not work with a NEWER version of a library. This is what produces something like 50% of all Windows apllication failures: Application A installs dll foo.dll, then Application B installs a newer version of foo.dll and then Application A breaks. So, we need to keep the versioning system intact.
So, let's say that a 'newer version' PND of a library would contain all the previous versions, too (a .so is like 3 kb so it won't be a big deal). Then, every app includes it's required library PNDs, and if you overwrite an old library PND with a new one, it doesn't matter because the new one contains the old .so-files too.
Sorry, I didn't get that.. could you elaborate please?'dflemstr' said:The need is obviously there, since we in fact have ld versions