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

Fix deb package build #4591

Merged
merged 2 commits into from
Jun 30, 2023
Merged

Fix deb package build #4591

merged 2 commits into from
Jun 30, 2023

Conversation

legleux
Copy link
Collaborator

@legleux legleux commented Jun 27, 2023

High Level Overview of Change

Use GCC-11 and update GCC Conan profile

Context of Change

This is a quick band aid to get this build fixed.
A goal of Q3 is to remove all this package building code.

Also renames debug packages ddeb --> deb to account for an Artifactory bug where the debug symbol packages with .ddeb extensions are not indexed and thus aren't visible in apt clients.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Tests (You added tests for code that already exists, or your new feature included in this PR)
  • Documentation Updates
  • Release

--install-folder bld/rippled-reporting \
--build missing \
--build boost \
--build sqlite3 \
--build libuv \
--settings build_type=Release \
--settings compiler.cppstd=17 \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't build non-reporting mode without C++20, and we can't build reporting mode with C++20? Is that right?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to be the case. IIRC, there was an issue building Cassandra.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's the issue I'm having:

C++20 changes std::memory_order from an enum to an enum class. Datastax supplies a C++ driver for Cassandra, a dependency of reporting mode. it defines an enum MemoryOrder whose values are copied from std::memory_order, but using values from an enum class is not allowed, causing a compile error: https://godbolt.org/z/dG943nvT7

@legleux legleux marked this pull request as draft June 28, 2023 00:14
@intelliot intelliot requested review from godexsoft and seelabs and removed request for intelliot June 28, 2023 00:42
Copy link
Collaborator

@godexsoft godexsoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@legleux legleux marked this pull request as ready for review June 29, 2023 21:43
@legleux legleux force-pushed the fix-deb-pkg-build branch from b1e5fc3 to 3f91982 Compare June 29, 2023 21:44
rename debug packages ddeb --> deb for Artifactory bug
@legleux legleux force-pushed the fix-deb-pkg-build branch from 3f91982 to fba6e08 Compare June 29, 2023 21:51
@intelliot intelliot requested a review from manojsdoshi June 29, 2023 22:46
@intelliot intelliot merged commit 1cb67fb into XRPLF:develop Jun 30, 2023
ckeshava pushed a commit to ckeshava/rippled that referenced this pull request Jul 10, 2023
The debug packages were named with the extension ".ddeb", but due to a
bug in Artifactory, they need to have the ".deb" extension. Debug symbol
packages with ".ddeb" extensions are not indexed, and thus are not
visible in apt clients.

* Fix the issue by renaming the debug packages in the build script.
* Use GCC-11 and update GCC Conan profile.
  * This software requires GCC 11 and C++20. However, reporting mode is
    built with C++17.

This is a quick band-aid to fix the build. Later, it will be better to
remove this package-building code.

For context, a Debian (deb) package contains bundled software and
resources necessary for installing and managing software on a
Debian-based system, including Ubuntu and derivatives.
ckeshava pushed a commit to ckeshava/rippled that referenced this pull request Sep 22, 2023
The debug packages were named with the extension ".ddeb", but due to a
bug in Artifactory, they need to have the ".deb" extension. Debug symbol
packages with ".ddeb" extensions are not indexed, and thus are not
visible in apt clients.

* Fix the issue by renaming the debug packages in the build script.
* Use GCC-11 and update GCC Conan profile.
  * This software requires GCC 11 and C++20. However, reporting mode is
    built with C++17.

This is a quick band-aid to fix the build. Later, it will be better to
remove this package-building code.

For context, a Debian (deb) package contains bundled software and
resources necessary for installing and managing software on a
Debian-based system, including Ubuntu and derivatives.
ckeshava pushed a commit to ckeshava/rippled that referenced this pull request Sep 25, 2023
The debug packages were named with the extension ".ddeb", but due to a
bug in Artifactory, they need to have the ".deb" extension. Debug symbol
packages with ".ddeb" extensions are not indexed, and thus are not
visible in apt clients.

* Fix the issue by renaming the debug packages in the build script.
* Use GCC-11 and update GCC Conan profile.
  * This software requires GCC 11 and C++20. However, reporting mode is
    built with C++17.

This is a quick band-aid to fix the build. Later, it will be better to
remove this package-building code.

For context, a Debian (deb) package contains bundled software and
resources necessary for installing and managing software on a
Debian-based system, including Ubuntu and derivatives.
@legleux legleux deleted the fix-deb-pkg-build branch January 17, 2024 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants