How to install Cherrytree

Yes I had to add glibmm2_4 version 2.64.5-1.1 from Tumbleweed.
I understand that is a bad idea to mix packages from Tumbleweed for leap.
I will try to revert back to the correct configuration with snapper, and wait eagerly for a new build for leap.
Thanks for your update on that topic.

You do NOT build a package in the place where it should be when ready to run.
You build it elsewhere (of course NOT as root) and then install it to the correct place(s), remind there are often more places where an application package goes: /bin, /lib/ /etc, …

Advising to build something (e.g. grep) in the place where it is to be in the end (/bin) and thus, because of permissions doing so as root, is almost criminal.

This is absolutely incorrect - and dangerously so.

Most code that’s distributed provides instructions for building, and more often than not, the installation instructions are something like “make && sudo make install” - ie, you build in one place and then run the installation to install it in a location that’s accessible.

This is considered a good security practice as well - if you run a build script as root, you run the risk of there being something in the build script that can compromise the system. If you don’t run as root, you limit the ability for a potential bad actor packaging code with a rootkit or exploit in the build process from compromising the system.

Tumbleweed has version 0.99.26+2, which uses default language, but can select any other language from a comprehensive list. No installation scripts are used. Thus I think you missed something when compiling the application.

Hello,
As I have been told, the compiling process was almost Ok, but the way a get dependencies was not (mixing repos).
I’m happy with my Leap which is very stable, and probably keep it and learn ;).
Thanks

Hello,
I just need to confirm that I’ve compiled the application with “normal” user privileges.
When I untar the tarball in /opt, I grant the ownership of the source directory:

sudo tar -xJvf cherrytree_0.99.27.tar.xz
cb@cblinux:/opt> ll
total 1728
drwxrwxr-x 1 cb    1000     330 22 déc.  00:40 cherrytree_0.99.27

Regards

I can only repeat (for the last time) that a “normal user” should NOT even be able to put a tar (or any other file) there:

boven:~ # ls -ld /opt
drwxr-xr-x 2 root root 4096 Mar  7  2020 /opt
boven:~ # 

And from that point on the rest of the discussion on what is done or not as what user or not inside /opt has no value.

Hmmm…
I think people either didn’t read my post entirely or I wrote my post poorly.
I thought I was clear that the build is a completely separate process than the build and that they aren’t necessarily in the same location.

But, to install in /opt/ (and if that is the recommendation of the Developers for whatever reason) you will need to do so in a system-accessible location even if it’s in a person’s home directory with sufficient permissions to write to /opt/

TSU

You pretty specifically said it needed to be built where it was going to run from. That is not - nor has it ever - been the case.

That’s also why you do “make install” with sudo - because root does have permissions to write in the install location.

You generally run ./configure and tell it (optionally) where you want to install to, and the build system takes care of the rest. With the exception of really small programs that don’t follow those conventions, that’s how it’s been done for decades.

No, you shouldn’t do that or do it very carefully making sure the TW repository is disabled after adding your package.

The safe way is to instead add the Gnome Factory repository for your version of openSUSE which has your package and is limited to providing unstable packages only for the Gnome Desktop, not your entire system.

https://en.opensuse.org/GNOME_repositories

TSU

I took a look at this and attempted to build on a test system.
I don’t have the specifics now, but ran into an error (IIRC gtkviewmm-3.0?) that often is related to a fixed path in the makefile, when I encounter an error in the makefile, that’s usually a bridge too far for me testing a compile.

So,
I didn’t come to a conclusion whether Cherrytree would build with or without root permissions.

TSU

Hi
Of course it does, just rebuild the src rpm as your user… until glibmm is built for Leap, it will be a no go…

Didn’t read all the responds but if you just want the latest version and aren’t familiar with building, I’d install it from open build service from GNOME:Apps repo in OBS. It’s easiest to install and update.

Instructions: https://software.opensuse.org, search cherrytree, after search click “Show for other distributions” -> show experimental packages under your openSUSE Leap 15.2 and 1-click-install under “GNOME:Apps Experimental”.

Hi
The old version is available for Leap 15.2, the OP is wanting the latest 0.99.xx version… :wink:

Thanks Remuz.
As Malcolm said, I was dealing with testing the latest version, but for this, I would have to switch to TW.
But It does not really matters. I’m happy with my Leap :shame: