#66655 closed defect (worksforme)

qt5-qtlocation 5.15.8 fails to build

Reported by: jsalort (Julien Salort) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.8.0
Keywords: Cc:
Port: qt5-qtlocation

Description

qt5-qtlocation fails to build on MacPorts 2.8.0, Ventura, Apple M1. There is a link error with undefined symbols (see main.log).

Attachments (1)

main.log (3.3 MB) - added by jsalort (Julien Salort) 16 months ago.

Change History (11)

Changed 16 months ago by jsalort (Julien Salort)

Attachment: main.log added

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

Cc: MarcusCalhoun-Lopez removed
Owner: set to MarcusCalhoun-Lopez
Status: newassigned

comment:2 Changed 16 months ago by jsalort (Julien Salort)

The symbols that are not found are actually defined in ./src/3rdparty/mapbox-gl-native/src/mbgl/style/layers/symbol_layer_properties.hpp.

comment:3 Changed 16 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I am afraid I cannot reproduce this error.

The first error

:info:build Undefined symbols for architecture arm64:                                                                                                                                                                                               
-:info:build   "mbgl::style::IconAnchor::key", referenced from:                                                                                                                                                                                      
-:info:build       void mbgl::style::conversion::stringify<mbgl::style::IconAnchor, rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>, rapidjson::CrtAllocator>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAl\
locator, 0u>, mbgl::style::SymbolAnchorType>(rapidjson::Writer<rapidjson::GenericStringBuffer<rapidjson::UTF8<char>, rapidjson::CrtAllocator>, rapidjson::UTF8<char>, rapidjson::UTF8<char>, rapidjson::CrtAllocator, 0u>&, mbgl::style::DataDrivenP\
ropertyValue<mbgl::style::SymbolAnchorType> const&) in libqmapboxgl.a(symbol_layer.o)  

must have something to do with improper generation of symbols

namespace mbgl {
namespace style {
struct IconAnchor : DataDrivenLayoutProperty<SymbolAnchorType> {
    static constexpr const char * key = "icon-anchor";
    static SymbolAnchorType defaultValue() { return SymbolAnchorType::Center; }
};
}
}

My best guess is there is some other header file that is causing problems.
Is it possible to temporary deactivate other ports and try the build again?

comment:4 Changed 16 months ago by jsalort (Julien Salort)

Ok so I've tried to install qt5-qtlocation on a clean MacPorts installation with no other installed port, and it compiled fine. So your guess appears to be accurate. Do you have an idea which port I should deactivate on my main system to try and build it ?

comment:5 Changed 16 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Since mapbox-gl-native is in in a 3rdparty directory in the source tree, it is possible some other port installed it as well.
If two header files have the same name, the build might be improperly including the wrong one.

Is, e.g., a file named symbol_layer_properties.hpp in prefix or /usr/local?

comment:6 Changed 16 months ago by jsalort (Julien Salort)

find /opt/local -name "symbol_layer_properties.hpp"

and

find /usr/local -name "symbol_layer_properties.hpp"

return nothing.

comment:7 Changed 16 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Unfortunately, it may be necessary to deactivate ports a few at a time until we find the right one.
The only alternative I can think of is to look in /opt/local/include or /usr/local/include for anything that looks "suspicious."
I am sorry I can't think of a more clever solution.

comment:8 Changed 16 months ago by jsalort (Julien Salort)

FYI, I gave up trying to find out the cause of the problem.

I did this instead:

sudo port uninstall installed
sudo port reclaim
sudo port install qt5-qtlocation

and it works. Only problem is that I need to recompile everything since there is no Ventura Apple Silicon build bot yet.

comment:9 Changed 16 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

I am sorry you have to go through all the trouble.
It does not do you much good now, but it is possible to get similar results by deactivating ports instead uninstalling them.
You can deactivate all the ports (sudo port deactivate active), install the offending port, and then reactivate the other ports you want.

comment:10 Changed 15 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: worksforme
Status: assignedclosed
Note: See TracTickets for help on using tickets.