Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
23 crawler(s) on-line.
 96 guest(s) on-line.
 1 member(s) on-line.


 NutsAboutAmiga

You are an anonymous user.
Register Now!
 NutsAboutAmiga:  15 secs ago
 OlafS25:  9 mins ago
 Gunnar:  17 mins ago
 Kremlar:  31 mins ago
 Rob:  34 mins ago
 dirkzwager:  57 mins ago
 clint:  1 hr 3 mins ago
 vox:  1 hr 9 mins ago
 pixie:  1 hr 21 mins ago
 zipper:  2 hrs 1 min ago

/  Forum Index
   /  Amiga OS4 Software
      /  Bleeping bleep developers!
Register To Post

Goto page ( Previous Page 1 | 2 | 3 | 4 Next Page )
PosterThread
cha05e90 
Re: Bleeping bleep developers!
Posted on 28-Nov-2017 8:43:28
#21 ]
Super Member
Joined: 18-Apr-2009
Posts: 1275
From: Germany

@lylehaze

...which reminds me to take a programmer to lunch again...

_________________
X1000|II/G4|440ep|2000/060|2000/040|1000

 Status: Offline
Profile     Report this post  
Daedalus 
Re: Bleeping bleep developers!
Posted on 28-Nov-2017 9:31:06
#22 ]
Super Member
Joined: 14-Jul-2003
Posts: 1680
From: Glasgow - UK, Irish born

@NutsAboutAmiga

Quote:

NutsAboutAmiga wrote:

I'm not sure it up to the task really.

Feel free to send feature requests to the author and perhaps some day it might be... If developers don't know there's a problem, how can it ever be resolved?

Quote:
backups,

Can be done. Check if a file exists, then rename the file.

Quote:
checking date of files,

Can't be done. This is a limitation of Installer however, which doesn't support any copy operation based on file date, nor does it support the gathering of such information from files. InstallerGen can't do anything about that. But file dates aren't very useful on Amigas anyway, since unlike on other platforms, the filesystem doesn't support separate created and modified dates. As a result, many files have a newer date than their compile date, even though they're otherwise identical, and this can lead to essential files not being installed because an installer thinks a newer one is already installed, when in reality it was just copied from another location.

The proper way to do this is using standard Amiga version numbers (which Installer and InstallerGen both support) , though of course .so files are lacking in that department...

Quote:
so file installation.

Unfortunately I don't know of any way to reliably know how to install .so files, since version strings don't exist and file dates are unreliable. This isn't a problem with Installer or InstallerGen, but a problem with the whole .so file concept. InstallerGen can do pretty much whatever you might do manually regarding copying and renaming files. What it can't do is decide which version you should actually use - a task which can be next to impossible for a user, let alone a script that can't know what other applications use what version of what .so file.

Bottom line, .so files can easily be installed by Installer (and InstallerGen), and their previous versions backed up, but no script (and no developer) can ever be sure what version is already installed, or what software might need an older version and will be broken by installing a newer version. such issues are a result of the .so system, though I'd love to see a proper way to work around it.

_________________
RobTheNerd.com | InstallerGen | SMBMounter | Atoms-X

 Status: Offline
Profile     Report this post  
clusteruk 
Re: Bleeping bleep developers!
Posted on 28-Nov-2017 10:13:47
#23 ]
Super Member
Joined: 20-Nov-2008
Posts: 1544
From: Marston Moretaine, England

@thread

If a product is paid for then it deserves good documentation and support obviously.

If it is a free utility to help then very basic instructions are fair, stick it here, add script there which I always see usually.

Apart from that welcome to the wild west where there are great pickings to be had if you make an effort.

If you look at Paolo's Icaros distribution he has created amazing documentation and support but check out his Patreon page for how much reward he gets, remember it is not cheap to do this work either and this goes for all other Amiga flavour developers.

https://www.patreon.com/icarosdesktop

The point is, it is a two way street, developers create the amazing tools we want, in return we support them with encouragement and/or a little donation to contribute to the costs of there hobby which supplies us the tools.

I will always be on the side of the developer, and in this small community where developers are largely taken for granted perhaps this needs to change before you lose them all to more interesting and supported platforms.

Steve

_________________
Amiga 1000, 3000D Toaster, Checkmate A1500 Plus
http://www.checkmate1500plus.com/

 Status: Offline
Profile     Report this post  
Deniil715 
Re: Bleeping bleep developers!
Posted on 28-Nov-2017 11:21:01
#24 ]
Elite Member
Joined: 14-May-2003
Posts: 4236
From: Sweden

@Juzz

Hi.
I completely get you. Stuff like this is sooo frustrating!
But as a developer I also get zzd10h who has put 1000 times more effort into SMtube than you have

What really only needs to be done is to look in the SOBJS: directory and copy/clone the missing files with to correct name. Or make a link, as Hans (I think) suggested.

Like if the program complains about libz.so.1, but you have libz.so.2 you can simply copy/clone it as libz.so.1 so you have both in there and try again.

But it's not strange that is seems very hostile in Linuxish way, because both SMtube and the SOBJS are from the Linux world and has taken their problems to the Amiga, along with the possibility to even be able to port such programs like SMtube.

_________________
- Don't get fooled by my avatar, I'm not like that (anymore, mostly... maybe only sometimes)
> Amiga Classic and OS4 developer for OnyxSoft.

 Status: Offline
Profile     Report this post  
MickJT 
Re: Bleeping bleep developers!
Posted on 28-Nov-2017 13:32:41
#25 ]
Cult Member
Joined: 13-Jan-2005
Posts: 525
From: Adelaide, South Australia

This thread just reminds me why I prefer to statically link everything. I can imagine future problems with libstdc++.so if some program uses C++11 code. I'm using a compiler much later than gcc 4.2.4, and luckily (for those who use my .so's) everything I build still seems to be compatible with OS4's included libgcc.so and libstdc++.so. Qt programs would be much larger if statically linked, but would avoid these headaches.

In the past, a lot of .so files would just end in ".so". An API change meant that if you were using SObjs: to put your .so files in (I don't recommend that), you'd overwrite an older one and then older programs might break. My recommendation is to create a "SObjs" directory in the directory of the main executable, and put all the dependencies there.

So, with all those complaints in the past, new versions of libs I build have their "soname" determined by libtool (deplibs_check_method="pass_all", and version_type="qnx" or "freebsd-elf"). This means old & new .so's can co-exist if you want them to. But OS4Depot's policy is to only have one version of a program/lib, unless you want to include previous versions in the same archive (which I've done on rare occasions). The side-effect of that is that if a program needs older dependencies, you might not be able to find it anymore. So, please statically link! It just avoids all this fuss. My dev archives have the .so files because some people want them. It has clib2 libs because why not? If it's easy enough to make a clib2 build, I do it, for completeness :)

SObjs still have a purpose for me though. Although everything I've uploaded is statically linked, I create my own personal builds that use them, then when I update a library, I can swap out a .so for a newer one if the API hasn't changed and I can easily verify the library works before I upload it to OS4Depot. The best program/game for this I've found is X-Moto. It has many many dependencies, and as Deniil says, generally you can make a clone of the current file and name it what the program is looking for, and it works fine unless there's been a major API change.

By the way, side-note, this bug still exists: http://amigans.net/index.php?function=viewcomments&threadid=147&start=0

http://forum.hyperion-entertainment.biz/viewtopic.php?f=27&t=71

So, despite me using X-Moto to test .so files, it's written in C++ and uses exceptions when certain database files don't yet exist. So if I reinstall the game, I have to first run it with a statically linked binary before I can test the binary that uses shared object files! Also, I disable pthreads in libxml2 because they're unstable in C++ (or is it just with .so? can't remember). libxml2 is written in C++.

Edit: The comments on the hyperion forum link say that it's been fixed. I'm not sure. When X-Moto crashes here, if I look part way down the stack trace, the crash occurs at line 1165 in VFileIO.cpp (x-moto 0.5.11), only when using libstdc++.so

Last edited by MickJT on 01-Dec-2017 at 01:19 PM.
Last edited by MickJT on 28-Nov-2017 at 02:01 PM.
Last edited by MickJT on 28-Nov-2017 at 01:57 PM.
Last edited by MickJT on 28-Nov-2017 at 01:39 PM.
Last edited by MickJT on 28-Nov-2017 at 01:36 PM.
Last edited by MickJT on 28-Nov-2017 at 01:35 PM.
Last edited by MickJT on 28-Nov-2017 at 01:33 PM.

 Status: Offline
Profile     Report this post  
whose 
Re: Bleeping bleep developers!
Posted on 28-Nov-2017 17:53:36
#26 ]
Cult Member
Joined: 21-Jun-2005
Posts: 893
From: Germany

@Hans:

Dependencies may be hard to track, but at least the developer should know about the dependencies of the original. Just list them and tell where and how to get them, if needed. That's at least a nice service to the user and really not that hard

Last edited by whose on 28-Nov-2017 at 06:00 PM.

 Status: Offline
Profile     Report this post  
jaokim 
Re: Bleeping bleep developers!
Posted on 28-Nov-2017 20:07:16
#27 ]
Regular Member
Joined: 8-Mar-2003
Posts: 278
From: Sweden

@Juzz

I too get the frustration.

However, writing an installer isn’t that difficult. It’s tedious, and the effort required is IMHO better used to improve the software. However, that doesn’t stop anyone else from writing the installer. Given how most software works, most parts should be possible for re-use.

I’ve been thinking of having a wiki-like approach, where instead of articles you have install-scripts, which is free for anyone to edit – of course with old versions still intact. That way, instead of looking on various forum sites, asking questions and so on, everyone could collectively create and, when necessary, fix the scripts.

_________________

 Status: Offline
Profile     Report this post  
NutsAboutAmiga 
Re: Bleeping bleep developers!
Posted on 28-Nov-2017 20:52:17
#28 ]
Elite Member
Joined: 9-Jun-2004
Posts: 12796
From: Norway

@whose

Dependencies are not that hard to extract from the binary actually.

OBJDUMP comes to mind, simply doing binary scan for .library, .font.

At least this thing can be obtained easily, it’s the standard installation tools that won't know what do with it, and need if you're going install something safely into some else's system, not over writing random files and messing it up there will need to think about, because it project on its own.

Finding out what .so files, scanning SOBjs, copying the structure softlinks and into installation script,
and copying out files into directory, that lha and so on, a lot this can be automated.

1. In essence it working figuring out what program depends on.
2. Software lenience: Can it be distributed or need it to be downloaded, where can it be downloaded.
3. ReadMe's and documentation.
4. Software license to include with the software.
5. Data files
6. Assets (fonts, images)
7. Type of program Project / Tool / Command line tool / Application / WBTool.

One major different between working in Microsoft Virtual Studio and Amiga, deployment is built in feature, so in essence, you click button deeply and you have ready distribute signed package. In Amiga it not that easy.

_________________
http://lifeofliveforit.blogspot.no/
Facebook::LiveForIt Software for AmigaOS

 Status: Online!
Profile     Report this post  
Hans 
Re: Bleeping bleep developers!
Posted on 29-Nov-2017 0:55:47
#29 ]
Elite Member
Joined: 27-Dec-2003
Posts: 5066
From: New Zealand

@Raziel
Completely forgot about InstallerGen. Thanks for bringing that up.

@whose
Quote:

whose wrote:
Dependencies may be hard to track, but at least the developer should know about the dependencies of the original. Just list them and tell where and how to get them, if needed. That's at least a nice service to the user and really not that hard

What about dependencies of dependencies? What about those dependencies that you thought were part of a standard OS install, but just happen to be on your system for some other reason.

@jaokim
Quote:
However, writing an installer isn’t that difficult. It’s tedious, and the effort required is IMHO better used to improve the software. However, that doesn’t stop anyone else from writing the installer. Given how most software works, most parts should be possible for re-use.

I found writing an installer using Installer's scripting language tedious, difficult and frustrating. Debugging scripts was horrible, and then it was still possible for things to break on other people's systems.

I briefly tried using the new OS4 installer system, but it was undocumented at the time, and I couldn't figure it out by reverse engineering someone else's installer.

@Daedalus
Quote:
Can't be done. This is a limitation of Installer however, which doesn't support any copy operation based on file date, nor does it support the gathering of such information from files.

Installer can execute external programs, so you could theoretically write extra tools to fill in the blank.

However, really is pretty outdated. Have you looked at updating to the new OS4 installer system? It's much more capable. AFAIK, it is now documented.

Hans

Last edited by Hans on 29-Nov-2017 at 12:57 AM.

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project.
https://keasigmadelta.com/ - More of my work.

 Status: Offline
Profile     Report this post  
Tomppeli 
Re: Bleeping bleep developers!
Posted on 29-Nov-2017 2:16:57
#30 ]
Super Member
Joined: 18-Jun-2004
Posts: 1652
From: Home land of Santa, sauna, sisu and salmiakki

I released TopApp 6 years ago, which is easy way to install and uninstall software. It has functionality to handle extra dependencies as well. I started to modify it recently to get it to work in better way. I asked the community to help to add software entries into it but no action from anybody in 6 years. This community really doesn't know how to work together.

_________________
Rock lobster bit me. My Workbench has always preferences. X1000 + AmigaOS4.1 FE
"Anyone can build a fast CPU. The trick is to build a fast system." -Seymour Cray

 Status: Offline
Profile     Report this post  
Hypex 
Re: Bleeping bleep developers!
Posted on 30-Nov-2017 13:50:12
#31 ]
Elite Member
Joined: 6-May-2007
Posts: 11180
From: Greensborough, Australia

@Juzz

Quote:
This is worse than even the most user-hostile Linux distro.


Speaking of Linux, I thought the apt-get install instructions I read with Debian Linux on the A1 were rather archaic looking on that terminal. And didn't think much of it. Until it opened my eyes. It was a package manager. And it was brilliant! It downloaded all else needed and installed it and then the program was ready to go.

The problem with AmigaOS is it lacks a package manager. At least with all the ported software we have it is built for systems that have a package manager. For us this breaks down because AmigaOS is rather achaic itself. It's a DIY job. In realty OS4 is very unfriendly and behind the times.

But, things don't need to be this way. If a programmer wants his software to work out of the box just compile as static. Some software isn't as simple and requires LIBS and SOBJS. But again, this is easliy solved. Because since Amiga time immemorial any LIBS needed can be dropped in a LIBS drawer in the root of the program dir. Simples. SOBJS work the same. So I don't see why dependencies aren't included. Once I had to download dev packages from OS4 depot and hack files into my system just to get a CLI command to work. That was riduculous. The previous version worked out of the box. I don't get that!

Programmers really need a fresh untouched OS4 install to test the software on. Even a simple read me icon can break. Either by not including an actual icon and using an image instead. Or setting the text viewer to a non standard reader.

This is all known stuff. This is Amiga programming basics 101. But I can see standard Amiga programing practice will continue to not be followed so the only way will be a community effort to produce a package or program installer that downloads and installs what it needs. I've had this on my mind myself. Selected archive, program detected, install.

Last edited by Hypex on 01-Dec-2017 at 03:12 PM.
Last edited by Hypex on 30-Nov-2017 at 01:57 PM.

 Status: Offline
Profile     Report this post  
broadblues 
Re: Bleeping bleep developers!
Posted on 30-Nov-2017 14:11:35
#32 ]
Amiga Developer Team
Joined: 20-Jul-2004
Posts: 4446
From: Portsmouth England

@Hypex

Quote:


The problem with AmigaOS is it lacks a package manmager. At least with all the ported software we have it is built for systems that have a package manager. For us this breaks down because AmigaOS is rather achaic itself. It's a DIY job. In realty OS4 is very unfriendly and behind the times.


You reliase that behind the package managers like apt-get is "huge" team of maintainers that set up and maintain a database which determines all the dependencies, this is what we lack and will likely never have no matter how sophostacted a package manager might be written.

And package managers are no panacea anyway, I've had aptitude yank software that I needed of my linux system because I install something which had a dependency for a newer version of some library and the other software I needed didn't work with and hadn't been updated to the new version.

AmiUpdate is not too bad as a simple manager, but would have solved the smtube isue where a dependency was pulled from beneath it so to speak.

_________________
BroadBlues On Blues BroadBlues On Amiga Walker Broad

 Status: Offline
Profile     Report this post  
broadblues 
Re: Bleeping bleep developers!
Posted on 30-Nov-2017 14:15:22
#33 ]
Amiga Developer Team
Joined: 20-Jul-2004
Posts: 4446
From: Portsmouth England

@Hypex

Quote:

Because since Amiga time immemorial any LIBS needed can be dropped in a LIBS drawer in the root of the program dir.


Not once the library is opened and in memory. There can only be one version of given library.

SOBJS: are different, simply because the shared bit doesn't work, but remeber again it was system sobj changing that screwed up smtube / gt

_________________
BroadBlues On Blues BroadBlues On Amiga Walker Broad

 Status: Offline
Profile     Report this post  
Tomppeli 
Re: Bleeping bleep developers!
Posted on 30-Nov-2017 17:43:38
#34 ]
Super Member
Joined: 18-Jun-2004
Posts: 1652
From: Home land of Santa, sauna, sisu and salmiakki

@broadblues

Quote:
There can only be one version of given library.

A newer version of a library can exist in memory together with the old version nowadays. The problem is with ported Linux stuff. Linux people have a habit to change the API with every new version or so. On Amiga you can have multiple versions of an interface now with interfaces if you would have to change the API. Nobody have done so yet.

@Hypex
Check the post above yours.

@thread
I can understand both sides because I'm a lazy developer myself, who doesn't like writing manuals, and also an end user of software made or ported by other people. It's annoying if something is missing from the installer archive.

Amiga was the most user friendly computer in 1980s and '90s...

Last edited by Tomppeli on 30-Nov-2017 at 06:03 PM.

_________________
Rock lobster bit me. My Workbench has always preferences. X1000 + AmigaOS4.1 FE
"Anyone can build a fast CPU. The trick is to build a fast system." -Seymour Cray

 Status: Offline
Profile     Report this post  
Signal 
Re: Bleeping bleep developers!
Posted on 30-Nov-2017 22:05:15
#35 ]
Cult Member
Joined: 1-Jun-2013
Posts: 664
From: USA

@broadblues

Quote:

broadblues wrote:
@Hypex

Quote:

Because since Amiga time immemorial any LIBS needed can be dropped in a LIBS drawer in the root of the program dir.


Not once the library is opened and in memory. There can only be one version of given library.

SOBJS: are different, simply because the shared bit doesn't work, but remeber again it was system sobj changing that screwed up smtube / gt


Just thinking.

What if you include all the libraries (shared or not) in the progdir and rename them so they won't clash with other libs.

You write a program called PogoStick and all the libs get a PS prefix. Of course they get unloaded at program close.

Maybe not a permanent fix but only until a working better solution comes along.

Doable?

_________________
Tinkering with computers.

 Status: Offline
Profile     Report this post  
kolla 
Re: Bleeping bleep developers!
Posted on 30-Nov-2017 22:43:32
#36 ]
Elite Member
Joined: 20-Aug-2003
Posts: 2859
From: Trondheim, Norway

SOBJs should be statically compiled into the programs, end of story.

_________________
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC

 Status: Offline
Profile     Report this post  
NutsAboutAmiga 
Re: Bleeping bleep developers!
Posted on 30-Nov-2017 22:45:03
#37 ]
Elite Member
Joined: 9-Jun-2004
Posts: 12796
From: Norway

@Signal

libraries can't be renamed, there is table inside library binary as well, that also has the name of that library, as well as program will be looking for xxxyy.library not ps_xxxyy.library, program will not be able to find it, even did have prefix like that, image having 2 or 10 programs with library in the program dir.

The idea that library is in memory, is so that program don't need to access the slow HD, there are program that open and close library's as they run, like 1000 times in loop, this program be really slow, if they had to check if there was local progdir copy.

Also the idea that library might have many instances and being shared, you might run into some problem with that.

a library can check if version 1 can be opened by library of version 3, its library allows the developer of library to decide that 1 is too old. but version 2 is ok. and so on.

_________________
http://lifeofliveforit.blogspot.no/
Facebook::LiveForIt Software for AmigaOS

 Status: Online!
Profile     Report this post  
NutsAboutAmiga 
Re: Bleeping bleep developers!
Posted on 30-Nov-2017 22:49:49
#38 ]
Elite Member
Joined: 9-Jun-2004
Posts: 12796
From: Norway

@Tomppeli

Well library is blob of code, if you need replace binary, so even if you have like interface 1 and 2 and 3, it wont solve the installation problem.

The interfaces might make more sense let's say if there was x86 program and powerpc program running, you might image using one interface for translating.

In exec library there is "debug" interface, so there are libraries with more one interface, I also believe there is "pci" interface in expansion.library. So use of interfaces in general is being used as namespaces.

Last edited by NutsAboutAmiga on 30-Nov-2017 at 10:51 PM.
Last edited by NutsAboutAmiga on 30-Nov-2017 at 10:50 PM.

_________________
http://lifeofliveforit.blogspot.no/
Facebook::LiveForIt Software for AmigaOS

 Status: Online!
Profile     Report this post  
Daedalus 
Re: Bleeping bleep developers!
Posted on 1-Dec-2017 10:39:32
#39 ]
Super Member
Joined: 14-Jul-2003
Posts: 1680
From: Glasgow - UK, Irish born

@Hans

Quote:

Hans wrote:

Installer can execute external programs, so you could theoretically write extra tools to fill in the blank.

Yep, that's always a possibility, or even using some custom formatting of the List command to create file sizes in an env variable which can then be read by the script. Not particularly convenient though, and convenience is probably why so many developers don't bother writing installer scripts in the first place.

Quote:
However, really is pretty outdated. Have you looked at updating to the new OS4 installer system? It's much more capable. AFAIK, it is now documented.

I did look at it a while back, but the documentation was nonexistent. InstallerGen is written in a pretty Commodore-Installer-centric way, so I think support for the OS4 installer would be easier to implement from scratch. But can the OS4 installer deal with the mess that is the .so system intelligently? I can't really see how that would be doable without complete package management (and even then it's dubious), since different versions are not always backward- or forward-compatible, and without a registry (ugh) it's impossible to tell which applications actually need which installed files.

_________________
RobTheNerd.com | InstallerGen | SMBMounter | Atoms-X

 Status: Offline
Profile     Report this post  
kas1e 
Re: Bleeping bleep developers!
Posted on 1-Dec-2017 12:41:38
#40 ]
Elite Member
Joined: 11-Jan-2004
Posts: 3549
From: Russia

As say Mick (and everyone seems skip it) - sobjes on os4 is evil. It should be avoided as much as possible. It even shouldnt be in the OS itself in the first place, but ok, its here by wrong roadmap, nothing can be done anymore. But everyone should avoid them ! In the worst case compile everything staticaly. All our NG oses, are not oses which can with all obscurity and problems give that crappy sobj hell.

Someone may say we have our version of sobj hell, where we need update classes and libraries, but most of time its enough to download new version of said class or library and all fine. But not with sobjes and their ugly relink-reversion crap.

If one cant compile thing staticaly, then at least create sobj dir inside the program from where it will be taken first, then it will works at least out of box.

Probably if back things in time, it was better to patch gcc and write howto how make a native amiga library from sobj, but as we can see now easy route was choicen and now once i read in readme of any app that sobjes required, i fear that it will just not work after unpacking because of any reassons.

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites

 Status: Offline
Profile     Report this post  
Goto page ( Previous Page 1 | 2 | 3 | 4 Next Page )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle