comp.lang.ada
 help / color / mirror / Atom feed
From: gabriele.galeotti.xyz@gmail.com
Subject: Re: SweetAda 0.1 released
Date: Tue, 14 Jul 2020 09:53:09 -0700 (PDT)	[thread overview]
Message-ID: <49c4a965-b50f-4774-9f41-cc535d967399o@googlegroups.com> (raw)
In-Reply-To: <7b67ad1e-f157-4ac5-8512-829ea35b3715o@googlegroups.com>

On Monday, July 13, 2020 at 2:03:23 PM UTC+2, Roger wrote:
> On Monday, July 13, 2020 at 8:07:27 PM UTC+10, gabriele....@gmail.com wrote:
> > On Monday, July 13, 2020 at 8:29:03 AM UTC+2, Roger wrote:
> > > On Sunday, July 12, 2020 at 7:59:11 PM UTC+10, gabriele....@gmail.com wrote:
> > > > Fine, Roger. I'm happy to read your post.
> > > > 
> > > > Now I would like to clarify the difference between:
> > > > - the installation PREFIX, /opt/sweetada
> > > > - executable PATH, /opt/sweetada/bin
> > > > which has a totally general meaning in the unix/gnu world. Maybe this useful also for other people. Windows is a totally different beast and I won't explain it now.
> > > > 
> > > > Filesystem rules got the concept of hierarchy of directories. If you look at a normal Linux filesystem, things appear clear enough. You can find some hints also in OSX, although is a rather proprietary implementation.
> > > > 
> > > > A hierarchy is a directory together with a collection of subdirectories. Standard subdirectories are:
> > > > - bin
> > > > - include
> > > > - lib
> > > > - share
> > > > - ...
> > > > bin is for executables. include is for development headers. lib is for libraries. share is for auxiliary files. Other subdirectories may exist, like sbin, man, doc, ...
> > > > 
> > > > When you look at a Linux (unix) filesystem, you note that a more or less standard hierarchy exists, rooted at /.
> > > > 
> > > > There is no include, because development in the main filesystem is not allowed. share is not present. But you get bin/ and lib/, which are necessary to run basic system functionalities.
> > > > 
> > > > Then there is the /usr hierarchy. Inside /usr you can find, again, bin/, lib/, and also include/, share/, ...
> > > > 
> > > > /usr is the main working hierarchy for system development.
> > > > 
> > > > Then there is normally a third hierarchy rooted at /usr/local. The same story, but for user development and user "personal" files.
> > > > 
> > > > A common hierarchy is also rooted at /opt. Here people would often install their programs.
> > > > 
> > > > But in order to mantain maximum separation and avoid possible conflicts, you can create your own hierarchy. This hierarchy is known as the PREFIX. And this is why, normally, most packages defaults to /usr or /usr/local. You can change the prefix by passing "--prefix=<your_prefix>" to the configure. If every program got installed in the same prefix, things could rapidly become a mess.
> > > > 
> > > > SweetAda does that, indeed, inside the installation prefix, you can find bin/, lib/, ...
> > > > 
> > > > Obviously, if you choose a non-pretty-standard prefix, you have to communicate that to your system. If are stuck with /usr or /usr/local you have to do nothing, because the executables are already visible due to PATH set during initialization by the system to their corrispondent executables subdirectories /usr/bin and /usr/local/bin. But with other prefixes, you have to add them to PATH.
> > > > 
> > > > Note that you must add PREFIX/bin, not PREFIX alone -- your PREFIX is a hierarchy with a standard layout.
> > > > 
> > > > And there is obviously a rather nice feauture: if you want to delete your package, you simply delete the prefix. You can't do that if prefix=/usr.
> > > > 
> > > > And obviously, this a rather coarse explanation. Things are not fixed and many packages have strange layouts.
> > > > 
> > > > Hope it was useful, see you soon.
> > > > 
> > > > G
> > > 
> > > Thanks for your useful explanation which I have saved for future reference.
> > > I am currently investigating IOEMU not displaying the pulsing 8-bit data.
> > > Fortunately your code is well structured which makes it fairly easy to follow so I have got some way into understanding its operation.
> > > I have established that the 8-bit data is certainly being generated.
> > > 
> > > A clue that I have yet to delve into is:
> > > IOEMU: initializing
> > > IOEMU: PPID = 72658
> > > IOEMU: PID  = 72659
> > > IOEMU: serial port terminal SERIALPORT0 (NO_DEVICE): <NONE>
> > > IOEMU: serial port terminal SERIALPORT1 (NO_DEVICE): <NONE>
> > > IOEMU: executing /usr/bin/osascript
> > > for which I'm assuming  " SERIALPORT0 (NO_DEVICE): <NONE>" indicates a problem.
> > > Regards,
> > > Roger
> > 
> > Hi Roger. Thank you very much for your effort.
> > 
> > This is normal. <NONE> means that a serialport device was not generated on-the-fly by IOEMU library, and that's because QEMU is generating one for you through a telnet connection, as established by the configuration in qemu.cfg. So IOEMU simply opens a terminal to that port. This holds always for QEMU, this is a feauture only for FS-UAE or GXemul emulators. Could be a misleading message, perhaps I should change the output log.
> > 
> > I'm very sorry, I know that all those informations should be written in the manual. I'm trying to fill the manual with those relevant infos, between Ada sessions and many other things.
> > 
> > IOEMU not displaying the parallel port data is maybe due to some GUI problem. Let's try to investigate this. You could download the QEMU package currently in the server, so we get a common starting point.
> > 
> > Remember that inside the tar archive there are two main directories, opt/, which should overwrite old sweetada files (OK), and usr/, which contains (usr/)local/lib/????.dylib, that could overwrite your already installed libraries (maybe not very OK).
> > 
> > Pay attention in uncompressing the package blindly. Unfortunately I do not known OSX in the details, and placing libraries in /usr/local/lib does work for me so far.
> > 
> > Best regards.
> > G
> Just a quick check.
> By "QEMU package currently in the server", I presume you mean "http://www.sweetada.org/packages/qemu-x86_64-20200707M.tar.gz"?
> I think that placing libraries in /usr/local/lib for OSX usually works if  /usr/local/lib is in PATH.
> In fact, when I have "library missing" problems I usually solve them by copying the inaccessible library into  /usr/local/lib or provide a link in /usr/local/lib to the otherwise  inaccessible library.

Hi Roger.

Perhaps, you may want to try also a new build of QEMU, "qemu-x86_64-20200714M.tar.gz", which I've just released today. There is no need to install separate libraries in /usr/local/lib, the package uncompresses as usual in opt/, but the .dylib libraries are now installed in a relative sibling lib/ directory of executable located in bin/. So you could, eventually, delete additional libraries installed with the separate package qemu-libraries-osx.tar.gz some days ago, which may clash with already-present ones, and is now deprecated. The QEMU package is now more compact and manageable.

Best regards

  parent reply	other threads:[~2020-07-14 16:53 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-30 16:34 SweetAda 0.1 released gabriele.galeotti.xyz
2020-07-01  9:32 ` Fabien Chouteau
2020-07-01 11:06   ` gabriele.galeotti.xyz
2020-07-01 12:19     ` Fabien Chouteau
2020-07-01 11:01 ` Stéphane Rivière
2020-07-01 11:24   ` gabriele.galeotti.xyz
2020-07-01 16:56     ` Stéphane Rivière
2020-07-01 18:04       ` gabriele.galeotti.xyz
2020-07-02 14:51       ` gabriele.galeotti.xyz
2020-07-03  4:12         ` Stéphane Rivière
2020-07-03 10:06           ` gabriele.galeotti.xyz
2020-07-07  8:44             ` Stéphane Rivière
2020-07-07  9:25               ` gabriele.galeotti.xyz
2020-07-07 10:47                 ` Stéphane Rivière
2020-07-07 16:28                 ` Stéphane Rivière
2020-07-07 16:50                   ` gabriele.galeotti.xyz
2020-07-07 18:25                     ` Stéphane Rivière
2020-07-01 15:00 ` Roger
2020-07-01 15:30   ` Roger
2020-07-01 15:47     ` gabriele.galeotti.xyz
2020-07-01 15:37   ` gabriele.galeotti.xyz
2020-07-02  4:21     ` Roger
2020-07-02  4:37       ` Roger
2020-07-02  4:47     ` Roger
2020-07-02 11:04       ` gabriele.galeotti.xyz
2020-07-02 13:03         ` Roger
2020-07-02 15:26           ` gabriele.galeotti.xyz
2020-07-04  0:30             ` Roger
2020-07-04 15:59               ` gabriele.galeotti.xyz
2020-07-05  2:15                 ` Roger
2020-07-05 21:41                   ` gabriele.galeotti.xyz
2020-07-06  3:03                     ` Roger
2020-07-06  8:36                       ` gabriele.galeotti.xyz
2020-07-06 11:30                         ` Roger
2020-07-06 15:04                           ` gabriele.galeotti.xyz
2020-07-06 16:13                           ` gabriele.galeotti.xyz
2020-07-07  0:53                             ` Roger
2020-07-07  7:20                               ` Roger
2020-07-07  8:13                                 ` gabriele.galeotti.xyz
2020-07-07 11:37                                   ` Roger
2020-07-09  6:54                                   ` Roger
2020-07-09 19:50                                     ` gabriele.galeotti.xyz
2020-07-10  0:24                                       ` Roger
2020-07-10  6:44                                         ` Roger
2020-07-11 10:15                                           ` gabriele.galeotti.xyz
2020-07-11 16:18                                           ` gabriele.galeotti.xyz
2020-07-12  2:45                                             ` Roger
2020-07-12  9:59                                               ` gabriele.galeotti.xyz
2020-07-13  6:29                                                 ` Roger
2020-07-13 10:07                                                   ` gabriele.galeotti.xyz
2020-07-13 12:03                                                     ` Roger
2020-07-13 12:18                                                       ` gabriele.galeotti.xyz
2020-07-14 16:53                                                       ` gabriele.galeotti.xyz [this message]
2020-07-15  7:52                                                         ` Roger
2020-07-16 11:09                                                           ` gabriele.galeotti.xyz
2020-07-16 11:35                                                             ` Roger
2020-07-16 11:58                                                               ` Roger
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox