Bug 275887

Summary: devel/abseil: Update to 20240116.2
Product: Ports & Packages Reporter: Yuri Victorovich <yuri>
Component: Individual Port(s)Assignee: Alexey Dokuchaev <danfe>
Status: Closed FIXED    
Severity: Affects Only Me CC: chris, diizzy, mfechner, osa, pnagato
Priority: --- Flags: bugzilla: maintainer-feedback? (danfe)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
patch
none
Patch for abseil
none
math/or-tools update to version 9.8
none
patch to update devel/abseil to 20240116.2 none

Description Yuri Victorovich freebsd_committer freebsd_triage 2023-12-22 18:37:07 UTC
Created attachment 247203 [details]
patch
Comment 1 Alexey Dokuchaev freebsd_committer freebsd_triage 2023-12-26 12:25:39 UTC
> -#if !defined(HAS_STRPTIME)
> +#if 0 && !defined(HAS_STRPTIME)
Hmm, that does not look very neat, let's wait until we have a better fix and/or feedback from upstream developers.
Comment 2 Yuri Victorovich freebsd_committer freebsd_triage 2023-12-26 17:36:15 UTC
(In reply to Alexey Dokuchaev from comment #1)

Hi Alexey,

We can just remove this code section for now since it is erroneous on FreeBSD.
It was added on some linux flavor to solve the name collision, but that was just a mistake since that name collision can be resolved better using a qualifier like this patch suggests.

This blocks math/or-tools from being updated.


Thanks,
Yuri
Comment 3 Alexey Dokuchaev freebsd_committer freebsd_triage 2024-01-06 17:50:31 UTC
Okay so it was actually fixed upstream*, they just don't like to talk to people on GitHub.  Can you please replace the patch in files/ with these two lines:

PATCH_SITES=    https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES=     <commit-hash-or-part-of-it-as-long-as-you-like>.patch:-p1

As usual, check that update does not break consumer ports and you're good to go.

*) https://github.com/abseil/abseil-cpp/commit/ded2ec077d911de647d47ab48ef3a8e24a1fb64a
Comment 4 Alexey Dokuchaev freebsd_committer freebsd_triage 2024-01-23 13:58:22 UTC
Abseil LTS 20240116.0 had been released and builds without patches.
Comment 5 Alexey Dokuchaev freebsd_committer freebsd_triage 2024-01-30 08:55:03 UTC
*** Bug 276718 has been marked as a duplicate of this bug. ***
Comment 6 Daniel Engberg freebsd_committer freebsd_triage 2024-01-30 21:08:36 UTC
Created attachment 248083 [details]
Patch for abseil

Use upstream release archive
Minor adjustments to Makefile to closer follow Porters Handbook

Poudriere testport OK 13.2-RELEASE (amd64)
Poudriere testport OK 14.0-RELEASE (amd64)

Tested with following consumers on 13.2-RELEASE (amd64) using Poudriere:
audio/webrtc-audio-processing
audio/mumble
audio/mumble-server
audio/murmur
audio/py-torchaudio
audio/strawberry
benchmarks/apib
cad/openroad (skipped due to math/or-tools)
devel/bear
devel/google-cloud-cpp
devel/grpc
devel/grpc142 (fails, only one consumer left (PR 276516))
devel/libphonenumber
devel/protobuf (current version in tree needs c++20 to compile)
devel/re2
devel/youcompleteme
editors/libreoffice
graphics/s2
math/obake
math/or-tools (fails, needs patching)
math/py-or-tools (fails, needs patching)
math/py-pyaudi
misc/ncnn
misc/py-pytorch (fails, needs patching)
misc/pytorch
multimedia/libgav1
net/libilbc
net-im/telegram-desktop
net-mgmt/fastnetmon
security/crowdsec
sysutils/fusefs-securefs
www/envoy (fails, not related)

Unit tests fails to compile using either CMAKE_CXX_STANDARD=17  or CMAKE_CXX_STANDARD=20
Comment 7 Yuri Victorovich freebsd_committer freebsd_triage 2024-01-31 08:09:28 UTC
or-tools-9.8 fail to build with abseil-20230125.3:
https://github.com/google/or-tools/issues/4070
Comment 8 Yuri Victorovich freebsd_committer freebsd_triage 2024-01-31 08:15:52 UTC
pytorch-2.2.0 builds fine with abseil-20230125.3.
Comment 9 Alexey Dokuchaev freebsd_committer freebsd_triage 2024-02-02 06:57:24 UTC
(In reply to Daniel Engberg from comment #6)
> Use upstream release archive
Okay, let's use it.

> Minor adjustments to Makefile to closer follow Porters Handbook
Please no, the Makefile is fine as it is now. :-)

> devel/grpc142 (fails, only one consumer left, bug #276516)
It's currently marked BROKEN (fails to build) so I guess we can ignore it.

> math/or-tools (fails, needs patching)
> math/py-or-tools (fails, needs patching)
> misc/py-pytorch (fails, needs patching)
These are Yuri's ports, he'll probably fix those (albeit he talks about existing version 20230125.3 in the comments above for some reason).  Yuri, can you see what's up with your ports and prepare against proposed version 20240116.0?  If feasible, you can patch them so they can be built against both current and new versions; if not, they'd had to be updated together with Abseil.

> devel/protobuf (current version in tree needs c++20 to compile)
Not sure what to do about this one.
Comment 10 Yuri Victorovich freebsd_committer freebsd_triage 2024-02-02 07:49:33 UTC
or-tools-9.8 fails to build with abseil-20240116.0: https://github.com/google/or-tools/issues/4074
(the previous or-tools issue was probably mis-filed and was for a wrong abseil version.)
Comment 11 Alexey Dokuchaev freebsd_committer freebsd_triage 2024-02-26 07:38:04 UTC
Created attachment 248753 [details]
math/or-tools update to version 9.8

I've done another build run yesterday against Abseil LTS 20240116.1 and found that only `math/{py-,}or-tools' exhibit related errors.  I've quickly hacked update to version 9.8 which builds fine (similar patch for py- port is left as an exercise to the reader).

(In reply to Yuri Victorovich from comment #10)
> or-tools-9.8 fails to build with abseil-20240116.0
Please take a look at the attached PoC patch.  If you won't mind, I can commit `devel/abseil' update first which you'd follow with `math/{py-,}or-tools' update.
Comment 12 Alexey Dokuchaev freebsd_committer freebsd_triage 2024-05-29 02:48:45 UTC
*** Bug 279366 has been marked as a duplicate of this bug. ***
Comment 13 Matthias Fechner freebsd_committer freebsd_triage 2024-06-27 12:06:52 UTC
I currently tty to debug a bug that is preventing gitlab from starting.
The error message is:
==> /usr/local/www/gitlab/log/puma.stderr.log <==
ld-elf.so.1: /usr/local/lib/libgrpc.so.39: Undefined symbol "_ZN4absl12lts_202301254CordC1INSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEETnNS3_9enable_ifIXsr3std7is_sameIT_S9_EE5valueEiE4typeELi0EEEOSB_"

I was able to fix the problem, by upgrading abseil to abseil-20240116.0.
After I installed the new version, gitlab started to work again.

It seems that grpc 1.62.2 or rubygem-grpc-1.63.0 require the update of this lib to work correctly.

Currently gitlab is broken for all users.
Is there a change to get the upgrade committed soon?
Comment 14 Matthias Fechner freebsd_committer freebsd_triage 2024-07-04 06:58:58 UTC
(In reply to Matthias Fechner from comment #13)
I got some user feedback and it seems that we do not need the new version of abseil to fix the problem with grpc.
Users confirmed that just a recompile and reinstall of the current abseil package fixed the problem.

Maybe there is a bump of the current abseil package necessary which would be obsolete by make this new version available.
Comment 15 Yuri Victorovich freebsd_committer freebsd_triage 2024-07-17 19:13:27 UTC
(In reply to Alexey Dokuchaev from comment #11)


> Please take a look at the attached PoC patch.  If you won't mind, I can commit `devel/abseil' update first which you'd follow with `math/{py-,}or-tools' update.

Please do so.
Comment 16 Sergey A. Osokin freebsd_committer freebsd_triage 2024-08-01 16:09:11 UTC
Created attachment 252427 [details]
patch to update devel/abseil to 20240116.2

Hi,

here's the update devel/abseil to 20240116.2.

I do believe that other ports mentioned in this bug report need to be updated to their recent version.  Please note: I have tested only build of the abseil-20240116.2, have not test other ports.

Thank you.
Comment 17 Sergey A. Osokin freebsd_committer freebsd_triage 2024-08-03 02:03:27 UTC
(In reply to Sergey A. Osokin from comment #16)

Hi,

quick update.  I've built the following list of ports with the devel/abseil, version 20240116.2, so far so good.  Here's the results:

audio/mixxx                      - OK
audio/mumble                     - OK
audio/mumble-server              - OK
audio/murmur                     - OK
audio/py-torchaudio              - FAILED
audio/strawberry                 - OK
audio/webrtc-audio-processing    - OK
benchmarks/apib                  - OK
cad/openroad                     - OK
databases/arrow                  - OK
devel/bear                       - OK
devel/google-cloud-cpp           - OK
devel/grpc                       - OK
devel/libphonenumber             - OK
devel/protobuf                   - OK
devel/py-dm-tree                 - OK
devel/re2                        - OK
devel/youcompleteme              - OK
graphics/qgis                    - OK
graphics/qgis-ltr                - OK
graphics/s2                      - OK
math/obake                       - OK
math/or-tools                    - PATCH from this PR is required, OK
math/py-or-tools                 - FAILED
math/py-pyaudi                   - OK
misc/ncnn                        - OK
misc/onnx                        - OK
misc/py-natten                   - FAILED
misc/py-onnx                     - OK
misc/py-pytorch                  - FAILED
misc/pytorch                     - OK
multimedia/libgav1               - OK
multimedia/vlc                   - OK
net-im/tg_owt                    - OK
net-mgmt/fastnetmon              - OK
net/ecal                         - OK
net/libilbc                      - OK
security/crowdsec                - OK
sysutils/bulk_extractor          - OK
sysutils/fusefs-securefs         - OK
www/envoy                        - SKIPPED
www/qt6-webengine                - OK

Two ports (editors/libreoffice and net-im/telegram-desktop) are still building, I'm expecting to get results tomorrow morning.

Thank you.
Comment 18 Yuri Victorovich freebsd_committer freebsd_triage 2024-08-04 20:47:56 UTC
(In reply to Sergey A. Osokin from comment #17)

or-tools ports might build successfully if they would be updated.
Please feel free to commit such updates if this is the case.
Comment 19 Sergey A. Osokin freebsd_committer freebsd_triage 2024-08-04 21:21:14 UTC
(In reply to Yuri Victorovich from comment #18)

Hi Yuri,

I'm ready to commit my patch and the update or-tools to version 9.8, however danfe@ has decided to update the port to the recent version, i.e. 20240722.0.  So, waiting for him.
Comment 20 commit-hook freebsd_committer freebsd_triage 2024-08-07 06:02:18 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6c2f347f45e45cd71bb0aa7fdcaa96667c5a483b

commit 6c2f347f45e45cd71bb0aa7fdcaa96667c5a483b
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2024-08-07 06:00:30 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2024-08-07 06:00:30 +0000

    devel/abseil: update Abseil C++ to LTS version 20240722.0

    Switch to the "real" distfile over the GitHub-generated one
    and fix the warning emitted by `fixup-lib-pkgconfig' target.

    PR:             275887
    Reported by:    portscout

 devel/abseil/Makefile  | 14 ++++-----
 devel/abseil/distinfo  |  6 ++--
 devel/abseil/pkg-plist | 85 ++++++++++++++++++++++++++++++++++++++------------
 3 files changed, 75 insertions(+), 30 deletions(-)
Comment 21 Alexey Dokuchaev freebsd_committer freebsd_triage 2024-08-07 06:32:14 UTC
(In reply to Sergey A. Osokin from comment #19)
> update or-tools to version 9.8
I'll first try to update to the latest version 9.10 and fallback to my earlier 9.8 patch if there'd be issues too hard/long to fix for the moment.
Comment 22 Christos Chatzaras 2024-08-10 19:28:35 UTC
Can you please have a look at this?

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280738
Comment 23 Po-Chuan Hsieh freebsd_committer freebsd_triage 2024-08-15 15:43:17 UTC
I guess this PR can be closed after recent abseil update.