rpmbuild - what is @GTK_REQUIRED_VERSION@ !?

  • 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?


  • 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:
    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..

    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.


Log in to post a comment.