Menu

#8 fails to compile on host kernel versions with fc

dbh
closed-fixed
nobody
None
5
2017-03-24
2017-01-17
No

not sure which bugtracker to use, so linking the other one here
https://savannah.gnu.org/bugs/index.php?50063

Discussion

  • J G Miller

    J G Miller - 2017-03-23

    The configure script is generated from configure.ac and the m4 files in the m4 sub-directory AND from distribution specific autoconf files.

    The lines testing for os in the configure script in the tar archive are appropriate to the distribution on which the configure script was generated.

    What you need to do is to run the autogen.sh script to create a configure script according to openSuse autoconf configuration.

    If that freshly created configure script does not find the openSuse pkgconfig directories, you can always set the environment variable PKG_CONFIG_PATH to the list of appropriate directories, which on a custom system may look like

     PKG_CONFIG_PATH="\
    /usr/local/lib/${ARCH_LIBRARY}/pkgconfig:\
    /usr/local/lib/pkgconfig:\
    /usr/local/X11R6/lib/${ARCH_LIBRARY}/pkgconfig:\
    /usr/local/X11R6/lib/pkgconfig:\
    /usr/lib/${ARCH_LIBRARY}/pkgconfig:\
    /usr/lib/pkgconfig:\
    /usr/share/pkgconfig\
    "
    
     export PKG_CONFIG_PATH
    

    with ARCH_LIBRARY set appropriately to i386, x86_amd4, armv7l or whatever.

     
  • Edscott Wilson Garcia

     
  • Edscott Wilson Garcia

    Either bug tracker is OK. I have not been able to get around to fixing this for the lack of an up to date openSUSE box.
    And also, since this is rather a moving target to aim for, I am considering replacing the "--with-pkglibdata" and "--with-pkgdatadir" arguments to configure with a single "--with-pkgtarget", and put in a warning showing the user where the .pc files will be placed if the "--with-pkgtarget" is not specified.

     
  • Bernhard M. Wiedemann

    We ran the configure script from the tarball, but I verified that the problem remains when running ./autogen.sh
    I also think that the problem is not specific to openSUSE and you can trigger it on any other OS (if it is not using $datadir/pkgconfig like Debian or Fedora based distris), if you do

    cat > /usr/local/bin/uname <<EOF
    #!/bin/sh
    echo "Linux somehostnamewithfc 4.4.49-16-default #1 SMP Sun Feb 19 17:40:35 UTC 2017 (fc1fe0e) x86_64 x86_64 x86_64 GNU/Linux"
    EOF
    chmod a+x /usr/local/bin/uname
    
     
  • Bernhard M. Wiedemann

    currently we use this ugly workaround: https://build.opensuse.org/package/view_file/openSUSE:Factory/dbh/buildfix.patch
    but I guess, it would help to not always use uname -a, but e.g. for Debian, looking at uname -v is sufficient. But then that might still run into trouble when more people start using containers where several different user-spaces might share a single host kernel.

     
  • Edscott Wilson Garcia

    I think it would be better to drop the use of uname altogether and instead do a find for the pkgconfig directory and other pc files. Plus, leave the option to specify the target pkgconfig directory by configure argument. I'll try and test that out today.

     
  • Edscott Wilson Garcia

    • status: open --> closed-fixed
     
  • Edscott Wilson Garcia

    uname method is now replaced by a new method which will test
    and score the best target from $prefix/share, $prefix/lib and
    $prefix/libdata (more can be added very easily now). Determined target
    can be overridden by argument to configure script.

    If by any chance the new method does not work in a specific OS, reopen bug.

    git revision f49cc62..25a9c6b

     

Log in to post a comment.