MayaPosch / NymphCast

Audio and video casting system with support for custom applications.
http://nyanko.ws/nymphcast.php
BSD 3-Clause "New" or "Revised" License
2.43k stars 82 forks source link

NymphCastPlayer no longer build on Arch Linux #82

Closed FabioLolix closed 1 year ago

FabioLolix commented 1 year ago

Hello, NymphCastPlayer used to build in the past

GCC v13.1.1

Complete build log: nymphcast-player-git-0.1.r48.gc79c225-1-x86_64-build.log

litehtml/include/litehtml/os_types.h:61: warning: "LITEHTML_UTF8" redefined
   61 |         #define LITEHTML_UTF8
      | 
<command-line>: note: this is the location of the previous definition
litehtml/include/litehtml/os_types.h:65:22: error: 'uintptr_t' in namespace 'std' does not name a type
   65 |         typedef std::uintptr_t                  uint_ptr;
      |                      ^~~~~~~~~
litehtml/include/litehtml/os_types.h:1:1: note: 'std::uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
  +++ |+#include <cstdint>
    1 | #ifndef LH_OS_TYPES_H
In file included from litehtml/include/litehtml/html.h:13:
litehtml/include/litehtml/types.h:170:17: error: 'uint_ptr' does not name a type; did you mean 'wint_t'?
  170 |                 uint_ptr                font;
      |                 ^~~~~~~~
      |                 wint_t
In file included from litehtml/include/litehtml/html_tag.h:4,
                 from litehtml/include/litehtml/html.h:16:
litehtml/include/litehtml/element.h:160:62: error: 'uint_ptr' has not been declared
  160 |                 virtual void                            draw(uint_ptr hdc, int x, int y, const position* clip);
      |                                                              ^~~~~~~~
litehtml/include/litehtml/element.h:161:74: error: 'uint_ptr' has not been declared
  161 |                 virtual void                            draw_background( uint_ptr hdc, int x, int y, const position* clip );
      |                                                                          ^~~~~~~~
litehtml/include/litehtml/element.h:163:25: error: 'uint_ptr' does not name a type; did you mean 'const_ptr'?
  163 |                 virtual uint_ptr                        get_font(font_metrics* fm = 0);
      |                         ^~~~~~~~
      |                         const_ptr
litehtml/include/litehtml/element.h:190:79: error: 'uint_ptr' has not been declared
  190 |                 virtual void                            draw_stacking_context(uint_ptr hdc, int x, int y, const position* clip, bool with_positioned);
      |                                                                               ^~~~~~~~
litehtml/include/litehtml/element.h:191:72: error: 'uint_ptr' has not been declared
  191 |                 virtual void                            draw_children( uint_ptr hdc, int x, int y, const position* clip, draw_flag flag, int zindex );
      |                                                                        ^~~~~~~~
litehtml/include/litehtml/html_tag.h:66:17: error: 'uint_ptr' does not name a type; did you mean 'const_ptr'?
   66 |                 uint_ptr                                m_font;
      |                 ^~~~~~~~
      |                 const_ptr
litehtml/include/litehtml/os_types.h:65:22: error: 'uintptr_t' in namespace 'std' does not name a type
   65 |         typedef std::uintptr_t                  uint_ptr;
      |                      ^~~~~~~~~
litehtml/include/litehtml/os_types.h:1:1: note: 'std::uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
  +++ |+#include <cstdint>
    1 | #ifndef LH_OS_TYPES_H
litehtml/include/litehtml/os_types.h:65:22: error: 'uintptr_t' in namespace 'std' does not name a type
   65 |         typedef std::uintptr_t                  uint_ptr;
      |                      ^~~~~~~~~
litehtml/include/litehtml/os_types.h:1:1: note: 'std::uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
  +++ |+#include <cstdint>
    1 | #ifndef LH_OS_TYPES_H
litehtml/include/litehtml/html_tag.h:165:62: error: 'uint_ptr' has not been declared
  165 |                 virtual void                            draw(uint_ptr hdc, int x, int y, const position* clip) override;
      |                                                              ^~~~~~~~

Schermata del 2023-06-10 18-06-19

error: 'uint_ptr' does not name a type; did you mean 'wint_t'?
   77 |                 uint_ptr                                                get_font(const tchar_t* name, int size, const tchar_t* weight, const tchar_t* style, const tchar_t* decoration, font_metrics* fm);
      |                 ^~~~~~~~
      |                 wint_t
litehtml/include/litehtml/document.h:79:78: error: 'uint_ptr' has not been declared
   79 |                 void                                                    draw(uint_ptr hdc, int x, int y, const position* clip);
      |                                                                              ^~~~~~~~

These are repeated quite a lot of times and at the end of the build there are some different ones

Schermata del 2023-06-10 18-20-18

MayaPosch commented 1 year ago

Same cause as #81, fix validated on current Manjaro. Please retest.

FabioLolix commented 1 year ago

Builds is working! Thank you again

I have a question and another issue

In the pkgbuilds is better to install also the .debug bin in the package? I'm not aware of packaging guidelines and rules that are pro or against so I refer to your opinion

The issue is that test here in NymphCast fails to build (building and performing tests is welcome)

Schermata del 2023-06-10 18-47-27

MayaPosch commented 1 year ago

The .debug binary is the unstripped version of the nymphcast binary and is only needed for debugging purposes. It should not be packaged for use by end-users unless they need to have access to debug symbols, I'd say.

The tests in the test folder can also be skipped with regular builds, as these are generally only used with debugging and profiling. They are not meant to be run as part of the build process, basically.

My apologies for the purpose of the tests folder being this unclear. I'll attempt to rectify it in the README.

FabioLolix commented 1 year ago

Thank you very much for your answers