Pierre Labastie wrote:
On 17/06/2017 17:50, Bruce Dubbs wrote:
Pierre Labastie wrote:
On 16/06/2017 23:17, Bruce Dubbs wrote:
Bruce Dubbs wrote:
Bruce Dubbs wrote:
Pierre Labastie wrote:
I am not sure exactly what is going on, but when compiling
kdelibs4support, I get:
-------------------------
    76%] Building CXX object
src/CMakeFiles/KF5KDELibs4Support.dir/kssl/kopenssl.cpp.o
In file included from /usr/include/openssl/buffer.h:15:0,
                    from /usr/include/openssl/x509.h:22,
                    from
/sources/kf5/kdelibs4support-5.34.0/src/kssl/ksslutils.h:28,
                    from
/sources/kf5/kdelibs4support-5.34.0/:21:
/sources/kf5/kdelibs4support-5.34.0/src/kssl/ksslutils.cpp: In function
'QString ASN1_INTEGER_QString(ASN1_INTEGER*)':
/sources/kf5/kdelibs4support-5.34.0/src/kssl/ksslutils.cpp:99:20:
error: no
matching function for call to 'KOpenSSLProxy::CRYPTO_free(char*&, const
char
[59], int)'
        KOSSL::self()->OPENSSL_free(rep);

OK, I've got a full fix.  This is the script I used:

#!/bin/sh

DIR=`pwd`

cd /tmp
rm -rf kdelibs4support-5.34.0

tar -xf $DIR/kdelibs4support-5.34.0.tar.xz

cd kdelibs4support-5.34.0

export CXXFLAGS='-isystem /usr/include/openssl-1.0'

mkdir build
cd    build

cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \
        -DCMAKE_PREFIX_PATH=$QT5DIR        \
        -DCMAKE_BUILD_TYPE=Release         \
        -DBUILD_TESTING=OFF                \
        -Wno-dev ..

make -j4

=======

So the fix here is to add CXXFLAGS.  No changes are needed for the files.
Please double check.


Yes it works. I added to the script given in the book (after "cd build"):
-----
        case $packagedir in
          kdelibs4support*)
            export CXXFLAGS='-isystem /usr/include/openssl-1.0'
          ;;
        esac
-----

Do you want me to fix the book?

That would be helpful, but we also probably ought to unset CXXFLAGS when it is
no longer needed for those who do not run the commands in a script.


Right, will do something like (after make install):
       case $packagedir in
         kdelibs4support*)
            unset CXXFLAGS
          ;;
       esac

For this case, it might be easier to us a simple if:

if [ "$packagedir" == "kdelibs4support-5.34.0.tar.xz" ]; then
  export CXXFLAGS='-isystem /usr/include/openssl-1.0'
fi

...

[ "$packagedir" == "kdelibs4support-5.34.0.tar.xz" ] && unset CXXFLAGS

----

Or just set it for everything in kf5 even though it is only needed for one package:

bash -e

 CXXFLAGS='-isystem /usr/include/openssl-1.0'

 while
  ...
 done

exit

  -- Bruce



BTW, thanks for the fix!

Pierre


--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to