Results 1 to 9 of 9

Thread: Can't Compile Emacs From Source on OpenSUSE 13.1

  1. #1

    Default Can't Compile Emacs From Source on OpenSUSE 13.1

    I have an OpenSUSE 13.1 installation with the latest patches installed and I want to recompile emacs and change some configuration options. I thought I'd first make sure that everything works so I downloaded the src.pm from the Build Service and then attempted to recompile it:

    Executing the command "rpmbuild --recompile emacs-24.3-6.14.2.src.rpm" results in the following errors:



    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: warning: libjpeg.so.8, needed by /usr/lib64/libtiff.so, may conflict with libjpeg.so.62
    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: image.o: undefined reference to symbol 'png_set_longjmp_fn@@PNG16_0'
    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: note: 'png_set_longjmp_fn@@PNG16_0' is defined in DSO /usr/lib64/libpng16.so.16 so try adding it to the linker command line
    /usr/lib64/libpng16.so.16: could not read symbols: Invalid operation
    collect2: error: ld returned 1 exit status
    make[1]: *** [temacs] Error 1
    make[1]: Leaving directory `/usr/src/packages/BUILD/emacs-24.3/src'
    make: *** [src] Error 2
    error: Bad exit status from /var/tmp/rpm-tmp.7aNH4g (%build)


    RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.7aNH4g (%build)

    Shouldn't a src.rpm compile out of the box without errors? Any suggestions for fixing this?

    TIA

  2. #2
    Join Date
    Sep 2008
    Posts
    2,997

    Default Re: Can't Compile Emacs From Source on OpenSUSE 13.1

    where did you get that emacs srpm?
    As far as I can tell you didn't change anything you're just truing to build from source, if that srpm came from a fedora or mandriva repo you won't get it working, and people need to see the spec file inside the srpm to see what's happening.
    It seams that package needs regular libjepeg, opensuse moved to libjepeg-turbo a long time ago.
    OK to see what's going on install the srpm as a regular user
    Code:
    rpm -i emacs-24.3-6.14.2.src.rpm
    then go to /home/<you>/rpmbuild/SPECS folder and read the emacs.spec file, that file should tell you what's going on.

  3. #3

    Default Re: Can't Compile Emacs From Source on OpenSUSE 13.1

    Quote Originally Posted by I_A View Post
    where did you get that emacs srpm?
    As far as I can tell you didn't change anything you're just truing to build from source, if that srpm came from a fedora or mandriva repo you won't get it working, and people need to see the spec file inside the srpm to see what's happening.
    It seams that package needs regular libjepeg, opensuse moved to libjepeg-turbo a long time ago.
    OK to see what's going on install the srpm as a regular user
    Code:
    rpm -i emacs-24.3-6.14.2.src.rpm
    then go to /home/<you>/rpmbuild/SPECS folder and read the emacs.spec file, that file should tell you what's going on.
    My apologies, I only said "downloaded the src.pm from the Build Service" which wasn't sufficiently clear: I got the "Factory" version of the emacs srouce for openSUSE 13.1 from the openSUSE Build Service (https://build.opensuse.org/). I started my changes by testing to see if I could just build the default configuration (it's also a handy way to capture the exact "configure" options used if your do your build in a "script" session) and the build failed. I thought that a stock src.rpm on a vanilla install of the OS should work.

  4. #4
    Join Date
    Sep 2008
    Posts
    2,997

    Default Re: Can't Compile Emacs From Source on OpenSUSE 13.1

    Quote Originally Posted by schaffin View Post
    My apologies, I only said "downloaded the src.pm from the Build Service" which wasn't sufficiently clear: I got the "Factory" version of the emacs srouce for openSUSE 13.1 from the openSUSE Build Service (https://build.opensuse.org/). I started my changes by testing to see if I could just build the default configuration (it's also a handy way to capture the exact "configure" options used if your do your build in a "script" session) and the build failed. I thought that a stock src.rpm on a vanilla install of the OS should work.
    get it from the editors repo or the default one, the one from factory aka thumbelweed is too new to work on 13.1.

    http://download.opensuse.org/reposit...-212.1.src.rpm

    still you should first read the spec file to see if you have satisfied the dependencies,
    https://build.opensuse.org/package/v...acs/emacs.spec
    you probably don't have the needed devel packages installed

  5. #5

    Default Re: Can't Compile Emacs From Source on OpenSUSE 13.1

    Quote Originally Posted by I_A View Post
    get it from the editors repo or the default one, the one from factory aka thumbelweed is too new to work on 13.1.

    http://download.opensuse.org/reposit...-212.1.src.rpm

    still you should first read the spec file to see if you have satisfied the dependencies,
    https://build.opensuse.org/package/v...acs/emacs.spec
    you probably don't have the needed devel packages installed

    Just to be doubly sure that there's a problem compiling emacs on openSUSE13.1, I did a fresh install and downloaded the emacs .src.rpm that you linked to (emacs-24.5-215.1.src.rpm). I then ran the rpmbuild as follows:

    # rpmbuild --rebuild emacs-24.5-215.1.src.rpm
    Installing emacs-24.5-215.1.src.rpm
    warning: emacs-24.5-215.1.src.rpm: Header V3 DSA/SHA1 Signature, key ID 24f1ba50: NOKEY
    error: Failed build dependencies:
    ImageMagick-devel is needed by emacs-24.5-215.1.x86_64
    alsa-devel is needed by emacs-24.5-215.1.x86_64
    dbus-1-devel is needed by emacs-24.5-215.1.x86_64
    gconf2-devel is needed by emacs-24.5-215.1.x86_64
    giflib-devel is needed by emacs-24.5-215.1.x86_64
    gpm-devel is needed by emacs-24.5-215.1.x86_64
    gtk3-devel is needed by emacs-24.5-215.1.x86_64
    krb5-devel is needed by emacs-24.5-215.1.x86_64
    libacl-devel is needed by emacs-24.5-215.1.x86_64
    libgnutls-devel is needed by emacs-24.5-215.1.x86_64
    libgnutls-openssl-devel is needed by emacs-24.5-215.1.x86_64
    libjpeg-devel is needed by emacs-24.5-215.1.x86_64
    libotf-devel is needed by emacs-24.5-215.1.x86_64
    librsvg-devel is needed by emacs-24.5-215.1.x86_64
    libselinux-devel is needed by emacs-24.5-215.1.x86_64
    libtiff-devel is needed by emacs-24.5-215.1.x86_64
    libudev-devel is needed by emacs-24.5-215.1.x86_64
    libxml2-devel is needed by emacs-24.5-215.1.x86_64
    m17n-lib-devel is needed by emacs-24.5-215.1.x86_64
    xaw3d-devel is needed by emacs-24.5-215.1.x86_64
    xorg-x11-devel is needed by emacs-24.5-215.1.x86_64

    I then installed each of these dependencies using zypper.

    I then attempted the rpmbuild again and the compile fails with these messages at the end:

    gcc -std=gnu99 -Demacs -I. -I. -I../lib -I./../lib -I/usr/include -I/usr/include/freetype2 -I/usr/include/alsa -pthread -I/usr/include/librsvg-2.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.
    0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng12 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/ImageMagick-6 -I/u
    sr/include/libxml2 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gconf/2 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0
    /include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/freetype2 -MMD -MF deps/.d -MP -I/usr/include/p11-kit-1 -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unw
    ind-tables -D_GNU_SOURCE -pipe -pipe -Wno-pointer-sign -Wno-unused-variable -Wno-unused-variable -Wno-unused-label -Wno-unused-label -Wno-unprototyped-calls -fno-optimize-sibling-calls -fno-optimize-sibling-calls -fno-PIE -fno-PIE -DSYSTEM_PURESIZE_EXTRA=55000 -DSITEL
    OAD_PURESIZE_EXTRA=10000 -Wl,-znocombreloc -Wl,-rpath-link,/usr/lib64 -Wl,-O2 -Wl,--hash-size=65521 -L /usr/lib64 \
    -o temacs dispnew.o frame.o scroll.o xdisp.o menu.o xmenu.o window.o charset.o coding.o category.o ccl.o character.o chartab.o bidi.o cm.o term.o terminal.o xfaces.o xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o dbusbind.o emacs.o keyboard.o macros.o keymap.o
    sysdep.o buffer.o filelock.o insdel.o marker.o minibuf.o fileio.o dired.o cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o alloc.o data.o doc.o editfns.o callint.o eval.o floatfns.o fns.o font.o print.o lread.o syntax.o unexelf.o bytecode.o process.o gnutls.
    o callproc.o region-cache.o sound.o atimer.o doprnt.o intervals.o textprop.o composite.o xml.o inotify.o profiler.o decompress.o xfont.o ftfont.o xftfont.o ftxfont.o fontset.o fringe.o image.o xgselect.o terminfo.o lastfile.o widget.o ../lib/libgnu.a ../lwli
    b/liblw.a -ltiff -ljpeg -lpng12 -lz -lm -lgif -lXpm -lXaw3d -lXmu -lXt -lSM -lICE -lXext -lX11 -lXrender -lXft -lasound -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lglib-2.0 -lcairo -lMagickWand-6.Q16 -lMagickCore-6.Q16 -lacl -lrt -ldbus-1 -lXrandr
    -lXinerama -lxml2 -ltinfo
    -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgconf-2 -lglib-2.0 -lgobject-2.0 -lglib-2.0 -lselinux -lfreetype -lfontconfig -lfreetype -lgnutls -lpthread -lm -lz
    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: image.o: undefined reference to symbol 'png_set_longjmp_fn@@PNG16_0'
    /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: note: 'png_set_longjmp_fn@@PNG16_0' is defined in DSO /usr/lib64/libpng16.so.16 so try adding it to the linker command line
    /usr/lib64/libpng16.so.16: could not read symbols: Invalid operation
    collect2: error: ld returned 1 exit status
    make[1]: *** [temacs] Error 1
    make[1]: Leaving directory `/usr/src/packages/BUILD/emacs-24.5/src'
    make: *** [src] Error 2
    error: Bad exit status from /var/tmp/rpm-tmp.QgzV7T (%build)

    RPM build errors:
    emacs-24.5-215.1.src.rpm: Header V3 DSA/SHA1 Signature, key ID 24f1ba50: NOKEY
    Bad exit status from /var/tmp/rpm-tmp.QgzV7T (%build)

    and the issue in building emacs 24.5 seems to be that applying patches to openSUSE13.1 results in libpng16 instead of libpng12 and the src.rpm tries to link agains libpng12. Changing a couple of Makefiles to point to libpng16 instead results in a successful compile.

  6. #6
    Join Date
    Feb 2009
    Location
    Spain
    Posts
    25,547

    Default Re: Can't Compile Emacs From Source on OpenSUSE 13.1

    On 2015-09-01 20:46, schaffin wrote:

    > Just to be doubly sure that there's a problem compiling emacs on
    > openSUSE13.1, I did a fresh install and downloaded the emacs .src.rpm
    > that you linked to (emacs-24.5-215.1.src.rpm). I then ran the rpmbuild
    > as follows:


    The default emacs on openSUSE 13.1 is emacs-24.3-6.14.2.x86_64. Your's
    is a bit newer. It probably also need newer devel files.

    Either that or stick to the default version.

    --
    Cheers / Saludos,

    Carlos E. R.

    (from 13.1 x86_64 "Bottle" (Minas Tirith))

  7. #7

    Default Re: Can't Compile Emacs From Source on OpenSUSE 13.1

    Quote Originally Posted by robin_listas View Post
    On 2015-09-01 20:46, schaffin wrote:

    > Just to be doubly sure that there's a problem compiling emacs on
    > openSUSE13.1, I did a fresh install and downloaded the emacs .src.rpm
    > that you linked to (emacs-24.5-215.1.src.rpm). I then ran the rpmbuild
    > as follows:


    The default emacs on openSUSE 13.1 is emacs-24.3-6.14.2.x86_64. Your's
    is a bit newer. It probably also need newer devel files.

    Either that or stick to the default version.

    --
    Cheers / Saludos,

    Carlos E. R.

    (from 13.1 x86_64 "Bottle" (Minas Tirith))
    The default version fails, too. This was a response to the post above my last post.

    Earlier in the thread, I showed what happens when trying to run "rpmbuild --recompile emacs-24.3-6.14.2.src.rpm".

    And also, I just discovered that I have both libpng12 and libpng16 on my patched system in /usr/lib64, but only libpng16 in /usr/lib. I'm figuring this out, I just expected the stock version to compile without errors on a stock system and that's not the case

  8. #8
    Join Date
    Feb 2009
    Location
    Spain
    Posts
    25,547

    Default Re: Can't Compile Emacs From Source on OpenSUSE 13.1

    On 2015-09-01 21:36, schaffin wrote:

    > The default version fails, too. This was a response to the post above
    > my last post.
    >
    > Earlier in the thread, I showed what happens when trying to run
    > "rpmbuild --recompile emacs-24.3-6.14.2.src.rpm".


    Yes, but obtained where from? From the repo labeled "openSUSE-13.1-Source"?


    > And also, I just discovered that I have both libpng12 and libpng16 on
    > my patched system in /usr/lib64, but only libpng16 in /usr/lib. I'm
    > figuring this out, I just expected the stock version to compile without
    > errors on a stock system and that's not the case


    Yes, me too.

    --
    Cheers / Saludos,

    Carlos E. R.

    (from 13.1 x86_64 "Bottle" (Minas Tirith))

  9. #9

    Default Re: Can't Compile Emacs From Source on OpenSUSE 13.1

    Quote Originally Posted by robin_listas View Post
    On 2015-09-01 21:36, schaffin wrote:

    > The default version fails, too. This was a response to the post above
    > my last post.
    >
    > Earlier in the thread, I showed what happens when trying to run
    > "rpmbuild --recompile emacs-24.3-6.14.2.src.rpm".


    Yes, but obtained where from? From the repo labeled "openSUSE-13.1-Source"?
    I downloaded my .src.rpm file from http://download.opensuse.org/reposit...6.14.2.src.rpm

    I've managed to get the stock version to compile by _not_ using gif support and have changed the options that I needed to change, mostly removing dbus support. This was because running emacs from an openSUSE 13.1 server over an ssh tunnel to a Solaris 10 host wasn't working and I have one user that needs to do this. I started from what I thought was a base compile of the stock emacs on a stock system and was then going to make changes from there. The .src.rpm file in the link above doesn't compile on a stock, patched openSUSE 13.1 computer, but I think I've found a solution to the problem that this started with.

    Thanks for all of the help.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •