Re: master build broken on macOS due to Firebird update

2024-01-07 Thread Caolán McNamara
On Sun, 2024-01-07 at 19:26 +, Caolán McNamara wrote:
> On Sun, 2024-01-07 at 19:03 +0200, Ilmari Lauhakangas wrote:
> > Yes, even with the patch the (debug) build fails for me on Linux
> > with
> > Clang 16.
> 
> I don't quite know what the problem here is but if you drop
> 
> --enable-ld=mold
> 
> does it then build?

https://gerrit.libreoffice.org/c/core/+/161775 might help here



Re: master build broken on macOS due to Firebird update

2024-01-07 Thread Caolán McNamara
On Sun, 2024-01-07 at 19:03 +0200, Ilmari Lauhakangas wrote:
> Yes, even with the patch the (debug) build fails for me on Linux with
> Clang 16.

I don't quite know what the problem here is but if you drop

--enable-ld=mold

does it then build?


Re: master build broken on macOS due to Firebird update

2024-01-07 Thread Ilmari Lauhakangas

On 7.1.2024 18.38, Patrick Luby wrote:

On 2024-01-06 3:46 p.m., Caolán McNamara wrote:

On Sat, 2024-01-06 at 12:03 -0500, Patrick Luby wrote:

I have submitted a revert for the Firebird update here:


The previous version was 3.0.7 and the current is 3.0.11 which suggests
there probably wasn't massive changes. So reading through the upgrade
commit I see a macosx specific hunk in one of our patches got dropped,
presumably because it didn't apply.

Does https://gerrit.libreoffice.org/c/core/+/161727 which restores that
hunk make any difference?

>
> Thank you Caolán for finding the cause of the macOS build failures! I
> can now build and run the unit tests successfully running "make clean &&
> make && make check"
>
> Although the following Gerrit change mostly only affects macOS, I did
> add a fix for another problem that I found: the Firebird build runs the
> isql command in its build directory and it can't find libfbclient:
>
> https://gerrit.libreoffice.org/c/core/+/161727
>
> With the above patch, are there still build failures on Windows or Linux.

Yes, even with the patch the (debug) build fails for me on Linux with 
Clang 16.


Ilmari


Re: master build broken on macOS due to Firebird update

2024-01-07 Thread Patrick Luby
Thank you Caolán for finding the cause of the macOS build failures! I 
can now build and run the unit tests successfully running "make clean && 
make && make check"


Although the following Gerrit change mostly only affects macOS, I did 
add a fix for another problem that I found: the Firebird build runs the 
isql command in its build directory and it can't find libfbclient:


https://gerrit.libreoffice.org/c/core/+/161727

With the above patch, are there still build failures on Windows or Linux.

Patrick


On 2024-01-06 3:46 p.m., Caolán McNamara wrote:

On Sat, 2024-01-06 at 12:03 -0500, Patrick Luby wrote:

I have submitted a revert for the Firebird update here:


The previous version was 3.0.7 and the current is 3.0.11 which suggests
there probably wasn't massive changes. So reading through the upgrade
commit I see a macosx specific hunk in one of our patches got dropped,
presumably because it didn't apply.

Does https://gerrit.libreoffice.org/c/core/+/161727 which restores that
hunk make any difference?


Re: master build broken on macOS due to Firebird update

2024-01-06 Thread Caolán McNamara
On Sat, 2024-01-06 at 12:03 -0500, Patrick Luby wrote:
> I have submitted a revert for the Firebird update here:

The previous version was 3.0.7 and the current is 3.0.11 which suggests
there probably wasn't massive changes. So reading through the upgrade
commit I see a macosx specific hunk in one of our patches got dropped,
presumably because it didn't apply.

Does https://gerrit.libreoffice.org/c/core/+/161727 which restores that
hunk make any difference?


Re: master build broken on macOS due to Firebird update

2024-01-06 Thread Patrick Luby

I have submitted a revert for the Firebird update here:

https://gerrit.libreoffice.org/c/core/+/161683

There are still errors even when I build a non-debug build. So, the only 
way I can see this update sucessfully building on macOS is that Jenkins 
builds Mac Intel targeting an older (pre-Ventura) version of macos i.e. 
before Apple deprecated sprintf.


IMHO, the Firebird update needs a lot more work before recommitting it.

Patrick

On 2024-01-06 11:36 a.m., Patrick Luby wrote:


So I used the attached debug patch and now I am only runnning into 
casting errors. Still more work to do, but at least it is progress.


I'll see how far I can get patching the errors.

Patrick


On 2024-01-06 11:22 a.m., Regina Henschel wrote:

Hi all,

it breaks for me too. VS2022 on Win11 with --enable-dbgutil. So not 
only macOS.


Kind regards,
Regina

Patrick Luby schrieb am 06.01.2024 um 16:20:

All,

I am not sure how this update built successfully on macOS on Jenkins, 
but the Firebird update is filled with hundreds of sprintf calls like 
the following. Xcode has marked sprintf as deprecated since a couple 
of versions ago:


/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/temp/Debug/isql/show.cpp:6986:5:
 warning: 'sprintf' is deprecated: This function is provided for compatibility 
reasons only.  Due to security concerns inherent in the design of sprintf(3), 
it is highly recommended that you use snprintf(3) instead. 
[-Wdeprecated-declarations]
 sprintf(info, "Number of DB pages 
free = %" SQUADFORMAT"%s", value_out, separator);


So how do we suppress these "en masse" when doing debug builds?

Thanks,

Patrick





Re: master build broken on macOS due to Firebird update

2024-01-06 Thread Patrick Luby


So I used the attached debug patch and now I am only runnning into 
casting errors. Still more work to do, but at least it is progress.


I'll see how far I can get patching the errors.

Patrick


On 2024-01-06 11:22 a.m., Regina Henschel wrote:

Hi all,

it breaks for me too. VS2022 on Win11 with --enable-dbgutil. So not only 
macOS.


Kind regards,
Regina

Patrick Luby schrieb am 06.01.2024 um 16:20:

All,

I am not sure how this update built successfully on macOS on Jenkins, 
but the Firebird update is filled with hundreds of sprintf calls like 
the following. Xcode has marked sprintf as deprecated since a couple 
of versions ago:


/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/temp/Debug/isql/show.cpp:6986:5:
 warning: 'sprintf' is deprecated: This function is provided for compatibility 
reasons only.  Due to security concerns inherent in the design of sprintf(3), 
it is highly recommended that you use snprintf(3) instead. 
[-Wdeprecated-declarations]
 sprintf(info, "Number of DB pages 
free = %" SQUADFORMAT"%s", value_out, separator);


So how do we suppress these "en masse" when doing debug builds?

Thanks,

Patrick

diff --git a/external/firebird/ExternalProject_firebird.mk 
b/external/firebird/ExternalProject_firebird.mk
index 5b39fd82b1e3..5556f9d1ae82 100644
--- a/external/firebird/ExternalProject_firebird.mk
+++ b/external/firebird/ExternalProject_firebird.mk
@@ -57,7 +57,7 @@ $(call gb_ExternalProject_get_state_target,firebird,build):
$(if $(filter 
MSC-TRUE-X86_64,$(COM)-$(COM_IS_CLANG)-$(CPUNAME)),-march=x86-64-v2) \
$(if 
$(HAVE_GCC_FNO_SIZED_DEALLOCATION),-fno-sized-deallocation 
-fno-delete-null-pointer-checks) \
$(CXXFLAGS_CXX11) \
-   $(if $(filter TRUE,$(COM_IS_CLANG)), 
-Wno-c++11-narrowing) \
+   $(if $(filter TRUE,$(COM_IS_CLANG)), -Wno-error) \
$(call gb_ExternalProject_get_build_flags,firebird) \
$(if $(ENABLE_DEBUG),$(if $(filter MSC,$(COM)),-Od 
-Z7)) \
" \


Re: master build broken on macOS due to Firebird update

2024-01-06 Thread Regina Henschel

Hi all,

it breaks for me too. VS2022 on Win11 with --enable-dbgutil. So not only 
macOS.


Kind regards,
Regina

Patrick Luby schrieb am 06.01.2024 um 16:20:

All,

I am not sure how this update built successfully on macOS on Jenkins, 
but the Firebird update is filled with hundreds of sprintf calls like 
the following. Xcode has marked sprintf as deprecated since a couple of 
versions ago:


/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/temp/Debug/isql/show.cpp:6986:5: 
warning: 'sprintf' is deprecated: This function is provided for 
compatibility reasons only.  Due to security concerns inherent in the 
design of sprintf(3), it is highly recommended that you use snprintf(3) 
instead. [-Wdeprecated-declarations]
     sprintf(info, "Number of DB pages free 
= %" SQUADFORMAT"%s", value_out, separator);


So how do we suppress these "en masse" when doing debug builds?

Thanks,

Patrick





Re: master build broken on macOS due to Firebird update

2024-01-06 Thread Patrick Luby
Unfortunately, on macOS neither --enable-werror or --disable-werror 
doesn't seem to have any affect on the external/firebird build.


Patrick


On 2024-01-06 10:59 a.m., Mike Kaganski wrote:

Hi!

On 1/6/2024 9:53 PM, Patrick Luby wrote:
Can anyone actually do a debug build on any other platform on master 
with this update? IIRC Windows also has to suppress deprecation 
warnings, at least for sprintf, but maybe I am wrong.


I have just built master on Windows, using --enable-werror; it has built 
OK.
I know that there are some measures to suppress externals' warnings. 
Maybe something broke specifically with macOS (or specific compiler 
versions?)...




Re: master build broken on macOS due to Firebird update

2024-01-06 Thread Ilmari Lauhakangas

On 6.1.2024 17.53, Patrick Luby wrote:

On 2024-01-06 10:20 a.m., Patrick Luby wrote:

All,

I am not sure how this update built successfully on macOS on Jenkins, 
but the Firebird update is filled with hundreds of sprintf calls like 
the following. Xcode has marked sprintf as deprecated since a couple 
of versions ago:


/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/temp/Debug/isql/show.cpp:6986:5:
 warning: 'sprintf' is deprecated: This function is provided for compatibility 
reasons only.  Due to security concerns inherent in the design of sprintf(3), 
it is highly recommended that you use snprintf(3) instead. 
[-Wdeprecated-declarations]
 sprintf(info, "Number of DB pages 
free = %" SQUADFORMAT"%s", value_out, separator);


So how do we suppress these "en masse" when doing debug builds?

>
Bad news: this update is worse than I thought when doing a clean debug 
build after doing a make clean. I am seeing a lengthy list of all sorts 
of different warnings being converted to errors. There are still a lot 
of sprintf errors, but now there are even more other, different warnings.


See attached build log for a list of warnings converted to errors that I 
am seeing.


Can anyone actually do a debug build on any other platform on master 
with this update? IIRC Windows also has to suppress deprecation 
warnings, at least for sprintf, but maybe I am wrong.


I am getting a build failure with Clang and --enable-dbgutil:
https://gerrit.libreoffice.org/c/core/+/152016/40#message-9baf3396b2a8714dabf6fbf6eec72d8f9a318ee2

mold: fatal: cannot open loader_path/../Debug/firebird: No such file or 
directory
clang-16: error: linker command failed with exit code 1 (use -v to see 
invocation)

make[6]: *** [Makefile.examples:138: ../../gen/examples/empbuild] Error 1
make[5]: *** [Makefile:600: examples] Error 2
make[4]: *** [Makefile:201: master_process] Error 2
make[3]: *** [Makefile:72: Debug] Error 2
make[2]: *** [Makefile:6: Debug] Error 2
make[1]: *** 
[/home/user/libreoffice/external/firebird/ExternalProject_firebird.mk:30: 
/home/user/libreoffice/workdir/ExternalProject/firebird/build] Error 1


Ilmari


Re: master build broken on macOS due to Firebird update

2024-01-06 Thread Mike Kaganski

Hi!

On 1/6/2024 9:53 PM, Patrick Luby wrote:
Can anyone actually do a debug build on any other platform on master 
with this update? IIRC Windows also has to suppress deprecation 
warnings, at least for sprintf, but maybe I am wrong.


I have just built master on Windows, using --enable-werror; it has built OK.
I know that there are some measures to suppress externals' warnings. 
Maybe something broke specifically with macOS (or specific compiler 
versions?)...


--
Best regards,
Mike Kaganski



Re: master build broken on macOS due to Firebird update

2024-01-06 Thread Patrick Luby
Bad news: this update is worse than I thought when doing a clean debug 
build after doing a make clean. I am seeing a lengthy list of all sorts 
of different warnings being converted to errors. There are still a lot 
of sprintf errors, but now there are even more other, different warnings.


See attached build log for a list of warnings converted to errors that I 
am seeing.


Can anyone actually do a debug build on any other platform on master 
with this update? IIRC Windows also has to suppress deprecation 
warnings, at least for sprintf, but maybe I am wrong.


Patrick


On 2024-01-06 10:20 a.m., Patrick Luby wrote:

All,

I am not sure how this update built successfully on macOS on Jenkins, 
but the Firebird update is filled with hundreds of sprintf calls like 
the following. Xcode has marked sprintf as deprecated since a couple of 
versions ago:


/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/temp/Debug/isql/show.cpp:6986:5:
 warning: 'sprintf' is deprecated: This function is provided for compatibility 
reasons only.  Due to security concerns inherent in the design of sprintf(3), 
it is highly recommended that you use snprintf(3) instead. 
[-Wdeprecated-declarations]
     sprintf(info, "Number of DB pages free 
= %" SQUADFORMAT"%s", value_out, separator);


So how do we suppress these "en masse" when doing debug builds?

Thanks,

PatrickThe Firebird3 package has been configured with the following options:

Raw devices : disabled
   Service name : gds_db
   Service port : 3050
   GPRE modules : c_cxx.cpp

Install Dir : /usr/local/firebird

ld: warning: ignoring duplicate libraries: '-liconv'
ld: warning: ignoring duplicate libraries: '-liconv'
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/Parser.cpp:25:
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../dsql/Parser.h:26:
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../dsql/dsql.h:47:
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../jrd/Attachment.h:155:21:
 warning: increment of object of volatile-qualified type 'volatile FB_UINT64' 
(aka 'volatile unsigned long long') is deprecated [-Wdeprecated-volatile]
totalLocksCounter++;
 ^
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../jrd/Attachment.h:174:21:
 warning: increment of object of volatile-qualified type 'volatile FB_UINT64' 
(aka 'volatile unsigned long long') is deprecated [-Wdeprecated-volatile]
totalLocksCounter++;
 ^
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/Parser.cpp:25:
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../dsql/Parser.h:27:
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../dsql/DdlNodes.h:31:
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../dsql/Nodes.h:26:
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../jrd/jrd.h:55:
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/include/../jrd/../common/os/guid.h:71:2:
 warning: 'sprintf' is deprecated: This function is provided for compatibility 
reasons only.  Due to security concerns inherent in the design of sprintf(3), 
it is highly recommended that you use snprintf(3) instead. 
[-Wdeprecated-declarations]
sprintf(buffer, GUID_LEGACY_FORMAT,
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/stdio.h:180:1:
 note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  
Due to security concerns inherent in the design of sprintf(3), it is highly 
recommended that you use snprintf(3) instead.")
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/sys/cdefs.h:215:48:
 note: expanded from macro '__deprecated_msg'
#define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
  ^
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/Parser.cpp:25:
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../dsql/Parser.h:27:
In file included from 
/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/src/dsql/../dsql/DdlNodes.h:31:
In file included from 

master build broken on macOS due to Firebird update

2024-01-06 Thread Patrick Luby

All,

I am not sure how this update built successfully on macOS on Jenkins, 
but the Firebird update is filled with hundreds of sprintf calls like 
the following. Xcode has marked sprintf as deprecated since a couple of 
versions ago:


/Volumes/LOBuilds/lode/dev/core/workdir/UnpackedTarball/firebird/temp/Debug/isql/show.cpp:6986:5: 
warning: 'sprintf' is deprecated: This function is provided for 
compatibility reasons only.  Due to security concerns inherent in the 
design of sprintf(3), it is highly recommended that you use snprintf(3) 
instead. [-Wdeprecated-declarations]
sprintf(info, "Number of DB pages free 
= %" SQUADFORMAT"%s", value_out, separator);


So how do we suppress these "en masse" when doing debug builds?

Thanks,

Patrick