Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolve Horizon CI failures caused by the failure to install the right version of libc++ #4986

Merged
merged 4 commits into from
Jul 27, 2023

Conversation

urvisavla
Copy link
Contributor

@urvisavla urvisavla commented Jul 27, 2023

PR Checklist

PR Structure

  • This PR has reasonably narrow scope (if not, break it down into smaller PRs).
  • This PR avoids mixing refactoring changes with feature changes (split into two PRs
    otherwise).
  • This PR's title starts with name of package that is most changed in the PR, ex.
    services/friendbot, or all or doc if the changes are broad or impact many
    packages.

Thoroughness

  • This PR adds tests for the most critical parts of the new functionality or fixes.
  • I've updated any docs (developer docs, .md
    files, etc... affected by this change). Take a look in the docs folder for a given service,
    like this one.

Release planning

  • I've updated the relevant CHANGELOG (here for Horizon) if
    needed with deprecations, added features, breaking changes, and DB schema changes.
  • I've decided if this PR requires a new major/minor version according to
    semver, or if it's mainly a patch change. The PR is targeted at the next
    release branch if it's not a patch change.

What

Update this fix to handle all versions of libc++

Why

Horizon CI is failing with errors while running integration test. The error occurs because the apt package manager is unable to install the required version of libc++ (libc++1-12) when there is already an existing version installed.

2023-07-27T17:08:37.2546428Z Reading package lists...
2023-07-27T17:08:37.4156798Z Building dependency tree...
2023-07-27T17:08:37.4169264Z Reading state information...
2023-07-27T17:08:37.4714457Z Some packages could not be installed. This may mean that you have
2023-07-27T17:08:37.4715476Z requested an impossible situation or if you are using the unstable
2023-07-27T17:08:37.4716439Z distribution that some required packages have not yet been created
2023-07-27T17:08:37.4716842Z or been moved out of Incoming.
2023-07-27T17:08:37.4717193Z The following information may help to resolve the situation:
2023-07-27T17:08:37.4717408Z 
2023-07-27T17:08:37.4717574Z The following packages have unmet dependencies:
2023-07-27T17:08:37.5522389Z  libc++1-12 : Conflicts: libc++-x.y
2023-07-27T17:08:37.5523382Z  libc++1-14 : Conflicts: libc++-x.y
2023-07-27T17:08:37.5526307Z  libc++abi1-12 : Conflicts: libc++abi-x.y
2023-07-27T17:08:37.5529085Z  libc++abi1-14 : Conflicts: libc++abi-x.y
2023-07-27T17:08:37.5531166Z  libunwind-12 : Conflicts: libunwind-x.y
2023-07-27T17:08:37.5531937Z  libunwind-14 : Conflicts: libunwind-x.y
2023-07-27T17:08:37.5559422Z E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
2023-07-27T17:08:37.5590668Z ##[error]Process completed with exit code 100.

Known limitations

[TODO or N/A]

@2opremio
Copy link
Contributor

@urvisavla I would suggest listing what packages are installed:

apt list --installed |  grep libc++

@2opremio
Copy link
Contributor

We may even be able to make this future proof by doing:

sudo apt-get remove -y libc++1-* libc++abi1-*

instead of

sudo apt-get remove -y libc++1-10 libc++abi1-10

@urvisavla urvisavla force-pushed the github-ci-fix-libc-dep branch from c8c0de4 to b4fdd9f Compare July 27, 2023 21:16
@2opremio
Copy link
Contributor

That seems to have solved it, nice!

@urvisavla
Copy link
Contributor Author

That seems to have solved it, nice!

Yes, thank you!! We are currently running tests on both Ubuntu 20.04 and 22.04. The first one has libc++1-10, while the second one has libc++1-14. This discrepancy in the version explains why updating the version to remove libc++1-14 didn't work. Using libc++1-* was the fix so thank you for the solution.
Also, if it's alright i'd like to keep this line as well sudo apt list --installed | grep libc++ because that really helped.

@urvisavla urvisavla marked this pull request as ready for review July 27, 2023 21:33
@urvisavla urvisavla self-assigned this Jul 27, 2023
@urvisavla urvisavla marked this pull request as draft July 27, 2023 21:35
@urvisavla urvisavla changed the title Update libc version to fix Horizon CI package dependency errors Resolve Horizon CI failures caused by the failure to install the right version of libc++ Jul 27, 2023
@urvisavla urvisavla marked this pull request as ready for review July 27, 2023 22:16
@urvisavla urvisavla merged commit af7f09c into stellar:master Jul 27, 2023
@urvisavla urvisavla deleted the github-ci-fix-libc-dep branch July 27, 2023 22:19
tsachiherman added a commit that referenced this pull request Jul 28, 2023
* Bump golang.org/x/text from 0.3.7 to 0.3.8

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](golang/text@v0.3.7...v0.3.8)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* all: enforce simplified Golang code (#4852)

* Update completed sprint on issue/pr closed (#4857)

* Bump core image to latest stable release v19.10.0

* Add a simple test for asset case sorting in ascii (#4876)

* services/horizon: Suppress Core timeout error (#4860)

Suppress Core timeout error when ingestion state machine is in build state.

* Update CHANGELOG.md for latest release (#4828)

* Bump core image to latest release v19.11.0 (#4885)

* services/horizon: Protect 'currentState' variable using Mutex to prevent race condition. (#4889)

* services/horizon: Update default for  --captive-core-use-db to true (#4877)

* 4856: Update default for  --captive-core-use-db to true
* Update CHANGELOG.md

* services/horizon: Improve error handling for when stellar-core crashes (#4893)

* Parse LIMIT_TX_QUEUE_SOURCE_ACCOUNT in core config

* updated changelog for 2.26.0 release notes

* Pinning and updates golang and ubuntu images

* services/horizon: Fix ledger endpoint url in HAL (#4928)

* Goreplay middleware (#4932)

* tools/goreplay-middleware: Add goreplay middleware
* Fix linter errors

---------
Co-authored-by: Bartek Nowotarski <bartek@nowotarski.info>

* all: Fix improper use of errors.Wrap (#4926)

* all: Fix improper use of errors.Wrap

`errors.Wrap` method returns nil if the first argument passed is also nil.
If `errors.Wrap` is copied from a condition like `if err != nil` to another
one which  also returns `errors.Wrap` but does not overwrite `err` before
the returned value will always be `nil`.

* Update services/horizon/internal/db2/history/claimable_balances.go

Co-authored-by: George <Shaptic@users.noreply.github.com>

---------

Co-authored-by: George <Shaptic@users.noreply.github.com>
Co-authored-by: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com>

* fix apt repo reference to focal now (#4929)

* services/horizon: Remove command line flag --remote-captive-core-url (#4940)

* Small changes - 1

* Remove ingestion filtering flag

* services/horizon: Fix Horizon connectivity to core in standalone docker (#4956)

The default value of STELLAR_CORE_URL (localhost:11626) in standalone network mode doesn't work. We need to explictly set STELLAR_CORE_URL to http://host.docker.internal:11626, to allow Horizon to access the host container's port to connect with the core container.

* Bump core image to latest release v19.12.0 (#4953)

* Add new function HideFlag

* Fix lint warnings

* services/horizon: Add optional configuration parameter NETWORK (#4949)

The PR introduces a new optional Horizon configuration parameter called NETWORK. This parameter allows users to specify the desired Stellar network, pubnet or testnet. When the NETWORK parameter is set, Horizon automatically adjusts the remaining configuration settings and generates the corresponding captive core config file.

* Update flags.go

* Add IsHidden variable

* Update IsHidden

* Remove individual IsHidden option

* Change to Hidden

* Add tests for ingestion-filtering cmd flag

* Make changes - 1

* Make changes - 2

* Remove race condition in test

* Update command_line_args_test.go

* Update command_line_args_test.go

* Update command_line_args_test.go

* Update command_line_args_test.go

* Services/horizon: Skip querying stellar-core on 127.0.0.1 when Horizon is in build state (#4977)

* Resolve Horizon CI failures caused by the failure to install the right version of libc++  (#4986)

* Update command_line_args_test.go

Update command_line_args_test.go

Remove command_line_args_test.go

* Extend timeout for integration tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Bellamy <paul@stellar.org>
Co-authored-by: Mehmet <119539688+mbsdf@users.noreply.github.com>
Co-authored-by: mlo <marta.lohova@gmail.com>
Co-authored-by: urvisavla <urvi.savla@stellar.org>
Co-authored-by: stellarsaur <126507441+stellarsaur@users.noreply.github.com>
Co-authored-by: Molly Karcher <molly@stellar.org>
Co-authored-by: Shawn Reuland <shawn@stellar.org>
Co-authored-by: shawn <sreuland@users.noreply.github.com>
Co-authored-by: Bartek Nowotarski <bartek@nowotarski.info>
Co-authored-by: George <Shaptic@users.noreply.github.com>
Co-authored-by: Tsachi Herman <24438559+tsachiherman@users.noreply.github.com>
Co-authored-by: Aditya Vyas <aditya.vyas@stellar.org>
Co-authored-by: Aditya Vyas <adityavyas17@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants