JUCE
JUCE copied to clipboard
[Bug]: juceaide fails to build on powerpc64le
Detailed steps on how to reproduce the bug
Regular build on the powerpc64le architecture.
Error log:
-- Building juceaide
CMake Error at libs/JUCE/extras/Build/juceaide/CMakeLists.txt:101 (message):
Failed to build juceaide
[0/2] Re-checking globbed directories...
[1/8] Building CXX object
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_data_structures/juce_data_structures.cpp.o
[2/8] Building CXX object
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_events/juce_events.cpp.o
[3/8] Building CXX object
extras/Build/juceaide/CMakeFiles/juceaide.dir/Main.cpp.o
[4/8] Building CXX object
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/juce_build_tools/juce_build_tools.cpp.o
[5/8] Building CXX object
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_graphics/juce_graphics.cpp.o
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_graphics/juce_graphics.cpp:41:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_graphics/juce_graphics.h:147:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h:96:21:
warning: definition of implicit copy constructor for 'SavedState' is
deprecated because it has a user-declared copy assignment operator
[-Wdeprecated-copy]
SavedState& operator= (const SavedState&) = delete;
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp:169:25:
note: in implicit copy constructor for
'juce::LowLevelGraphicsPostScriptRenderer::SavedState' first required here
stateStack.add (new SavedState (*stateStack.getLast()));
^
1 warning generated.
[6/8] Building CXX object
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/juce_core.cpp:164:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/system/juce_SystemStats.cpp:180:23:
warning: comparison of integers of different signs: 'int' and 'unsigned
long' [-Wsign-compare]
for (int i = 0; i < frames; ++i)
~ ^ ~~~~~~
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/juce_core.cpp:225:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/native/juce_linux_Network.cpp:37:43:
warning: cast from 'struct sockaddr *' to 'struct sockaddr_dl *' increases
required alignment from 1 to 2 [-Wcast-align]
struct sockaddr_dl* sdl = (struct sockaddr_dl*) i->ifa_addr;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/juce_core.cpp:37:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/juce_core.h:331:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/network/juce_URL.h:56:5:
warning: definition of implicit copy constructor for 'URL' is deprecated
because it has a user-declared destructor [-Wdeprecated-copy-with-dtor]
~URL() = default;
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/native/juce_linux_Network.cpp:96:11:
note: in implicit copy constructor for 'juce::URL' first required here
url (urlToCopy),
^
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/juce_core.cpp:232:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/native/juce_linux_SystemStats.cpp:156:33:
warning: implicit conversion from 'juce::int64' (aka 'long long') to
'double' may lose precision [-Wimplicit-int-float-conversion]
return result == 0 ? (int) (memory / 1e6) : 0;
^~~~~~ ~
4 warnings generated.
[7/8] Building CXX object
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_gui_basics/juce_gui_basics.cpp.o
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:46:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_graphics/juce_graphics.h:58:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/juce_core.h:331:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/network/juce_URL.h:56:5:
warning: definition of implicit copy constructor for 'URL' is deprecated
because it has a user-declared destructor [-Wdeprecated-copy-with-dtor]
~URL() = default;
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp:32:6:
note: in implicit copy constructor for 'juce::URL' first required here
url (linkURL),
^
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:46:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_graphics/juce_graphics.h:58:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/juce_core.h:331:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/network/juce_URL.h:56:5:
warning: definition of implicit copy assignment operator for 'URL' is
deprecated because it has a user-declared destructor
[-Wdeprecated-copy-with-dtor]
~URL() = default;
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp:67:9:
note: in implicit copy assignment operator for 'juce::URL' first required
here
url = newURL;
^
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:166:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/drawables/juce_SVGParser.cpp:1751:15:
warning: definition of implicit copy constructor for 'SVGState' is
deprecated because it has a user-declared copy assignment operator
[-Wdeprecated-copy]
SVGState& operator= (const SVGState&) = delete;
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/drawables/juce_SVGParser.cpp:154:18:
note: in implicit copy constructor for 'juce::SVGState' first required here
SVGState newState (*this);
^
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:46:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:187:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/desktop/juce_Displays.h:170:5:
warning: definition of implicit copy constructor for 'Displays' is
deprecated because it has a user-declared destructor
[-Wdeprecated-copy-with-dtor]
~Displays() = default;
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/native/x11/juce_linux_X11_DragAndDrop.cpp:159:31:
note: in implicit copy constructor for 'juce::Displays' first required here
const auto displays = Desktop::getInstance().getDisplays();
^
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.cpp:46:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_graphics/juce_graphics.h:58:
In file included from
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/juce_core.h:255:
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/containers/juce_ElementComparator.h:44:28:
warning: definition of implicit copy constructor for
'SortFunctionConverter<juce::StringComparator>' is deprecated because it
has a user-declared copy assignment operator [-Wdeprecated-copy]
SortFunctionConverter& operator= (const SortFunctionConverter&) = delete;
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/containers/juce_ElementComparator.h:92:78:
note: in implicit copy constructor for
'juce::SortFunctionConverter<juce::StringComparator>' first required here
std::stable_sort (array + firstElement, array + lastElement + 1, converter);
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_core/containers/juce_Array.h:1112:9:
note: in instantiation of function template specialization
'juce::sortArray<juce::var, juce::StringComparator>' requested here
sortArray (comparator, values.begin(), 0, size() - 1, retainOrderOfEquivalentItems);
^
/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_gui_basics/properties/juce_MultiChoicePropertyComponent.cpp:90:18:
note: in instantiation of function template specialization
'juce::Array<juce::var, juce::DummyCriticalSection,
0>::sort<juce::StringComparator>' requested here
temp.sort (c);
^
5 warnings generated.
[8/8] Linking CXX executable
extras/Build/juceaide/juceaide_artefacts/Debug/juceaide
FAILED: extras/Build/juceaide/juceaide_artefacts/Debug/juceaide
: && /usr/bin/c++ -O2 -pipe -fstack-protector-strong -isystem
/usr/local/include -fno-strict-aliasing -DJUCE_CUSTOM_VST3_SDK=1 -fPIC
-isystem /usr/local/include -fstack-protector-strong
extras/Build/juceaide/CMakeFiles/juceaide.dir/Main.cpp.o
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/juce_build_tools/juce_build_tools.cpp.o
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_gui_basics/juce_gui_basics.cpp.o
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_graphics/juce_graphics.cpp.o
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_events/juce_events.cpp.o
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_core/juce_core.cpp.o
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_data_structures/juce_data_structures.cpp.o
-o extras/Build/juceaide/juceaide_artefacts/Debug/juceaide
-Wl,-rpath,/usr/local/lib /usr/local/lib/libfreetype.so -lexecinfo -lrt
-ldl -lpthread && :
ld: error: undefined symbol:
juce::pnglibNamespace::png_init_filter_functions_vsx(juce::pnglibNamespace::png_struct_def*,
unsigned int)
>>> referenced by pngrutil.c:4126
(/wrkdirs/usr/ports/audio/dexed/work/dexed-0.9.6-16-g1df9a58/libs/JUCE/modules/juce_graphics/image_formats/pnglib/pngrutil.c:4126)
>>>
extras/Build/juceaide/CMakeFiles/juceaide.dir/__/__/__/modules/juce_graphics/juce_graphics.cpp.o:(juce::pnglibNamespace::png_init_filter_functions(juce::pnglibNamespace::png_struct_def*))
c++: error: linker command failed with exit code 1 (use -v to see
invocation)
Downstream bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265446#c2
What is the expected behaviour?
success
Operating systems
Other
What versions of the operating systems?
FreeBSD 13.1
Architectures
64-bit
Stacktrace
n/a
Plug-in formats (if applicable)
Standalone
Plug-in host applications (DAWs) (if applicable)
n/a
Testing on the develop branch
I have not tested against the develop branch
Code of Conduct
- [X] I agree to follow the Code of Conduct
just a data-point: on Debian/ppc64el juceaide builds fine, at least for JUCE-7.0.1
https://buildd.debian.org/status/fetch.php?pkg=juce&arch=ppc64el&ver=7.0.1%7Eds0-1&stamp=1659651853
EDIT: on closer inspection I see that your error is about undefined symbols related to png. For the Debian package, we take care to properly link against the system's libpng, so that might explain why it works for us.