Bug 268680

Summary: databases/qt5-sqldrivers-ibase fails to build after removal of databases/firebird25-client
Product: Ports & Packages Reporter: russo
Component: Individual Port(s)Assignee: freebsd-kde (group) <kde>
Status: Closed Works As Intended    
Severity: Affects Only Me CC: tcberner
Priority: --- Flags: tcberner: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Complete output of build process that fails none

Description russo 2022-12-31 17:16:58 UTC
Created attachment 239162 [details]
Complete output of build process that fails

FreeBSD xxx.xxx 12.3-STABLE FreeBSD 12.3-STABLE stable/12-n234844-5746abf94eb GENERIC  amd64

Current commit of port:  6229ceb6


Clean port build after removing prior install of both firebird25-client (the port for which was just deleted today) and qt5-sqldrivers-ibase fails with:

-----
...
Prior to reconfiguration, make sure you remove any leftovers from
the previous build.

/bin/mkdir -p /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/src/plugins/sqldrivers/ibase
cd /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/src/plugins/sqldrivers/ibase && /usr/bin/env ac_cv_path_PERL=/usr/local/bin/perl ac_cv_path_PERL_PATH=/usr/local/bin/perl  PERL_USE_UNSAFE_INC=1 QT_SELECT=qt5 QMAKEMODULES="/usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/mkspecs/modules:/usr/local/lib/qt5/mkspecs/modules" PKG_CONFIG=pkgconf MAKE="make" XDG_DATA_HOME=/usr/ports/databases/qt5-sqldrivers-ibase/work  XDG_CONFIG_HOME=/usr/ports/databases/qt5-sqldrivers-ibase/work  XDG_CACHE_HOME=/usr/ports/databases/qt5-sqldrivers-ibase/work/.cache  HOME=/usr/ports/databases/qt5-sqldrivers-ibase/work PATH=/usr/ports/databases/qt5-sqldrivers-ibase/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/usr/ports/databases/qt5-sqldrivers-ibase/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/bin/qmake -spec /usr/local/lib/qt5/mkspecs/freebsd-$(ccver="$(c++ --version)"; case "$ccver" in *clang*) echo clang ;; *) echo g++ ;; esac)  QMAKE_CC="cc" QMAKE_CXX="c++"  QMAKE_LINK_C="cc" QMAKE_LINK_C_SHLIB="cc"  QMAKE_LINK="c++" QMAKE_LINK_SHLIB="c++"  QMAKE_CFLAGS="-O2 -pipe  -fstack-protector-strong -fno-strict-aliasing "  QMAKE_CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing  "  QMAKE_LFLAGS=" -Wl,--as-needed -fstack-protector-strong "  QMAKE_LIBS=""  QMAKE_CFLAGS_DEBUG=""  QMAKE_CFLAGS_RELEASE=""  QMAKE_CXXFLAGS_DEBUG=""  QMAKE_CXXFLAGS_RELEASE=""  PREFIX="/usr/local" CONFIG+="release"  CONFIG-="debug separate_debug_info" -recursive QT_CONFIG+="release"  QT_CONFIG-="debug separate_debug_info" /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/src/plugins/sqldrivers/ibase
Info: creating stash file /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/src/plugins/sqldrivers/.qmake.stash
Project ERROR: Library 'ibase' is not defined.
*** Error code 3

Stop.
make: stopped in /usr/ports/databases/qt5-sqldrivers-ibase
-----


When building this port, it properly installs firebird30-client since the old firebird25-client port was deleted.


Complete "make" output attached.
Comment 1 russo 2023-01-01 16:32:17 UTC
I had hoped that git commit 54ce503 in ports (which fixed some uninstalled firebird30-client headers) would have addressed this issue, but it still fails with the same error.

I have, however, poked around in the work directory and looked at the config.log file to see what's going on, and I'm finding:
---
looking for library ibase
Trying source 0 (type inline) of library ibase ...
  => source failed condition 'config.win32'.
Trying source 1 (type inline) of library ibase ...
+ cd /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/config.tests/ibase && /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared warn_off console single_arch" 'QMAKE_USE += ibase' 'QMAKE_LIBS_IBASE = -lgds' /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/config.tests/ibase
+ cd /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/config
.tests/ibase && MAKEFLAGS= make
> clang++ -c -pipe -O2 -w -fPIC  -I. -I/usr/local/include -I/usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/mkspecs/freebsd-clang -o main.o main.cpp
> clang++  -o ibase main.o   -lgds  -L/usr/local/lib
> ld: error: unable to find library -lgds
> clang++: error: linker command failed with exit code 1 (use -v to see invocation)
> *** Error code 1
> Stop.
> make[1]: stopped in /usr/ports/databases/qt5-sqldrivers-ibase/work/kde-qtbase-5.15.7p177/config.tests/ibase
 => source failed verification.
test config.qtbase_sqldrivers.libraries.ibase FAILED
---

The port only looks for the presence of libfbclient.so when checking dependencies, and not for libgds (which was in fact installed by the firebird25 client, but is not installed by firebird30-client).  So instead of failing at the dependency checking stage, it's failing at the final build stage.
Comment 2 russo 2023-01-01 16:37:06 UTC
I note that in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268674#c1, the author of the commit 54ce503 has already commented that his commit fixed everything but this one failure.
Comment 3 Tobias C. Berner freebsd_committer freebsd_triage 2023-04-15 16:45:21 UTC
Moin moin 

That port won't be fixed (as upstream does not seem care). It will be removed soonish.

I close this with the very unfortunate state of 'works as intended'.

mfg Tobias