[Bug 268674] databases/soci: Fails to build after removing firebird25

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 31 Dec 2022 13:11:26 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268674

            Bug ID: 268674
           Summary: databases/soci: Fails to build after removing
                    firebird25
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: nc@FreeBSD.org
          Reporter: rhurlin@FreeBSD.org
             Flags: maintainer-feedback?(nc@FreeBSD.org)
          Assignee: nc@FreeBSD.org

Created attachment 239157
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=239157&action=edit
patch to disable default option firebird

After removing databases/firebird25-client from the tree [1][2], databases/soci
does not built with the new default databases/firebird30-client:

[ 31% 67/211] /usr/bin/c++ -DBOOST_ALL_NO_LIB -DCATCH_CONFIG_CPP11_NO_IS_ENUM
-DHAVE_DL=1 -DSOCI_ABI_VERSION=\"4.0\" -Dsoci_firebird_EXPORTS
-I/usr/local/include -I/wrkdirs/usr/ports/databases/soci/work/.build
-I/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/include
-I/wrkdirs/usr/ports/databases/soci/work/.build/include
-I/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/include/private
-I/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/src/core/../../include -O2
-pipe -fstack-protector-strong -fno-strict-aliasing -pedantic
-Wno-error=parentheses -Wall -Wextra -Wpointer-arith -Wcast-align -Wcast-qual
-Wfloat-equal -Woverloaded-virtual -Wredundant-decls -Wno-long-long -std=c++11 
-O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -fPIC
-fvisibility=hidden -MD -MT
src/backends/firebird/CMakeFiles/soci_firebird.dir/blob.cpp.o -MF
src/backends/firebird/CMakeFiles/soci_firebird.dir/blob.cpp.o.d -o
src/backends/firebird/CMakeFiles/soci_firebird.dir/blob.cpp.o -c
/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/src/backends/firebird/blob.cpp
FAILED: src/backends/firebird/CMakeFiles/soci_firebird.dir/blob.cpp.o
/usr/bin/c++ -DBOOST_ALL_NO_LIB -DCATCH_CONFIG_CPP11_NO_IS_ENUM -DHAVE_DL=1
-DSOCI_ABI_VERSION=\"4.0\" -Dsoci_firebird_EXPORTS -I/usr/local/include
-I/wrkdirs/usr/ports/databases/soci/work/.build
-I/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/include
-I/wrkdirs/usr/ports/databases/soci/work/.build/include
-I/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/include/private
-I/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/src/core/../../include -O2
-pipe -fstack-protector-strong -fno-strict-aliasing -pedantic
-Wno-error=parentheses -Wall -Wextra -Wpointer-arith -Wcast-align -Wcast-qual
-Wfloat-equal -Woverloaded-virtual -Wredundant-decls -Wno-long-long -std=c++11 
-O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -fPIC
-fvisibility=hidden -MD -MT
src/backends/firebird/CMakeFiles/soci_firebird.dir/blob.cpp.o -MF
src/backends/firebird/CMakeFiles/soci_firebird.dir/blob.cpp.o.d -o
src/backends/firebird/CMakeFiles/soci_firebird.dir/blob.cpp.o -c
/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/src/backends/firebird/blob.cpp
In file included from
/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/src/backends/firebird/blob.cpp:9:
In file included from
/wrkdirs/usr/ports/databases/soci/work/soci-4.0.3/include/soci/firebird/soci-firebird.h:24:
/usr/local/include/ibase.h:6:10: fatal error: '../jrd/ibase.h' file not found
#include "../jrd/ibase.h"
         ^~~~~~~~~~~~~~~~
1 error generated.


It turns out, that the SOCI Firebird backend only supports versions of Firebird
from 1.5 to 2.5 [3]. Soci can be used with either the client-server or embedded
Firebird libraries. The former is the default, to select the latter set
SOCI_FIREBIRD_EMBEDDED CMake option to ON value when building.

I was not able to turn SOCI_FIREBIRD_EMBEDDED to ON and to build with embedded
Firebird. So as a workaround I attached a patch which disables the default
option for Firebird in the port.


[1]
https://cgit.freebsd.org/ports/commit/?id=80c3e9f81d398e9a548879867dfb28bd60f66617
[2]
https://cgit.freebsd.org/ports/commit/?id=6229ceb6f2b8da993dae01c7ed46677a042839ba
[3]
https://github.com/SOCI/soci/blob/4ae2d90c5f7e4b864e149a63364d68a15c7806b2/docs/backends/firebird.md#prerequisites

-- 
You are receiving this mail because:
You are the assignee for the bug.