Updated A4.4.3 binaries (classic Eagle 4 included!)
Edgar Reynaldo

Hello peeps,

I've made an updated build of my Allegro 4.4.3 binaries, and as per a friendly request from Larkin, I've decided to bundle binaries and source for Eagle 4, my classic Allegro 4 GUI library along with it.

Eagle 4 is provided as is, and is only mostly there to inspire you to do something better, or to join me on developing Eagle 5.

If something's broken, you're gonna have to fix it yourself, but if you ask nicely I might help if it's important.

So, first you need the MinGW compiler I used :


Then you need the latest version of my Allegro 4.4.3 binaries, v4.


And as an aside, I put together a small binary distribution of Eagle 4 as a stand alone. You can try compiling it yourself with the provided makefile if you're feeling masochistic.


Thanks every buddy!



Good job Ed. (I only congrat you here because I only use A5 these days)



Thanks ! Guess I have to be masochistic to get it running with linux.

Edgar Reynaldo

The included makefiles are for mingw.

You need to run fix.sh first (which I didn't include but will now) which will set makefile.platform to include makefile.nix. Then you can try building with gcc.



Thanks Edgar. I installed libeagle4.so.0.9 together with vanilla allegro 4.4.2 into /usr/local/lib but when trying to run Eagle4WidgetDemo I get an error.

Its been a long time since I dabbled with building stuff on linux, therefore a quick hint is welcome. 32/64 bit related ?


./Eagle4WidgetDemo: error while loading shared libraries: libeagle4.so.0.9: cannot open shared object file: No such file or directory

1hbs@tango:~/src/eagle/Eagle4FinalReleaseDistro/src/TestPrograms> ldd Eagle4WidgetDemo 2 linux-vdso.so.1 (0x00007ffd757c5000) 3 libeagle4.so.0.9 => not found 4 liballeg.so.4.4 => /usr/local/lib/liballeg.so.4.4 (0x00007f1e7fc2c000) 5 libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f1e7f8a3000) 6 libm.so.6 => /lib64/libm.so.6 (0x00007f1e7f5a6000) 7 libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f1e7f38f000) 8 libc.so.6 => /lib64/libc.so.6 (0x00007f1e7efec000) 9 libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1e7edcf000) 10 librt.so.1 => /lib64/librt.so.1 (0x00007f1e7ebc7000) 11 libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007f1e7e9bf000) 12 libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007f1e7e7a2000) 13 libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f1e7e464000) 14 libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f1e7e252000) 15 libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f1e7e047000) 16 libXpm.so.4 => /usr/lib64/libXpm.so.4 (0x00007f1e7de35000) 17 libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007f1e7dc2f000) 18 libdl.so.2 => /lib64/libdl.so.2 (0x00007f1e7da2b000) 19 /lib64/ld-linux-x86-64.so.2 (0x00007f1e7ff2d000) 20 libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f1e7d826000) 21 libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f1e7d606000) 22 libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f1e7d3fc000) 23 libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f1e7d1f6000) 24 libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f1e7cff2000)

Edgar Reynaldo

You need to install or include the .so files with your executables. Usually they go in /usr/local/lib or you can do the following :

export LD_LIBRARY_PATH=/path/to/eagle:$LD_LIBRARY_PATH

You might also need to move or rename the resulting libeagle*.so files.


But the eagle lib is in /usr/local/lib same as the allegro lib and /usr/local/lib is in /etc/ld.so.conf and since the allegro lib is picked up as shown by the ldd command, I do not get why the eagle lib is not.


tango: ls -al /usr/local/lib/libeagle*
lrwxrwxrwx 1 root root 31 Nov 10 15:25 /usr/local/lib/libeagle4.so -> /usr/local/lib/libeagle4.so.0.9
lrwxrwxrwx 1 root root 33 Nov 10 15:25 /usr/local/lib/libeagle4.so.0.9 -> /usr/local/lib/libeagle4.so.0.9.1
-rwxr-xr-x 1 root root 1209136 Nov 10 15:25 /usr/local/lib/libeagle4.so.0.9.1

Edgar Reynaldo

Run 'sudo ldconfig' and then try again.


Cool, thanks. Eagle4WidgetDemo is up and running.

Edgar Reynaldo

Hey thanks, glad to hear it. I put "EagleClassic" on GitHub. If you want to submit pull requests or patches or whatever I'm up for it.


For some reason I can't save my files in CodeBlocks under OpenSUSE Linux. I own the files, they're writable, I don't get it. wtf is your problem linux why won't you let me save my files Mr. Torvalds?

You should compile the src/TestPrograms/Animation.cpp file as well, into bin/Eagle4Animation. Run it and press key one or two (three doesn't work yet) to see an animated Eagle logo.


AnimationTest does not run. Logfile :


$$$ Allegro initialization successful.
$$$ Close button callback successfully set.
$$$ Desktop resolution and color depth determined to be 3600 X 1200 X 32
$$$ Allegro keyboard initialization successful.
$$$ Allegro timer initialization successful.
$$$ Allegro mouse initialization successful. The mouse in use has 3 buttons.

Gfx_mode_handler attempting new mode...

Starting change_res(2 (GFX_AUTODETECT_WINDOWED) , 800 , 600 , 32 , mode = CRM_DIRECT)
Success changing to new resolution
GfxModeHandler : Failed to set the SW_PAUSE display switch mode.
GfxModeHandler : Current display switch mode is SWITCH_BACKGROUND
GfxModeHandler : Successfully set the display callback in.
GfxModeHandler : Successfully set the display callback out.
Change Mode Flags : --SWITCH_MODE_FAILURE-
Couldn't change to requested graphics mode.
GfxModeHandler : Program regained window focus.

Edgar Reynaldo


If you change SW_PAUSE there to SW_BACKGROUND it should work. Linux thing.

Thread #617127. Printed from Allegro.cc