Update: Eagle CAD version 6.4 is available which runs fine on Ubuntu 12.04., Ubuntu 12.10 and Ubuntu 13.04. I’ve made a small tutorial on how to fix possible dependency problems with this new version.
Ubuntu 12.04 only provides an older version of Eagle CAD, version 5.12.0 to be exact. A newer version 6.2 (32 bit) is available for download, but the installation fails due to the lack of a 32 bit libpng-1.4 library:
error while loading shared libraries: libpng14.so.14: cannot open shared object file: No such file or directory.
Luckily, I found a detailed post at raek’s blog which covers older Ubuntu versions. Great parts of the following instruction were taken from this post and adapted for Ubuntu 12.04. Thanks!
First of all you need to install some packages to build the missing png library. Open a terminal window and enter on a 32 bit Ubuntu 12.04:
sudo apt-get install build-essential perl sudo apt-get install zlib1g zlib1g-dev
On a 64 bit Ubuntu 12.04:
sudo apt-get install build-essential perl gcc-multilib sudo apt-get install ia32-libs lib32z1 lib32z1-dev
Then you need to fetch the libpng source code and the Eagle CAD 6.2 installer, either with “wget
” (as I have done it) or directly from the respective webpages. A current version of Eagle CAD is available for download here: http://www.cadsoftusa.com/download-eagle/
libpng 1.4 can be found on this page: http://www.libpng.org/pub/png/libpng.html
I will use the “/tmp/libpng-eagle
” directory for building the library:
mkdir /tmp/libpng-eagle cd /tmp/libpng-eagle wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng14/libpng-1.4.12.tar.gz tar xvfz libpng-1.4.12.tar.gz cd libpng-1.4.12/ ./configure --prefix=/tmp/libpng-eagle/install CFLAGS=-m32 make check make install
At this point I assume that your Eagle CAD installation will be located at “/home/$USER/eagle-6.2.0
“. If not, simply adjust the location in the text below:
cd /tmp/libpng-eagle/install/lib/ mkdir -p /home/$USER/eagle-6.2.0/lib cp -a libpng14.so* /home/$USER/eagle-6.2.0/lib/
Now the installer should run…
export LD_LIBRARY_PATH=/home/$USER/eagle-6.2.0/lib/ cd /tmp/libpng-eagle/ wget ftp://ftp.cadsoft.de/eagle/program/6.2/eagle-lin-6.2.0.run chmod 755 eagle-lin-6.2.0.run ./eagle-lin-6.2.0.run
After the installation finishes, Eagle CAD will still not run unless you tell it where to find the png library we have just created. The easiest way to do this is by creating an executable start-up shell script (e.g. /home/$USER/eagle-6.2.0/eagle.sh
) which contains the following commands:
#!/bin/sh export LD_LIBRARY_PATH=/home/$USER/eagle-6.2.0/lib /home/$USER/eagle-6.2.0/bin/eagle
Additionally, you could create a Unity/Gnome menu entry, for example “/home/$USER/.local/share/applications/eagle.desktop
”
(do not forget to adapt the $USER
):
#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Terminal=false Icon=/home/$USER/eagle-6.2.0/bin/eagleicon50.png Name=Eagle Exec=/home/$USER/eagle-6.2.0/eagle.sh Comment=Eagle CAD
Update: A friend told me that the installation procedure also works with Ubuntu 11.10.
In my case I needed also to make executable the eagle.sh custom script.
It works, thanks a lot !
It Works!
Ubuntu 12 on 64bit Platform.
Thank’s! 🙂
Thanks!
Very GOOD Instruction, it WORKS on
Ubuntu 12.04 64bit..
Thankś
… again Ubuntu 12.04 64bit, works like a charm! Thx.
If you ever make it to Florida, I owe you a beer!
These steps to be recommended to CadSoft, for inclusion in their FAQs.
Simply Super Steps!
Install and play ( InP )It works!!!
…Kunbutu 12.04 64 bits, great tips and tricks. Many Thanks Kai!!!
Usefull help, indeed.
Me andoooooooo, gracias mil loco. anduve por varios sitios y el tuyo es el único que anduvo. gracias de nuevo
Thanks a lots
Thank you very much!
Works with a brandnew Ubuntu 12.04 an the libpng1.4.12 instead of *.11
The older Version of libpng is no longer available at simplesystems.org. You only need to change 11 to 12 in wget command. Et voila: installed
Thanks for the tip, I’ve updated the text accordingly.
How create a Unity/Gnome menu entry? The eagle.sh don’t exist
The “eagle.sh” script must be created manually. I have given an example in the post. (Do not forget to adapt it to your directory structure.)
Thanks for the assist.
Thank you sooo much! It worked!
Thank you very much!
THX!
Worked GREAT!! Best Eagle Cad installation guide I have seen!!!!
Thanks, that worked for me….. 12.04 Virtual Image
Thanks very much, works fine!
I had to install the eagle-data package for the parts-library and replaced eagle.sh with /bin/eagle.
Dankeschön 🙂
I get as far as make check and make install and I get an error saying no rules for make check or make install.
Help?
This message appears if no ‘Makefile’ was generated or is present in your current directory. It’s hard to say what went wrong in your case. I would check the previous steps (especially ‘configure’) for any error messages. (And check, if you are in the correct directory when calling ‘make’.)
Thanks Kai.
I’ll give it another shot after work today.
Great instructions, worked perfectly. Instead of creating a shell script to start Eagle I opted to copy the libpng14.so.14 to the same path as the current libpng since the name doesn’t clash and Eagle is linked against “libpng14.so.14” and not “libpng.so”. In my case I copied to “/lib/i386-linux-gnu/” and ran “ldconfig”. Running Kubuntu 12.04 64-bits.
Got it working, just not sure how to create a desktop icon. I’m a bit of a Lunix noob.
Fantastic! Thanks a lot – got it installed! Like Anthony, I’m a Linux noob too and can’t work out how to start the application now that it’s installed and/or create a shortcut…
Well, I can not describe a general way to create a desktop icon — whether this is possible or not depends on your desktop environment (Gnome,Unity,KDE, etc.). Creating the “eagle.desktop” as described should at least allow you to access Eagle through the program starter (the menu/pop-up you use to search an run other applications).
I could follow the steps till:
cp -a libpng14.so* /home/$USER/eagle-6.2.0/lib/
when I got this error:
cannot stat `libpng14.so*’: No such file or directory
Hmm… Hard to say what exactly went wrong. At least the library is not where it should be (in the above case /tmp/libpng-eagle/install/lib/). Had one of the previous steps led to error messages? Did you try to use different paths and forgot to adapt them in one place?
Great instructions, worked perfectly. Installed flawlessly on my Ubuntu 12.04 64bit.
Yes when one comes to the section ” Unity/Gnome menu entry”, one must follow your advice, “(do not forget to adapt the $USER)” in the body of the script:
“/home/$USER/.local/share/applications/eagle.desktop”
Many thanks.
Warm Ragards.
Thanks, it works fine!
Here xubuntu 64bit
Regards.
Worked great though I had some problems with only being able to launch eagle from the command line which turned out to be that I had to add the Unity/Gnome menu entry for it to work. Anyway, thanks.
Hey,
thanks for this great explanation! I translated it to Dutch and posted it on my own blog… I hope you don’t mind. Just like spreading the great information to people who don’t handle English that well.
Hey, no problem. 🙂 Thanks for the note.
i receive this error when enter ./configure –prefix=/tmp/libpng-eagle/install CFLAGS=-m32
bash: ./configure: File o directory non esistente
Help me please!
Please re-check if you are located in the ‘libpng-1.4.12’ directory when running the ‘configure’ script. If it’s not there, retry the previous steps. Maybe one of these already failed?
Just in case: keep in mind that the content of the ‘/tmp’ directory is removed after each restart of your system.
ops!
I am a stupid !!!
I didn’t have the right of user of the /tmp directory …..
sorry and thanks for the guide!
Thanks, it’s working great
If you have super-user access to your system, you can permanently install the libpng library by copying to the i386 system path. For my Ubuntu 12.04 system, that meant installing to /lib/i386-linux/gnu/. This would make the library accessible to all programs, and avoids needing the shell script to export the library path when invoking the program.
Use at your own risk!
Thanks for this great and easy to follow instruction.
Correct, but I do not recommend it.
People tend to forget what libraries they have manually ‘installed’ as superuser. After some time they may be confused by cryptic package management messages or wrong library dependencies if there is a collision (meaning two packages/binaries rely on different versions of the same library).
Gracias, trabaja muy bien en 12.04 64 bits.
Thank you very much!
Worked Perfectly for me on Xubuntu 12.10.
I also linked the shell script to /usr/bin so i can just start it in the shell.
Regards Alex
It’s works!
Thanks for this great and easy instruction.
realy works great…..
Eagle Version 6.3.0
libpng version 1.5.13
Ubuntu 12.04
Just have to edit commands to fit these needs ang it’s working great
Many thanks for your help.
I tried to install on debian 6.0.6 but it stops in “./eagle-lin-6.2.0.run”
the error is “/tmp/eagle-setup.6296/eagle-6.2.0/bin/eagle: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory”.
I have no idea what does it mean ….
On Ubuntu 12.04 it works fine!
Hi, I haven’t tested the installation on native Debian systems, but you might be missing a library package on your system (the mentioned libssl 1.0.0). At least on Ubuntu systems packages named “libssl1.0.0” or “libssl1.0.0:i386” (depending on your system) are available. You can also check missing library dependencies with the “ldd” command, i.e. “ldd ./eagle” in the appropriate directory. Kai.
Eagle 6.3 downloaded from cadSoft installs just fine in ubuntu 12.04 64bit, so i presume they’ve fixed dependencies error.
Instalado con variaciones 6.3.0 Ubuntu 12.04 GNome3 ¡gracias! solo me falta el idioma ¿lo tiene alguno en español?
hello, today i install it in ubuntu 12.10 …
new is adress of libpng-1.4.12.tar.gz
instead
wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.4.12.tar.gz
is neccesary:
wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng14/libpng-1.4.12.tar.gz
thanks.
Hi fik236, thanks for your comment! I’ve updated the post accordingly.
Kai
works on Linux Mint 14 64 bit also i just installed Eagle 6.4.0 , thank you very much
Hello i get this error on ubuntu 13.04 when i try to install libpng :
jota@jota-laptop:/tmp/libpng-eagle/libpng-1.4.12/libpng-1.4.12$ make check
/bin/bash ./libtool –tag=CC –mode=compile gcc -DHAVE_CONFIG_H -I. -DPNG_CONFIGURE_LIBPNG -m32 -MT libpng14_la-png.lo -MD -MP -MF .deps/libpng14_la-png.Tpo -c -o libpng14_la-png.lo `test -f ‘png.c’ || echo ‘./’`png.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -DPNG_CONFIGURE_LIBPNG -m32 -MT libpng14_la-png.lo -MD -MP -MF .deps/libpng14_la-png.Tpo -c png.c -fPIC -DPIC -o .libs/libpng14_la-png.o
In file included from png.h:422:0,
from png.c:16:
/usr/include/zlib.h:34:19: fatal error: zconf.h: No such file or directory
compilation terminated.
make: *** [libpng14_la-png.lo] Error 1
any idea?
This seemed to let my build proceed. It’s probably no more broken than it was in the old version of Ubuntu…
ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include
otimo artigo funcionou legal . brasil
very good, it’s work.
KUDOS! brilliant job mate
i tryed all steps by copy paste, but make check sows error missind file
system is: ubuntu 13.0x 64 bit devoloper / eagle 6.4.0
BUT IT WORKS ! without doing all steps, only start eaglexxxx.run
Yes, on newer versions of Ubuntu (i.e. also Ubuntu 13.04) installing the missing 32-bit libraries should be sufficient to install Eagle CAD without further modifications. — Kai
should i change all $USER to my username?
should i change all $USER to my username? repost.
Hi Angelo. In case of the shell commands, it should not be necessary to replace $USER. It is a environment variable containing your login name. But you have to replace it in the ‘.desktop’ files. — Kai
Awesome. Terse and Clear!
tu; jw
Help me!!!
Error
sh: 0: Can’t open ./file:///home/helios/Applycation/eagle-lin-6.5.0.run
helios@helios-Satellite-L300:~/Applycation$ sudo sh ./eagle-lin-6.5.0.run
/tmp/eagle-setup.4862/eagle-6.5.0/bin/eagle: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
helios@helios-Satellite-L300:~/Applycation$
these methods worked on Ubuntu 14.04LTS. I had to use DeeibyCoper’s and Luca’s tips (but using version 1.4.13).
Pingback: RGB LED Graduation Cap Shenanigans, MIT Graduation Report | orange narwhals
Hi, thanx for that tipp. I’ve tried to install it on Ubuntu 14.04, and a few parts of it just works, but I managed it, and so I’d like to say, thank you. The only trouble I’ve got, I didn’t get the license-key to run, but it doesn’t matter. So long, and cheers Toni
–2014-06-25 00:29:32– ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng14/libpng-1.4.12.tar.gz
=> `libpng-1.4.12.tar.gz’
Resolving http://ftp.simplesystems.org (ftp.simplesystems.org)… 65.66.246.92
Connecting to http://ftp.simplesystems.org (ftp.simplesystems.org)|65.66.246.92|:21… connected.
Logging in as anonymous … Logged in!
==> SYST … done. ==> PWD … done.
==> TYPE I … done. ==> CWD (1) /pub/libpng/png/src/libpng14 … done.
==> SIZE libpng-1.4.12.tar.gz … done.
==> PASV … done. ==> RETR libpng-1.4.12.tar.gz …
No such file `libpng-1.4.12.tar.gz’.
ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng14/libpng-1.4.13.tar.gz
Well, it gave directions.
However, I have found errors in this line :
wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng14/libpng-1.4.12.tar.gz
The file was not there anymore. I have to download from other sources ( sourceforge.net ).
Also when I compiled libpng-1.4.12.tar.gz, I always got the 64-bit version. I don’t know why.
After I see the raek’s blog I use older version libpng-14.11.tar.gz. It can be compiled to 32-bit version.
After that I can run the installer program eagle-lin-6.2.0.run without errors.