Installing PixInsight for Linux: no joy

Elle

Member
Having thoroughly enjoyed using PI LE under windows, and having switched to Linux, and finding that PI LE under windows in a VirtualBox is having a few "issues", I thought I would give PI for Linux a try. I am running Debian Lenny 64-bit. I see that "debs" are available. Following the instructions on the download page, my results are as follows:


1. When I click on the link to the asc file (http://repos.pixinsight.com/AC739CF6.asc) I get the following:

http://repos.pixinsight.com/AC739CF6.asc

Could not download all repository indexes

Going to the link page itself shows:

Not Found
The requested URL /AC739CF6.asc was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.39 Server at repos.pixinsight.com Port 80

2. When I run # wget -O - http://repos.pixinsight.com/AC739CF6.asc | apt-key add -

I get:

--10:13:50-- http://repos.pixinsight.com/AC739CF6.asc
=> `-'
Resolving repos.pixinsight.com... 74.50.19.20
Connecting to repos.pixinsight.com|74.50.19.20|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
10:13:50 ERROR 404: Not Found.

gpg: no valid OpenPGP data found.

3. When I add the "sources.list" lines:

## pixinsight
deb http://repos.pixinsight.com/debian unstable non-free
deb-src http://repos.pixinsight.com/debian unstable non-free

and do an update with synaptic, I get:

The repository might be no longer available or could not be contacted because of network problems. If available an older version of the failed index will be used. Otherwise the repository will be ignored. Check your network connection and the correct writing of the repository address in the preferences.

http://repos.pixinsight.com/debian/dists/unstable/non-free/binary-amd64/Packages.gz: 404 Not Found

4. Not being one to give up easily, I download the tar.gz file and extract it to a folder named PixInsight. I open a terminal and cd to the PixInsight folder and then type:

./bin/PixInsight32

and get:

./bin/PixInsight32: error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

5. So I went back to synaptic and tried to find a "gthread" or a "libgthread" that I could install. No such luck.

6. So I went to http://www.debian.org/distrib/packages searched package contents for "libgthread" and found a list of packages at:
http://packages.debian.org/search?searchon=contents&keywords=libgthread&mode=filename&suite=testing&arch=amd64,
all of which except the ia32-libs-gtk package were already installed on my system. So I installed the ia32-libs-gtk package and reran "./bin/PixInsight32"

and got

error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory

And this is where I decided to stop. I may try finding "libidn.so.11" someplace and installing it later. But right now I feel like I am installing from source rather than from a package, except that so far installing from source always gives a more complete list of missing items, so I can go after the missing stuff all at once instead of step by step.

No joy.

Elle
 
Just a minor suggestion... you may try executing the script:
PixInsight/bin/PixInsight32.sh

this should work.


BTW, I'm running it on Ubuntu, so it should run on your Debian system... but maybe there is a problem since it is 64bits.


About .deb packages... I don't know if that system is working for commercial users. Let's see what Juan answers.
 
Hi Elle,

My apologies. The problem is that our Linux repositories are largely outdated. And the second problem is that we forgot removing the information about Linux packages from our downloads page. I'm going to remove it as soon as I complete this message.

Please download the current installation archive for Linux:

http://pixinsight.com/download/STD/download-trial.php?platform=linux32&module=core

and do the following:

1. Create a subdirectory under your personal directory, where you'll install PixInsight. For example, a good choice is:

/home/<my-user-name>/PixInsight

where <my-user-name> represents your actual user name. To create that directory, you can use a graphical interface (KDE, Gnome), or if you are command line oriented:

Code:
mkdir ~/PixInsight

2. Unpack the installation archive to the above subdirectory. Again, you can use your desktop graphical tools, or the following command:

Code:
cd ~/PixInsight
tar -xzf ~/Desktop/PI32-linux-01.00.58.377-20080330-t.tar.gz

where I have assumed that you have downloaded the installation archive to your desktop. Replace the ~/Desktop/ part as appropriate, if necessary.

3. The PixInsight executable is located on the bin subdirectory under the installation directory. Following the previous example:

/home/<my-user-name>/PixInsight/bin/PixInsight32

is the file that you must execute to run PixInsight. You can easily create a link to this file and place it on your desktop, for example, or in the panel menu if you use KDE.

The first time you run PixInsight it will ask you for a user identifier and an activation code. To obtain these codes, please request a 30-day trial license, if you haven't done so already:

http://pixinsight.com/trial/index.html

I hope you'll have no further problems. Please accept my apologies for the outdated repositories.
 
Hi Juan,

Apologies are not necessary. I should apologize to you - I should have just emailed instead of posting. Posting is for interesting stuff, not stupid stuff!

Anyway, I downloaded from the link you posted, but it seems it was the same file I downloaded earlier - at least the file name was the same. I followed your instructions to extract the tar.gz to a folder - the same procedure I followed this morning after I gave up on the "deb" approach. After extracting the files, I typed in:

/home/elle/programs/PixInsight/bin/PixInsight32

at the command line and the response was just the same as this morning:

/home/elle/programs/PixInsight/bin/PixInsight32-bin: error while loading shared libraries: libidn.so.11: cannot open shared object file: No such file or directory

I tried following Carlos' suggestion about executing the script "PixInsight/bin/PixInsight32.sh"

but although I can "script" in a dozen languages from fortran and gwbasic to autoit and other obscure scripting languages, I still haven't set myself the task of understanding "scripting" under linux (I'm a windows vista refugee). So I don't really know what to type in at the command line to make something a "script".

If someone could tell me exactly what to type in at the command line I'd be happy to try again (despite not knowing the "scripting" stuff for linux, I'd still really rather work from the command line - fwiw my "desktop" is icewm).

But so far, it still looks like I'm missing a shared library. Which is surprising given how many math- and image-processing programs are already installed on my system.

OK, so I just checked, I do have libidn installed and also libidn-dev. Is there some other variation on libidn that I need? Or perhaps it's just a missing link? Suggestions welcome.

And thanks again for the fast response.

Elle
 
Hi Elle

You run the scrip (the .sh) file just as if it were an executable... do you remember .bat files from MS-DOS? Something like that. So, at the terminal, just write:

./programs/PixInsight/bin/PixInsight32.sh

(I'll asume that you are under your user directory, "elle")


You may edit the sh file, if needed, with gedit, pico, emacs or whatever edition app you like, just as if it were plain text.


If the previous procedure (running the .sh file) does not work, take a look at this topic, in the bugs section:

http://pixinsight.com/forum/viewtopic.php?t=643

This may be your solution too.


If everything fails, make sure that your system is completely up to date. Otherwise, we should wait for any further suggestion from Juan.


Sorry for the inconveniences.
(this should be written somewhere with fire letters ;) )
 
Hi,

I'm the author of the .deb and .rpm packages. Some months ago I stopped creating them because I suspected no one were using them; in fact, I didn't receive a single complaint about it so I guess I was right! :). That's the reason why the packages and the information about them are that old.

However, I could build them again without much effort, since all the files are still here in my hard drive. I would need to verify if something needs to be changed (probably) and check the dependency information too, because I'm not sure that the 32-bit package can be installed onto a 64-bit system.


[quote author="Elle"]Apologies are not necessary. I should apologize to you - I should have just emailed instead of posting. Posting is for interesting stuff, not stupid stuff![/quote]

Posting is always useful, and a good thing. Please keep doing so.

(BTW, I use icewm too!! Not alone in the universe!)
 
Hi Elle,

Your system seems to lack one or more required system libraries. I suspect that libidn won't be the only one.

Please try the following:

Code:
cd /home/elle/programs/PixInsight/bin
ldd PixInsight32-bin

This will tell us which shared objects are lacking in your system. In the output of ldd, ignore the following six libraries, since they are provided by PixInsight:

liblcms.so
libjs.so
libzlib.so
libcfitsio.so
liblibtiff.so
libjpeg.so

For example, if I run the above command on my workstation, I get:

Code:
[juan@polaris bin]$ ldd PixInsight32-bin
        linux-gate.so.1 =>  (0x00110000)
        liblcms.so => /usr/lib/liblcms.so (0x00111000)
        libjs.so => not found
        libzlib.so => not found
        libcfitsio.so => not found
        liblibtiff.so => not found
        libjpeg.so => /usr/lib/libjpeg.so (0x499c9000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x4991e000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x49902000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x499ed000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x497b6000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x497d4000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x497cd000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x497c1000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x497da000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x49703000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x49785000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x496ce000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x49597000)
        libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x49b64000)
        librt.so.1 => /lib/librt.so.1 (0x49a38000)
        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x49929000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x496a0000)
        libdl.so.2 => /lib/libdl.so.2 (0x49589000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x4a1fa000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x4a166000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x4a227000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0x4a161000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x4a907000)
        libidn.so.11 => /usr/lib/libidn.so.11 (0x41000000)
        libz.so.1 => /usr/lib/libz.so.1 (0x496b9000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x4f21a000)
        libm.so.6 => /lib/libm.so.6 (0x49560000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4f20c000)
        libc.so.6 => /lib/libc.so.6 (0x49421000)
        libexpat.so.0 => /lib/libexpat.so.0 (0x496e0000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x4969b000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x4958f000)
        /lib/ld-linux.so.2 (0x49404000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x4a1f0000)

You must look for "not found" entries, except the six ones I said above (note that in my case I have liblcms and libjpeg in /usr/lib, but despite that PixInsight will load its own versions from the bin directory). With this information we'll know which things should be updated in your system.

Now I don't want to open a Linux distro war, but my general advice is to use the most up-to-date version of a mainstream Linux distribution. AFAIK, PixInsight has been reported to work in the following distributions:

Fedora, both 32-bit and 64-bit
Ubuntu, 32-bit (I don't know about 64-bit)
Mandriva, 32-bit (I don't know about 64-bit)
SuSE, 32-bit (64-bit versions are giving problems)

And I'm sure there are much more. With respect to 64-bit versions, if nothing odd happens we'll have our first 64-bit Linux release in less than one month.

Personally, I prefer rpm-based distributions, and all workstations where PixInsight is being developed are running Fedora as the host operating system (Windows and other Linux distributions on VMware virtual machines).

Having said that, I am prepared to be murdered without compassion by the Debian crowd :lol:
 
Hi Juan, Carlos, and David,

Thanks so much for helping with getting PI to run under Debian Lenny 64-bit. I'd be the last to flame about linux distributions. Debian is not my first and likely not my last Linux install. Alas I broke OpenSuse 10.3 beyond my ability to repair. And Debian Lenny purports to stay up-to-date with rolling updates, plus I was able to do a "minimal command line install" with the net-cd and "season to taste", thus avoiding the overhead of the KDE/Gnome/ super-desktops. If I could only find a "how to" to bend Fedora to my will (remove the bloat), I'd jump ship immediately. Maybe I'll jump ship anyway.


Juan, I ran the "ldd" command with the following result:

~/programs/PixInsight/bin$ ldd PixInsight32-bin
linux-gate.so.1 => (0xffffe000)
liblcms.so => /usr/lib32/liblcms.so (0xf7f20000)
libjs.so => not found
libzlib.so => not found
libcfitsio.so => not found
liblibtiff.so => not found
libjpeg.so => /usr/lib32/libjpeg.so (0xf7f00000)
libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7ef8000)
libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7ee1000)
libXi.so.6 => /usr/lib32/libXi.so.6 (0xf7ed9000)
libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf7ed0000)
libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf7eca000)
libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf7ec5000)
libXcursor.so.1 => /usr/lib32/libXcursor.so.1 (0xf7ebc000)
libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf7eb9000)
libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf7e4a000)
libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf7e1e000)
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7e10000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7d24000)
libgthread-2.0.so.0 => /usr/lib32/libgthread-2.0.so.0 (0xf7d20000)
librt.so.1 => /lib32/librt.so.1 (0xf7d18000)
libglib-2.0.so.0 => /usr/lib32/libglib-2.0.so.0 (0xf7c78000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7c60000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7c5c000)
libgssapi_krb5.so.2 => /usr/lib32/libgssapi_krb5.so.2 (0xf7c33000)
libkrb5.so.3 => /usr/lib32/libkrb5.so.3 (0xf7ba5000)
libk5crypto.so.3 => /usr/lib32/libk5crypto.so.3 (0xf7b82000)
libcom_err.so.2 => /lib32/libcom_err.so.2 (0xf7b7f000)
libresolv.so.2 => /lib32/libresolv.so.2 (0xf7b6b000)
libidn.so.11 => not found
libz.so.1 => /usr/lib32/libz.so.1 (0xf7b56000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7a69000)
libm.so.6 => /lib32/libm.so.6 (0xf7a44000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7a36000)
libc.so.6 => /lib32/libc.so.6 (0xf78ef000)
libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf78cf000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf78cc000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf78c7000)
/lib/ld-linux.so.2 (0xf7f71000)
libpcre.so.3 => /usr/lib32/libpcre.so.3 (0xf78a6000)
libkrb5support.so.0 => /usr/lib32/libkrb5support.so.0 (0xf789e000)
libkeyutils.so.1 => /lib32/libkeyutils.so.1 (0xf789b000)
~/programs/PixInsight/bin$

So it looks like everything is there except libidn.so.11

However, libidn.so.11 ***IS*** on my system, at /usr/lib/libidn.so.11


Carlos, I typed "./home/elle/programs/PixInsight/bin/PixInsight32.sh" at the command line, with the result:

bash: ./home/elle/programs/PixInsight/bin/PixInsight32.sh: No such file or directory

A directory listing of "PixInsight/bin/" doesn't show any files ending in ".sh". Is there supposed to be a file with ".sh" at the end?


David, your offer to create a deb is very kind. But the extracted tar.gz should work just fine. I think the issue is the "shared library" as Juan suggests. And if all else fails, I will wait for the 64-bit release.


All I really wanted to do was use PixelMath for one simple little gamma transform. I've done it before (see my color conversion post). But I couldn't get PixelMath to work on PI LE under W2K under VirtualBox under Debian - not sure if I've just forgotten how PixelMath works or if it is just not working. But PI LE color management in the VM doesn't work at all (crashes when I open the dialog). So I decided to install PI standard on Debian and skip the VirtualBox layers.

Maybe PI LE will work under wine. Haven't tried that yet.

Sigh.

Elle
 
Hi Elle,

Your system seems to be lacking a 32-bit version of libidn. One solution is to download and compile it. Unfortunately, in general you cannot simply copy libidn.so.11 from other distribution, since there are incompatibilities. You have already verified this with the files I sent to you yesterday.

If you are prepared to do a bit of hacking, this is the procedure:

1. Download libidn version 0.6.5. We could probably try with a newer version (1.6 for example) and it should work fine, but let's be conservative here (only here! :) )

ftp://alpha.gnu.org/pub/gnu/libidn/libidn-0.6.5.tar.gz

2. Unpack the tar.gz to a directory.

3. Open a bash shell and type the following:

Code:
CFLAGS="$CFLAGS -m32"

Now to verify that you have set the CFLAGS environmental variable:

Code:
echo $CFLAGS

It should say "-m32"; perhaps something more, but -m32 should be at the end of the string. This is necessary because you are on a 64-bit system, but we want a 32-bit shared object at the end of the story.

Now change the current directory to where you've unpacked the libidn tar.gz:

Code:
cd <directory-where-you-have-unpacked-libidn>

Let's configure it:

Code:
./configure

This will take a few seconds. Now compile it:

Code:
make

Now you have the following three files:

<d>/lib/.libs/libidn.so
<d>/lib/.libs/libidn.so.11
<d>/lib/.libs/libidn.so.11.5.19

where <d> represents the directory where you unpacked libidn. Just copy these files to the bin directory where you have PixInsight, and it should work. Note that the .libs part in the two paths above means that both files are on a hidden directory.

Important: also note that the first two files:

<d>/lib/.libs/libidn.so
<d>/lib/.libs/libidn.so.11

are symbolic links. You don't want to follow the symbolic links when copying them, but to copy the links themselves, so you'll have to use the -d flag when using cp:

Code:
cp -d libidn.so* <directory-where-pi-is-installed>/bin

That's it. I hope it will work!

If some experienced Linux user is reading this, please correct me if I've made some mistakes!
 
Hi, Juan,

As soon as I feel a bit more adventuresome regarding linux installs than I do at the moment (an upgrade to my video driver has caused all kinds of little but annoying "issues"), I will follow your instructions above, unless the PI 64-bit has come out in the meantime.

Thanks very much for the procedure. It looks like it should work just fine. It is just that this linux newbie is at the saturation point of "new things to learn" at present.

Elle
 
Hi Juan,

I am pretty sure I followed your instructions to the letter. When I ran PixInsight32 this is the resulting error message:

error while loading shared libraries: libidn.so.11: wrong ELF class: ELFCLASS64


Seriously, ALL I am trying to do at this point is change an image from gamma 1.8 to gamma 1. I've done this before using PixInsight LE. But I can't remember the procedure. According to this post:

http://pixinsight.com/forum/viewtopic.php?t=377&highlight=

what I need to do is:


Code:
$target^(1/1.8)


I remember how easy this was to do using PixelMath, back when PILE was installed on W2K. But now when I go to PILE and open up the PixelMath window, I simply canNOT find any placy to code anything. The closest I can come is to select the power operator, but there doesn't seem to be any way to give the power operator a power (assuming the power operator is the right operator to choose).

I seem to recall simply typing in the code above. But I can't find any place to type anything in. This is driving me nuts. I don't know if it is because I am now using PILE under W2K under VirtualBox under Debian and the relevant items are just not available, or if I have totally forgotten how to make PixelMath work. I've searched the tutorials and found relevant tutorials, but they leave me in the same place I started, wondering where to type in what I want to type in.

ANY help would be SO very much appreciate.

Elle
 
Hi Elle

PixInsight LE's PixelMath is a completely different tool from the PixInsight Core's PixelMath. The later was rewritten from scratch, and became nearly a scientific calculator. Not only the interface changed, but it's whole functionality. Roughly speaking, is comparing an HP scientific calculator to a Casio one... (no offense intended). ;)

So, if you use Core's PixelMath, you just need to type "$target^(1/1.8)" to perform the transform.

In LE's, by the other way, is a little more tricky: First of all, add a new operand ("New" button), with the POWER operation selected. Don't assign any image to this operand. Now, modify the R/K, G and B text boxes just below the Operand view selector, and enter the 0.55555556 value (1/1.8). That's all. Now apply this to your image.
 
Hi, Carlos, and thank you, thank you, thank you!

Your PixelMath instructions worked perfectly. And you are absolutely right. I had the PI core on my old windows installation several times and I must have been using "core" instead of LE when I was doing the gamma conversion using PixelMath. No wonder my little brain couldn't seem to make what I remembered doing cohere with what I was seeing on the screen.


Elle
 
Back
Top