-   Slackware (
-   -   emacs 23.1 slack64-current (

sycamorex 03-04-2010 01:35 PM

emacs 23.1 slack64-current
When I installed slack64-current, I removed emacs 22 and compiled 23.1 from source. As src2pkg gave me some errors, I just used ./compile, etc.

After slackware's recent upgrades, I lost some xfce icons. This, however, was soon rectified by the steps suggested in one of the threads here on LQ.

Today I noticed that the icons within emacs are missing.


(emacs:19592): Gtk-WARNING **: Error loading theme icon 'gtk-new' for stock: Fatal error reading PNG image file: Incompatible libpng version in application and library.
At the moment I'm running:

I thought I'd install emacs again. This time I grabbed the slackbuild for 22.2 from (+ source for 23.1). I modified the slackbuild and that's the error I get when compiling:


-lXrender -lfontconfig -lfreetype -lX11 -lasound -lrsvg-2 -lgdk_pixbuf-2.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -ldbus-1 -lpthread -lrt -lgpm -lncurses  -lm -lgcc -lc -lgcc /usr/lib64/crtn.o
image.o: In function `png_load':
image.c:(.text+0x3c75): undefined reference to `png_check_sig'
image.c:(.text+0x43d4): undefined reference to `png_check_sig'
collect2: ld returned 1 exit status
make[1]: *** [temacs] Error 1
make[1]: Leaving directory `/tmp/emacs-23.1/src'
make: *** [src] Error 2


disturbed1 03-04-2010 02:32 PM

Maybe take a look at this

gnashley 03-05-2010 01:53 AM

You need a patch to compile emacs against libpng14.

sycamorex 03-05-2010 02:54 AM

Thanks for your replies.
I downloaded a patch from disturbed1's link. Now to be honest with you I have never patched anything. When/How would I apply that patch to emacs source?

Thank you

gnashley 03-05-2010 04:01 AM

Iy you are using src2pkg, just place the patch beside the sources. I'm surprised you had trouble using src2pkg before as others have had success with emacs-23.x

To manually apply the patch, unpack the sources, then copy the patch into the toplevel of the sources, cd in there and apply the patch from the toplevel. For a plain *.patch or *.diff:
patch -p1 < *.diff
patch -p1 < *.patch
For compressed patches you can unpack them and use like above or:
for gzipped:
zcat *.patch.gz | patch -p1

Lufbery 03-05-2010 07:11 AM


Perhaps Sycamorex ran into the same problem I had with Emacs 23 and src2pkg, where src2pkg stopped the build because Emacs wants to put files in locations other than the standard locations.

I'm away from my home computer and my work's IT department blocks the src2pkg wiki. (Why? Who knows, they also block a lot of the state's department of transportation's web sites -- and I'm a transportation planner!)

The solution for me, I believe, was to use the -ACN switch. However, I modified the src2pkg.conf file by changing AUTO_CONFIG_OPTIONS to =native.

Maybe you can expand on this a bit?


brianL 03-05-2010 11:26 AM

Could you try this one?

gnashley 03-05-2010 11:27 AM

Hmm, I don't find that right now in our emails Drew, but I think it was --sysconfdir which was 'panicking the build. So,
src2pkg -e='--syscofndir=/etc' emacs-23.1.tar.?? shoudl fix it. Or, as you suggest:
src2pkg -ACN emacs-23.1.tar.??

sycamorex 03-05-2010 01:21 PM

Right, thanks for your replies. This morning I tried to use the src2pkg with the patch and that's what I got:


root@slack64:/home/xtd8865/temp/emmm# src2pkg emacs-23.1.tar.bz2
Found source archive: emacs-23.1.tar.bz2
Deleting old build files - Done
Creating working directories:
Unpacking source archive - Done
Correcting source permissions - Done
Checking for patches - Found
Applying: libpng14.patch
Found configure script - Done
Configuring sources using:
 LDFLAGS="-Wl,-L/lib64,-L/usr/lib64" CFLAGS="-O2 -fPIC -m64" ./configure --prefix=/usr --libdir=/usr/lib64
ERROR! Configuring sources has failed!
This may be because of some missing libraries, or you may
need to pass extra options to configure using EXTRA_CONFIGS.
Sorry! No Dependency or Requirements information found.

Notice - Showing short options in a separate xterm.

It did compile nicely when building from source (with the patch) but the icons where still missing.

I'll remove it and perhaps try the cvs version now.

sycamorex 03-05-2010 02:56 PM

I got the cvs (23.1.90) version and tried to add the patch command to its slackbuild file. It did not work.
Most probably I edited the slackbuild in a wrong way.
What I did then was patching the cvs source and used makepkg to create a slack package. It works fine!!!

Thanks everyone

All times are GMT -5. The time now is 08:32 PM.