tilp_and_gfm icon indicating copy to clipboard operation
tilp_and_gfm copied to clipboard

Can't get tilp to compile/run successfully on newest Trisquel+KDE GNU/Linux.

Open cogburnd02 opened this issue 5 years ago • 13 comments

I'm using the latest Trisquel GNU/Linux with KDE (which can lag behind upstream a fair bit.) and I ran

sudo ./install_tilp.sh

(after, of course, setting it to executable.) but although the script outputs

"=== libti* + gfm + tilp installed successfully ==="

at the end, It was complaining of not being able to access some library or other. After Googling around for a second, I tried

sudo ldconfig && sudo ./install_tilp.sh

and after "sudo tilp" I get this:

TiLP2 - Version 1.19, (C) 1999-2008 Romain Lievin THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY PLEASE READ THE DOCUMENTATION FOR DETAILS

(process:30001): tilp-CRITICAL **: libticonv library version is 1.1.5 but 1.1.6 mini required.

** (tilp:30001): WARNING **: Couldn't find pixmap file: logo.png

(tilp:30001): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(tilp:30001): ticalcs-CRITICAL **: ticalcs_update_set: handle is invalid

(tilp:30001): Gtk-CRITICAL **: IA__gtk_builder_add_from_file: assertion 'filename != NULL' failed Segmentation fault (core dumped)

Any suggestions? Is there a required version of KDE or its libraries that I need?

cogburnd02 avatar Nov 21 '18 13:11 cogburnd02

"libticonv library version is 1.1.5 but 1.1.6 mini required." indicates that your system's dynamic linker picked up outdated binaries. Given that the install script isn't known to cause issues such as building outdated binaries, I'd think that first of all, you need to look for libticonv*, libtifiles*, libticables* and libticalcs* binaries on your system, and clean them all up, and check your PATH environment variable, before using the install script again :)

There are no requirements on any KDE version: the hopelessly outdated KDE 3 integration was disabled a long time ago, and removed more recently as it was causing build issues for some users.

debrouxl avatar Dec 02 '18 19:12 debrouxl

ok, I deleted every libti{cables,calcs,conv,files} on my system then tried re-running the install script and sudo tilp and it gives me:

tilp: error while loading shared libraries: libticables2.so.7: cannot open shared object file: No such file or directory

Do I need to re-download the installer script? Do I need to install the libraries manually before running the installer script?

cogburnd02 avatar Dec 03 '18 21:12 cogburnd02

The development version of TILP from Git, using the development version of libti* from Git, has been using libticables2.so.8 instead of libticables2.so.7 for over two years. There was something wrong (probably unclean) with your build environment when you previously ran the install script, causing tilp (and presumably gfm) to be built against outdated versions. Now, try also cleaning the gfm and tilp binaries, before using install_tilp.sh again :)

Yes, you could re-download the installer script from this repo, but it hasn't changed in the past few months, and re-downloading the installer script doesn't fix pre-existing issues in your build environment. No, you don't need to install the libraries manually: install_tilp.sh does it automatically, that's one of the reasons why I made it :)

debrouxl avatar Dec 03 '18 21:12 debrouxl

"you could re-download the installer script from this repo, but it hasn't changed in the past few months"

Oh I downloaded it from http://lpg.ticalc.org/prj_tilp/download/install_tilp.sh (which is the link on http://lpg.ticalc.org/prj_tilp/linux.html) I'm going to assume that version is out of date & try again with the version from this repo.

cogburnd02 avatar Dec 03 '18 21:12 cogburnd02

You may also need to do a (sudo) ldconfig after building and installing.

adriweb avatar Dec 04 '18 00:12 adriweb

(process:32350): tilp-CRITICAL **: 00:49:29.521: libticonv library version is 1.1.5 but 1.1.6 mini required.

Is a show stopper period.

This version is not available anywhere, and even building from libticonv source builds 1.1.5, the latest available version in ALL repos.

"indicates that your system's dynamic linker picked up outdated binaries."

1.1.5 is the latest anywhere and as I stated is what the latest github source builds to.

edaustin avatar Jul 23 '19 23:07 edaustin

What are you talking about?

The current master source for the libs, which libticonv is part of, has 1.1.6 right there: https://github.com/debrouxl/tilibs/blame/master/libticonv/trunk/configure.ac#L5 And it has been so for at least 3 years.

Build from source the libs themselves as well, not just tilp.

I suggest you clean/remove/uninstall everything then build everything again (with CMake since that's supported now, or the install_tilp.sh script)

adriweb avatar Jul 23 '19 23:07 adriweb

If 1.1.6 has been around three years it is amazing that not a single distribution repo carries this version.

Build from source the libs themselves as well, not just tilp.

Builds 1.1.5 of libticonv

edaustin avatar Jul 24 '19 00:07 edaustin

Then I don't know how you get 1.1.5. I'm building it from master, and both the autotools and cmake ways get me a 1.1.6 build, as expected.

Try cloning the repos again, make sure you're on latest master, then build everything from scratch, first having removed any existing libs (especially distro packages) that probably conflict right now. (ldd can probably tell you where tilp is getting its libs from).

This should work, in tilibs, and tilp later on:

mkdir build && cd build
cmake ..
cmake --build . --target all
cmake --build . --target install

adriweb avatar Jul 24 '19 00:07 adriweb

Don't get me wrong I appreciate your efforts however this definitely is an issue, perhaps just for me. Thanks for the advice.

edaustin avatar Jul 24 '19 00:07 edaustin

(Note that I'm not the maintainer, @debrouxl is - I'm however a contributor.)

But yes, it is known that distro packages are outdated, and thus we discourage people to use them, maybe one day we'll have a nice update from them. OBS repos for multiple distros have been set up however, and are more up to date, but I don't think they're fully ready IIRC (depends on the distro) - see https://build.opensuse.org/project/show/home:debrouxl:TILP

In the meantime, anyone can use the install script or CMake without any issues... as long as there's nothing conflicting like ditro package for some of the libs, which I suppose was the issue on your setup.

There's also a Docker ready to use, that has worked for some people too, see details here https://old.reddit.com/r/nspire/comments/biarho/guide_easily_transfer_files_to_your_tinspire/

adriweb avatar Jul 24 '19 00:07 adriweb

As @adriweb wrote, as long as TILP is finding libticonv 1.1.5, there's something wrong with your build and execution environment, leftover distro packages being the most likely cause. The fact that TILP isn't finding libticonv 1.1.6 will go away if you use a clean build and execution environment, like the ones adriweb, I and most users are using :)

libticonv 1.1.6, libtifiles2 1.1.8, libticables2 1.3.6 and libticalcs2 1.1.10 are the unreleased versions which can be built from the development Git repository (containing a range of improvements, new features and bugfixes performed since the latest release from 2016), and distros seldom package stuff from Git. I know, I should make releases more often, but as most maintainers of FLOSS, I'm doing this work on my free time, unpaid. At least, I don't have to pay the TI calculators I'm using for testing purposes.

debrouxl avatar Jul 24 '19 08:07 debrouxl

I also ran into this issue when running the automatic install script as mentionned in the README.linux "http://lpg.ticalc.org/prj_tilp/download/install_tilp.sh"

After manually purging the libti* packages and running /tilp/trunk/build/scripts/install_tilp.sh everything worked out as expected.

Barabazs avatar Aug 02 '19 09:08 Barabazs