Bug 268680 - databases/qt5-sqldrivers-ibase fails to build after removal of databases/firebird25-client
Summary: databases/qt5-sqldrivers-ibase fails to build after removal of databases/fire...
Status: Closed Works As Intended
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-kde (group)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-31 17:16 UTC by russo
Modified: 2023-04-15 16:45 UTC (History)
1 user (show)

See Also:
tcberner: maintainer-feedback+


Attachments
Complete output of build process that fails (26.13 KB, text/plain)
2022-12-31 17:16 UTC, russo
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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