Opened 6 months ago

Last modified 6 months ago

#62484 assigned defect

orcus @0.16.1 build failure on 10.12

Reported by: gust334 Owned by: Tatsh (Andrew Udvare)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: Cc:
Port: orcus

Description

macOS 10.12 (darwin/16.7.0) arch i386, MacPorts 2.6.4, Xcode 9.2, SDK 10.12 :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.12

New user. Completely new installation of Xcode+MacPorts tonight. Tried one build: sudo port install libreoffice, it successfully builds about two hundred prerequisite ports but fails on this one.

I don't know enough about this system to know if my build tools (Xcode, command-line-tools, etc) are broken, or if the port is broken.

ports.macports.org/port/orcus/summary indicates broken for all MacOSX < 10.14 Trac shows no present tickets logged for orcus; last activity was 30Jan2021

The relevant portion of the build log appears to be:

:info:build Making all in liborcus
:info:build make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_orcus/orcus/work/orcus-0.16.1/src/liborcus'
:info:build   CXX      liborcus_0.16_la-config.lo
:info:build   CXX      liborcus_0.16_la-css_document_tree.lo
:info:build   CXX      liborcus_0.16_la-css_selector.lo
:info:build   CXX      liborcus_0.16_la-detection_result.lo
:info:build   CXX      liborcus_0.16_la-dom_tree.lo
:info:build   CXX      liborcus_0.16_la-format_detection.lo
:info:build   CXX      liborcus_0.16_la-formula_result.lo
:info:build   CXX      liborcus_0.16_la-global.lo
:info:build   CXX      liborcus_0.16_la-info.lo
:info:build   CXX      liborcus_0.16_la-interface.lo
:info:build   CXX      liborcus_0.16_la-json_document_tree.lo
:info:build   CXX      liborcus_0.16_la-json_map_tree.lo
:info:build   CXX      liborcus_0.16_la-json_structure_mapper.lo
:info:build   CXX      liborcus_0.16_la-json_structure_tree.lo
:info:build   CXX      liborcus_0.16_la-json_util.lo
:info:build   CXX      liborcus_0.16_la-spreadsheet_interface.lo
:info:build   CXX      liborcus_0.16_la-orcus_csv.lo
:info:build   CXX      liborcus_0.16_la-orcus_json.lo
:info:build   CXX      liborcus_0.16_la-orcus_xml.lo
:info:build   CXX      liborcus_0.16_la-orcus_xml_impl.lo
:info:build   CXX      liborcus_0.16_la-orcus_xml_map_def.lo
:info:build   CXX      liborcus_0.16_la-measurement.lo
:info:build   CXX      liborcus_0.16_la-xml_context_base.lo
:info:build   CXX      liborcus_0.16_la-xml_context_global.lo
:info:build   CXX      liborcus_0.16_la-xml_map_tree.lo
:info:build   CXX      liborcus_0.16_la-xml_stream_handler.lo
:info:build   CXX      liborcus_0.16_la-xml_stream_parser.lo
:info:build   CXX      liborcus_0.16_la-xml_simple_stream_handler.lo
:info:build In file included from xml_map_tree.cpp:8:
:info:build In file included from ./xml_map_tree.hpp:11:
:info:build In file included from ../../include/orcus/pstring.hpp:14:
:info:build In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/string:470:
:info:build In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/string_view:171:
:info:build In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/__string:56:
:info:build In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/algorithm:640:
:info:build In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/memory:638:
:info:build /Library/Developer/CommandLineTools/usr/include/c++/v1/tuple:227:10: error: static_assert failed "Attempted to construct a reference element in a tuple with an rvalue"
:info:build         {static_assert(__can_bind_reference<_Tp>(),
:info:build          ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build /Library/Developer/CommandLineTools/usr/include/c++/v1/tuple:385:13: note: in instantiation of function template specialization 'std::__1::__tuple_leaf<1, const orcus::xml_name_t &, false>::__tuple_leaf<orcus::xml_name_t, void>' requested here
:info:build             __tuple_leaf<_Uf, _Tf>(_VSTD::forward<_Up>(__u))...,
:info:build             ^
:info:build /Library/Developer/CommandLineTools/usr/include/c++/v1/tuple:738:15: note: in instantiation of function template specialization 'std::__1::__tuple_impl<std::__1::__tuple_indices<0, 1, 2, 3>, orcus::xml_map_tree &, const orcus::xml_name_t &, orcus::xml_map_tree::element_type, orcus::xml_map_tree::reference_type>::__tuple_impl<0, 1, 2, 3, orcus::xml_map_tree &, const orcus::xml_name_t &, orcus::xml_map_tree::element_type, orcus::xml_map_tree::reference_type, orcus::xml_map_tree &, orcus::xml_name_t, orcus::xml_map_tree::element_type, orcus::xml_map_tree::reference_type>' requested here
:info:build             : base_(typename __make_tuple_indices<sizeof...(_Up)>::type(),
:info:build               ^
:info:build xml_map_tree.cpp:124:13: note: in instantiation of function template specialization 'std::__1::tuple<orcus::xml_map_tree &, const orcus::xml_name_t &, orcus::xml_map_tree::element_type, orcus::xml_map_tree::reference_type>::tuple<orcus::xml_map_tree &, orcus::xml_name_t, orcus::xml_map_tree::element_type, orcus::xml_map_tree::reference_type, false, false>' requested here
:info:build             element::args_type(
:info:build             ^
:info:build 1 error generated.
:info:build make[3]: *** [liborcus_0.16_la-xml_map_tree.lo] Error 1

Attachments (1)

main.log (44.7 KB) - added by gust334 6 months ago.
Full log file of the broken port

Download all attachments as: .zip

Change History (13)

Changed 6 months ago by gust334

Attachment: main.log added

Full log file of the broken port

comment:1 Changed 6 months ago by jmroot (Joshua Root)

Owner: set to Tatsh
Port: orcus added; orcas removed
Status: newassigned
Summary: orcus-0.16.1 fails linkorcus @0.16.1 build failure on 10.12

comment:2 Changed 6 months ago by Tatsh (Andrew Udvare)

Need this change tested on the build bots. 10.13 and below all have this issue.

https://github.com/macports/macports-ports/pull/10329

comment:3 Changed 6 months ago by ryandesign (Ryan Schmidt)

It would be helpful for debugging (i.e. to see what compiler and compile flags were used) if the port disabled silent rules.

comment:4 in reply to:  3 Changed 6 months ago by Tatsh (Andrew Udvare)

Replying to ryandesign:

It would be helpful for debugging (i.e. to see what compiler and compile flags were used) if the port disabled silent rules.

Sorry I don't understand what you mean here.

comment:5 in reply to:  3 Changed 6 months ago by gust334

Replying to ryandesign:

It would be helpful for debugging (i.e. to see what compiler and compile flags were used) if the port disabled silent rules.

I'm sorry, is this a request to upload additional information for the bug report? I thought I provided the correct build log, but if you need a more verbose version of it, I could try to figure out what options to use to generate it.

And to Tatsh, thanks for fixing my port-name typo, still learning Safari's autocorrect.

comment:6 Changed 6 months ago by Tatsh (Andrew Udvare)

I think @ryandesign meant to have the port show the compile commands rather than CXX whatever.o as it currently does in verbose mode.

comment:7 Changed 6 months ago by Tatsh (Andrew Udvare)

comment:8 Changed 6 months ago by gust334

orcus is now building correctly for me, thank you Joshua, Ryan, and Andrew!

sudo port selfupdate
sudo port upgrade outdated
sudo port clean orcus
sudo port install -s libreoffice

--->  Fetching distfiles for orcus
--->  Verifying checksums for orcus
--->  Extracting orcus
--->  Configuring orcus
--->  Building orcus
--->  Staging orcus into destroot
--->  Installing orcus @0.16.1_0
--->  Activating orcus @0.16.1_0
--->  Cleaning orcus

comment:9 Changed 6 months ago by gust334

(please let me know if I should open a new ticket, continue here, or abandon this thread)

libreoffice is not configuring. It appears 19Dec2020 that commit b57cc7a has removed all backwards compatibility with 10.12 was dropped (10.13 is new minimum):

:info:configure checking what macOS SDK to use... SDK 10.13 at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
:info:configure checking whether Xcode is new enough... configure: error: "Xcode 9.2" is too old or unrecognized, must be at least Xcode 11.3

I'm not clear if this is intended a deliberate permanent abandonment of 10.12 and earlier, or an oversight.

The last version of libreoffice prior to 19Dec2020 is update 7.0.4.2, but when I tried to install that prior version I was unsuccessful as it continues to fetch the latest... do I have my syntax correct?

sudo port clean libreoffice
sudo port clean --dist libreoffice
sudo port install -s libreoffice 7.0.4.2
--->  Computing dependencies for libreoffice
--->  Fetching distfiles for libreoffice
--->  Attempting to fetch libreoffice-7.1.1.2.tar.xz from https://...
Last edited 6 months ago by gust334 (previous) (diff)

comment:10 Changed 6 months ago by Tatsh (Andrew Udvare)

Unfortunately that's on the developer's part, but it only affects build time. Minimum macOS is 10.14.4 for building.

This was changed about a year ago: https://git.libreoffice.org/core/+diff/358146bbbd1b9775c12770fb5e497b6ec5adfc51%5E!

Prior to that it was 10.13.2 minimum, because of requiring Xcode 9.3. https://git.libreoffice.org/core/+/58904bb5b0bcba2f0c6a598f5cd5f2891a66dc3c%5E!/

Mid-2018 was the last time 10.12 was supported as a build environment. https://git.libreoffice.org/core/+/b4f666f2e677b05cab8395fe7972b45b15f60c3f%5E!/ (a later commit fixed the documentation to state 10.13 as minimum macOS)

LibreOffice runs on 10.10 or higher. MacPorts does not have any archived builds that I know of, plus said hypothetical builds would likely not work on a prior version of macOS.

The libreoffice port has an os.major check, but that only checks for the runtime value rather than build time. I am not sure how to check if the user is compiling or getting an archived build.

comment:11 Changed 6 months ago by gust334

Understood. No prebuilt binary appears available via MacPorts:

sudo port install -b libreoffice
--->  Computing dependencies for libreoffice
--->  Fetching archive for libreoffice
--->  Attempting to fetch libreoffice-7.1.1.2_0.darwin_16.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/libreoffice
--->  Attempting to fetch libreoffice-7.1.1.2_0.darwin_16.x86_64.tbz2 from https://kmq.jp.packages.macports.org/libreoffice
--->  Attempting to fetch libreoffice-7.1.1.2_0.darwin_16.x86_64.tbz2 from https://mse.uk.packages.macports.org/libreoffice
--->  Attempting to fetch libreoffice-7.1.1.2_0.darwin_16.x86_64.tbz2 from https://packages.macports.org/libreoffice
... (many others)
Error: Failed to archivefetch libreoffice: version @7.1.1.2_0: The requested URL returned error: 404 Not Found

Any issues I have with libreoffice are off-topic, and I thank you for your explanations. I will download a binary from libreoffice.org instead for my 10.12 target environment.


In summary, orcus is now building correctly on MacOS 10.12, which was the subject of this Trac ticket. I don't know the procedure to close the Trac, nor even if it is appropriate for *me* to do so, but I'm satisfied the issue is closed.

comment:12 Changed 6 months ago by Tatsh (Andrew Udvare)

Thanks for reporting the Orcus issue. Currently only LibreOffice uses it, but in the future this may change, and the change added allows users on < 10.14 to use the library.

Note: See TracTickets for help on using tickets.