Because they are not amigaish. The .so phenomenon comes from the *nix world and the support for it is in there to ease *nix software ports to AmigaOS4.
if you renamed the SO files then that will cause confusion, SO files are there for unix/linux ports, you need to know if you have the so files the unix/linux programs needs if they are renamed how do you know you have the right ones installed?
(NutsAboutAmiga)
Basilisk II for AmigaOS4 AmigaInputAnywhere Excalibur and other tools and apps.
Having Unix style shared-objects lowers the barriers to porting open-source software from the Linux/Unix world. Even though I don't like shared-objects, I think that it is a good thing to support it so that the available software can be expanded more rapidly with less effort.
People writing native software should use Amiga libraries. I'd still prefer it if people converted shared-objects to libraries where ever possible.
Is it impossible to convert them something like name.shared.object via SDK??
I just hate everything nonsense cryptic.
I use again same example. libjpeg.so is probably most stupid way to name anything. Everything starts lib , middle of the name is important part, it ends to .so. Clever?
I know, that I repeat myself.
Here is my first attemp to make conversation about it. Post #104. I stand behind it.
There is more idea, why *.so naming scheme is bad. Please read it.
It seems to be more or less obvious, that we get more and more ports from elsewhere same time AmigaOS is going closer to POSIX and front-end high class native Amiga apps are more rare. Anyway I personally don't see any reason to spoil amiga's friedly structure with that kind of style, POSIX or not. And I just try to keep enought noise to keep OS sanity alive :)
And I don't believe, that it is not very difficult convert lib*.so naming scheme to something more sane via SDK(?). If more and more posix-compability is imported to OS, it leads more and more messy user-enviroment.
If I just want to punish myself, I don't need amiga for it. I can allways start linux or boot wintel. No problem.
If I just want to enjoy my computing, I fire up my amiga, it is clear and simple to understand, easy and understandable to use and dig in.
@Rogue, if you read this, take my pain off and promise something better )
Sorry about OT. Sometimes conversation just leads from one thing to other .... nature of conversation.
I really don't believe, that we get big and complicate apps native very soon. Not enought devs. No new hw, no new devs. Sooner or later there have to be solution, but meanwhile...
Many linux apps are good allso.
If it is possible to give different location compare to posix ( \lib vs SYS:SObjs ) it should be possible to change naming...
People writing native software should use Amiga libraries. I'd still prefer it if people converted shared-objects to libraries where ever possible.
I created an example how to convert a static link library to an AmigaOS4 shared library some years ago (bz2.library), but since it's a little bit more work (and this easy example only works for libraries without global data, converting libraries with global data is much more work) AFAIK nobody ported additional shared libraries that way. One problem probably was that such libraries can only work with programs using newlib, but some people still are, or at least were, using clib2 several years after it was replaced by newlib. Now we have lots of newlib-only shared objects instead of newlib-only AmigaOS libraries ...
If I would have had to port all the libraries OWB needs to AmigaOS4 myself, no matter if as static libfoobar.a, shared libfoobar.so or AmigaOS foobar.library, I wouldn't even have started porting OWB to AmigaOS4.
If you want new native software instead of ports you just have to wait about 50 years until something comparable to OWB 1.24 can be competed by a single spare time developer instead of the 4-5 months for the port But of course not everything is as complex as a Browser, a replacement for AbiWord could be rewritten from scratch in only about 10 years.
If it is possible to give different location compare to posix ( \lib vs SYS:SObjs ) it should be possible to change naming...
It wouldn't have been a problem to use different names in SOBJS: (but only there, in SDK:(Local/)newlib/lib the original names have to stay), it just doesn't make any sense to have different names, and for the already existing ones it's too late anyway or you'd have to rebuild all programs using them (or create soft links in SOBJS: which would be even worse IMHO).
The names of AmigaOS libraries are often crap as well, for example asl.library
joerg wrote: I created an example how to convert a static link library to an AmigaOS4 shared library some years ago (bz2.library), but since it's a little bit more work (and this easy example only works for libraries without global data, converting libraries with global data is much more work) AFAIK nobody ported additional shared libraries that way.
An example on how to deal with per-application global data would be helpful.
Quote:
One problem probably was that such libraries can only work with programs using newlib, but some people still are, or at least were, using clib2 several years after it was replaced by newlib. Now we have lots of newlib-only shared objects instead of newlib-only AmigaOS libraries ...
Well, if GCC used newlib by default instead of requiring you to use the -mcrt=newlib parameter then more people would use newlib.
it is correct, that many apps (firefox, OWB, blender like examples, list is allmost endless) are too difficult to port native.
I talk primary about user enviroment, not SDK, and from user point of view, not programmer point of view.
And yes, asl.library is good example, still it is .library.
Still... If there is intention to make AmigaOS more POSIX compatible, I see it uncomfortable and it leads anyway to mess, if number of drawers count up, we have amiga naming style and POSIX style for drawers/files same time, alien files most probably scatter around "original" amiga system (they are allready...).
We saw fist symptoms with *.kmod files. Ok, I should open my mouth before... But they vere in kikstart, and I didn't said anything, wich is trange because my mouth tend to be open.
Ok, if any others, you or os core developers don't see it like problem, but I will. It is definetly mess and destroys AmigaOS understandable, clean and friendly environment from _point_of_view_of_user_.
So it might be fine to change naming policy, even if it leads recompile old ports. it is not too late, it needs more work, yes ... :)
Sorry about highjacking your thread ... :)
We can continue and all look each others and repeat, how good fellows we are, even if it is not true. it just leads mistakes and therefore I stand correct with my critism, even if I'm not coder.
With all rspect all devs wich still hang around and make things happen... And you about OWB.
Ok, if any others, you or os core developers don't see it like problem, but I will. It is definetly mess and destroys AmigaOS understandable, clean and friendly environment from _point_of_view_of_user_.
You are just used to it and don't notice things which are much worse than the shared object naming any more, asl.library was just one example, but there is more. For example why C: instead of Commands:, S: instead of Scripts:, DEVS: instead of Devices:, LIBS: instead of Libraries:, T: instead of Temp:, and the worst one, why are filesystems and handlers in a L: assign? handLer? Makes no sense at all and I'd call it anything but understandable
mmh..I am an user and I don't see that big of a problem. Like joerg said, we always had some criptic naming in AmigaOS even though those are abbreviations (DEVS instead of Devices) so learning them might be easier for the most part of people. Still, I don't see the problem in memorizing that SObj: is an abreviation af SharedObjects and the .so ending means AFAIK guess what: SharedObject.. There is no way around but _learning_ how an OS is structured.
What are we users meant to fiddle around with OS files anyway? Most software comes with installers, the one that don't might have a ReadMe with the install guide, so as long as this guide tells me to "copy xyz.so to sys:SObj and mynew.library to Libs: or better with the exact commandline to copy into shell for my moments of total lazyness" I'm ok with it. I had to install manually some "a53sound.component" in ~/Library/Components on my mac. I did it once; it was no problem to find the dir even if I'm new to MacOsX.
AmigaOS has a long way to go untill it reaces the IMHO -from a beginner point of view- puzzling naming of e.g. Linux. They would have to rename all the current naming and I see reason for that to happen.
SObj: is a good name..Sobjs...sobjs..yes it spells nice. :-p
Actually it's good that they are called stuff like that so that you can distinguish them from real amiga libraries and not use them for native software. If someone makes real amiga libraries out of them then they can be named something amigaish.
Edit: For the nitpickers, by native in this context I meant software that is built ground up on amiga using amiga api's.
Just take it or leave it. .SO objects are here to stay. Destrying amiga ? Its just makes it more rich. Complaining about these stuff. Thanks to that its easier to port programs.