New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ubuntu installation of critcl is broken #115
Comments
Checking the sources here, the package sources are present at https://github.com/andreas-kupries/critcl/tree/master/lib/critcl-md5c Checking the Lines 488 to 520 in 98ce8e1
It is basically the first critcl package which is built using critcl itself. Given that I am Ubuntu 20.04 LTS myself I used I also confirm that the package Lines 525 to 559 in 98ce8e1
This looks to me to be an issue with how Ubuntu is building the package. While I am the maintainer of Critcl I am not involved in how Ubuntu is building it. (*) Where |
I am not sure how an outsider to the code can ask anything of "Ubuntu", this may have to come from you. So is there a workaround? (like an alternate critcl.deb) I manually installed the files from github into By the way, I think there might be a good reason why md5c package is failing: the "5" in the name may be a problem, as it gets mistaken for a version number, see here, under Problems No.1. |
I downloaded the latest tar and tried to build from source.
|
Alas,
I see that |
Ubuntu does not have an official ticket system where you can report issues with the distribution ?
This is underspecified in what files where copied, and the exact actions taken. I suspect missing files, and an incorrect pkgIndex.tcl. My package directory (generated from build.tcl) looks like
The problem you are referring to wrt the
That is 3.1.18.1 ?
I am working with commit 98ce8e1 which is a bit beyond 3.1.18.1. From a checkout of that commit:
Then
Attached: install.log
I do not believe that there is a need to specify the
Ah. The directory In my case I am ok without an explicit directory because I use Tcl installation in my home directory, and not the system tclsh. Trying Well, it looks as if I have to revisit this stuff yet another time ... Thank you for bringing this to my attention, and in persisting. In your mind, what is the |
While I have to go to sleep now I see that the installed I will continue tomorrow, likely in the evening ... Rebuild the logic from scratch, with lots of comments, serving as spec. |
Thank you for your patience with my prodding. In general, I prefer to (1)use the distributed "stable" versions, so I download .tars and work from there. The latest pointer on your site is to a tar ball that opened up into I also (2) prefer to first install a new package in my user space, to test and review. No disrespect, but giving sudo privileges to a .tcl script I just downloaded from somewhere feels like a dangerous thing to do. I believed I was following your manual when I specified a destination directory as the fourth command-line parameter. I have since read the I had some trouble with I am very keen to get things tested. The goal for me is to provide tcl with hardware access through a manufacturer-supplied library, for a high-resolution deep-sky camera. Ideally, I would simply bind each of the C subroutines to its equivalent tcl function. I have not been getting very much traction based on just the posted API, I found it difficult to figure out, especially for passing/returning strings and structures (all your examples are about passing ints and floats). Hardware-support libraries are usually full of such stuff, so if you know of some working examples, I would appreciate a pointer! Maybe I'll open a new issue on this: "need more and simple examples"? |
Yes, of course. Isn't this correct? I am confused. From
How else could one interpret these instructions? "Build and install into the destination directory", which may be different for different architectures, for example. |
Having a fresh brain this morning, and from last looks just before going to bed I believe it is the
Yes, all agreed.
Will revisit the docs on expected arguments. It should accept something like I know that the
Yes, please. I dislike holes in the examples ... and I see you added #116 already. Thank you. In the meantime please see the above link, if these four wrappers are helpful to you. All of them are used in a personal project. (Consider them BSD-licensed) (Ah, the various package prolog code has references to other packages in that project which are not in the tarball. The commands And now I have to go and work for money ;) ... |
🤦 ... I have #114 sitting there for most of a year now. I will rebase this to master, and then check if its behaviour is sensible. Defaults, derivations, etc. Absolute/relative paths. If yes then I would propose to go and merge this to let @pooryorick I remember that you fiddled with the |
Rebase done, fixed some nits, and added a Still to check if the processing and insertion of paths into the generated |
Pushed fixes for that also. The #114 PR should now be in a workable state. |
Ah, that's interesting. The way I interpreted the documentation was to use two calls, one to set
This should probably be in #116 |
https://andreas-kupries.github.io/critcl/doc/files/critcl_pkg.html#24 The important part there is that |
Did not test other flags, but they should allow for a flexible install/rebuild for Ubuntu distribution. One thing: I would not have chosen the tcl8.6/ as the place to put all this, since it would then have to be duplicated for tcl8.7/ or whatever, when it arrives. On Ubuntu, packages go into |
The new |
I will now wait until Friday for @pooryorick to also weigh in on #114. If he does not object this will be merged. |
Split the doc work to #117 . |
Andreas, I know you closed this, but I found myself installing on another computer (a Chromebook, in a Crostini Linux container) and realized that, just like for Ubuntu, the default destination for libs is not quite right. All tcl add-ons should be in The new switches allow one to overcome this, of course, so what I did on Ubuntu, and now on Debian - arguably the two most popular distros, was:
You may want to include it as instructions for Ubuntu/Debian users, if you want to keep your default. |
Note added to the |
Ubuntu depositories seem to have
critcl
packaged and available, so all one needs (Under Ubuntu 20.04 LTS) is toand then
seems to be just fine. Unfortunately, no calls to
critcl
(for example,critcl::clibraries -Lwhatever
) work, because/usr/share/tcltk/critcl3.1.17/critcl.tcl
contains this line:package require critcl_md5c
, and this package is nowhere to be found.Are my expectations unreasonable? Is the only way to get
critcl
is to build it from github sources? is there a built version ofcritcl_md5c
somewhere that I can download and install?The text was updated successfully, but these errors were encountered: