Incorrect @libdir@ when building *.pc using config.site?

前端 未结 1 479
孤独总比滥情好
孤独总比滥情好 2021-01-23 08:43

I\'m working on Fedora x86_64. It uses /lib64, /usr/lib64 and friends. I have the following *.pc.in file:

$ cat libcryptop         


        
1条回答
  •  伪装坚强ぢ
    2021-01-23 09:21

    The /usr/local/share/config.site is wrong. Though it was copied from Fedora's config.site and placed in /usr/local/share, the prefix directories are wrong. The prefix test should use /usr/local and not /usr.

    Below is the corrected one.

    $ cat /usr/local/share/config.site
    ...
    
    if test -n "$host"; then
        # skip when cross-compiling
        return 0
    fi
    
    if test "$prefix" = /usr/local \
       || { test "$prefix" = NONE && test "$ac_default_prefix" = /usr/local ; }
    then
        test "$sysconfdir" = '${prefix}/etc' && sysconfdir=/etc
        test "$sharedstatedir" = '${prefix}/com' && sharedstatedir=/var
        test "$localstatedir" = '${prefix}/var' && localstatedir=/var
    
        ARCH=`uname -m`
        for i in x86_64 ppc64 s390x aarch64; do
            if test $ARCH = $i; then
                test "$libdir" = '${exec_prefix}/lib' && libdir='${exec_prefix}/lib64'
                break
            fi
        done
    fi
    

    Now, the next question is, why Fedora's /usr/share/config.site is not handling prefix=/usr/local properly. That's an open question at Issue 1510073 : Autoconf does not honor libdir in config.site for "libdir=@libdir@" in *.pc file, which has been closed as NOT A BUG.

    0 讨论(0)
提交回复
热议问题