Closed yurivict closed 3 years ago
For the record, how did you compile Gecode and what vesion of Qt do you have installed?
With that said, we do not typically test on FreeBSD, nor do we actually have any FreeBSD machines, so we might not be able to help.
If anyone else has any idea what the problem is, please don't hesitate to chime in.
I compiled the FreeBSD port devel/gecode with the option GIST=ON
.
qt-5.15.0
cmake-3.18.3
clang-10
Here is the build log: https://people.freebsd.org/~yuri/gecode-6.2.0-build-failure.log
Some object modules, particularly treecanvas.cpp.o
, don't get linked into the library libgecodegist.so
, which is an immediate cause of this problem.
Do you know why might it not get added to this library?
Version 6.2.0.
Unfortunately I don't have much insight here at this moment, I've not tried to build with Qt for a long time, and never with the CMake build system.
@guidotack Do you have any idea what might be wrong here?
and never with the CMake build system.
Then the problem is likely that cmake scripts don't add gist
sources to the library when the option is selected.
I use the following script to build Gecode using CMake with gist for Windows, Mac, and 2 Linux distributions without any issues:
# Usage: gecode.sh {build_with_gist:0/1}
set -e
set -x
DIR="gecode"
if [ $1 = 1 ]; then
ENABLE_GIST=TRUE
if [ ! -x "$(command -v qmake)" ]; then
echo "!!!!!!!!!!!!!! CANNOT FIND QMAKE !!!!!!!!!!!!"
exit 1
fi
DIR="gecode_gist"
else
ENABLE_GIST=FALSE
fi
mkdir -p {build,vendor}/$DIR
cd build/$DIR
cmake -G"$CMAKEARCH" $CI_PROJECT_DIR/gecode -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/vendor/$DIR -DENABLE_GIST=${ENABLE_GIST} -DENABLE_CPPROFILER=TRUE
cmake --build . --config Release
cmake --build . --config Release --target install
My guess would be that either the version of CMake or the version of Qt is interfering with the build.
I build about the same way.
cmake-3.18.3 qt5-qmake-5.15.0
clang-10 FreeBSD 12.2