rpmbuild - what is @GTK_REQUIRED_VERSION@ !?

Moon
2013-07-21
2013-09-03
  • Moon
    Moon
    2013-07-21

    Hello Settlers.

    I'm on OpenSUSE 12.3 and trying to...
    rpmbuild -ta pioneers-14.1.tar.gz

    but I'm getting error...
    error: line 12: Illegal char '@' in: BuildRequires: gtk2-devel >= @GTK_REQUIRED_VERSION@

    I've been reading up on rpm spec files, but can't find any reference to what the @ symbols mean.

    From the context it appears they mark a variable, but I've no idea where the variable gets defined... it's also weird that the rpmbuild command considers it an illegal character.

    I've installed the OpenSuse gtk2-devel package just in case, but still rpmbuild complains about the @ symbol.

    Please could someone nudge me in the right direction?

    Cheers,
    moon

     
  • Bas Wijnen
    Bas Wijnen
    2013-07-21

    Such variables normally get replaced by the configure script; they're autoconf's (old) way of passing information to the Makefile. They shouldn't show up in the final Makefile, though.

    Perhaps you are missing the gtk development package, so the variable isn't defined? Does autogen.sh run without errors?

     
  • Moon
    Moon
    2013-07-22

    Thanks Bas.

    My experience is Windows/.Net development, so I am struggling a little with Linux in general yet alone building from source.

    I was hoping rpmbuild would just work!

    I've tried installing gtk2 from:
    http://software.opensuse.org/package/gtk2
    but I am getting "Installation was only partially successful."

    I don't know about autogen.sh yet... is there a good guide somewhere to walking me through building the app manually without rpmbuild?

    In the meantime, I'll see if I can figure out why GTK2 is not installing.

     
  • Moon
    Moon
    2013-07-22

    I was using rpmbuild as described in the README here..
    https://sourceforge.net/p/pio/code/1964/tree/trunk/pioneers/README

    It doesn't mention any pre-requisites that I can see?
    I also don't know if rpmbuild will work without any configuration changes? I just installed OpenSuse and started trying to build pioneers!

     
  • Micah Bunting
    Micah Bunting
    2013-07-22

    GTK2 is required. Once that is installed properly, instead of building a rpm package, try using the simple install procedure from the same file. There are a few build dependencies that need to be installed first, but the error messages of the configure script is enough to figure them out.

     
  • Moon
    Moon
    2013-07-23

    Thanks all - the ./configure made it clear what dependencies I was missing.

    I messed about for a while installing all the required dependencies via YaST -> Software Management and eventually got the ./Configure to be successful and then Make did it's magic.

    Weirdly though I still get the rpmbuild error even though I presumably have all the required dependencies now - not to worry!

    Now to try and get the networking working from my VM OpenSuse server to a Windows client on the network and another on the internet :)

     
  • Roland Clobus
    Roland Clobus
    2013-09-03

    The upcoming release of Pioneers (15.1) will have a fixed pioneers.spec file.

    Even though you have all dependencies, you will still get the rpmbuild error, because the pioneers.spec file in the tarball is not correct.