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

[Bug]: juceaide fails to build on powerpc64le #1094

Open
1 task done
yurivict opened this issue Jul 26, 2022 · 1 comment
Open
1 task done

[Bug]: juceaide fails to build on powerpc64le #1094

yurivict opened this issue Jul 26, 2022 · 1 comment

Comments

@yurivict
Copy link

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

  • I agree to follow the Code of Conduct
@umlaeute
Copy link

umlaeute commented Aug 19, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants