media-server-node: Unable to compile on MacOS 10.14.4
Since upgrading build tools and MacOS I seem to be unable to compile the C module. This is using the build tools from XCode.
There are a few errors which may be related to recent commits however the persistent ones that I think is causing the problems are:
error: aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is only available on macOS 10.14 or newer
result = (RTPSessionFacade *)new RTPSessionFacade(arg1);
error: aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on macOS 10.14 or newer
I had a go at trying to get it to compile but it looks like its related to llvm and clang which is a bit out of my depth.
There are also some errors around CPU code however I don’t believe they are specific to MacOS
> medooze-media-server@0.60.2 install /Users/dave/IdeaProjects/streaming-sfu/node_modules/medooze-media-server
> test -f build/Release/medooze-media-server.node || (node-gyp configure && node-gyp rebuild --jobs=max)
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/io/FileSystem_posix.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/io/FileSystem.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/io/File.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/io/File_posix.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/time/time_posix.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/time/time.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/process/process_posix.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/prog/option.o
../external/mp4v2/lib/libplatform/io/File.cpp:8:22: warning: unused variable '__maxChunkSize' [-Wunused-const-variable]
const File::Size __maxChunkSize = 1024*1024;
^
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/number/random_posix.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/libplatform/sys/error.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_mdat.o
1 warning generated.
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_d263.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_nmhd.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_dref.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_tx3g.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_text.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_mvhd.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_stbl.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_sdtp.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_ac3.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_gmin.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_pasp.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4info.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/ocidescriptors.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/exception.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_stz2.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4file.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_url.o
../external/mp4v2/lib/src/mp4info.cpp:383:17: warning: comparison of array 'originalFormat' not equal to a null pointer is always true [-Wtautological-pointer-compare]
if (originalFormat != NULL && originalFormat[0] != '\0')
^~~~~~~~~~~~~~ ~~~~
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_vpcC.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_smi.o
1 warning generated.
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_encv.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/isma.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/odcommands.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/bmff/typebmff.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_udta.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_meta.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4property.o
../external/mp4v2/lib/src/bmff/typebmff.cpp:517:40: warning: missing field 'compact' initializer [-Wmissing-field-initializers]
{ mp4v2::impl::bmff::ILC_UNDEFINED } // must be last
^
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_sound.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_hinf.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_mdhd.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_tfhd.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_s263.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_video.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_urn.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_colr.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_stsz.o
1 warning generated.
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_damr.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_rtp.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_chpl.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_treftype.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_uuid.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_enca.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_ftab.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_mp4v.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4file_io.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_free.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_ftyp.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_vpxx.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/descriptors.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/rtphint.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_dops.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/3gp.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_ohdr.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_tkhd.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_root.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/itmf/generic.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/itmf/CoverArtBox.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/itmf/type.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/itmf/Tags.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_amr.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_dac3.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/cmeta.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4track.o
../external/mp4v2/lib/src/itmf/type.cpp:54:39: warning: missing field 'compact' initializer [-Wmissing-field-initializers]
{ mp4v2::impl::itmf::BT_UNDEFINED } // must be last
^
../external/mp4v2/lib/src/itmf/type.cpp:190:42: warning: missing field 'compact' initializer [-Wmissing-field-initializers]
{ mp4v2::impl::itmf::GENRE_UNDEFINED } // must be last
^
../external/mp4v2/lib/src/itmf/type.cpp:206:41: warning: missing field 'compact' initializer [-Wmissing-field-initializers]
{ mp4v2::impl::itmf::STIK_UNDEFINED } // must be last
^
../external/mp4v2/lib/src/itmf/type.cpp:216:39: warning: missing field 'compact' initializer [-Wmissing-field-initializers]
{ mp4v2::impl::itmf::AT_UNDEFINED } // must be last
^
../external/mp4v2/lib/src/itmf/type.cpp:246:39: warning: missing field 'compact' initializer [-Wmissing-field-initializers]
{ mp4v2::impl::itmf::CC_UNDEFINED } // must be last
^
../external/mp4v2/lib/src/itmf/type.cpp:257:39: warning: missing field 'compact' initializer [-Wmissing-field-initializers]
{ mp4v2::impl::itmf::CR_UNDEFINED } // must be last
^
../external/mp4v2/lib/src/itmf/type.cpp:289:24: warning: missing field 'data' initializer [-Wmissing-field-initializers]
{ BT_UNDEFINED } // must be last
^
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_sdp.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_stsd.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4atom.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4container.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_elst.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4descriptor.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/mp4util.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/qosqualifiers.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_hdlr.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_hnti.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_standard.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_trun.o
7 warnings generated.
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_mp4s.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/log.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_href.o
../external/mp4v2/lib/src/atom_standard.cpp:181:26: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
ExpectChildAtom("<A9>enc", Optional, OnlyOne); /* Encoded by */
^~~~
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_vmhd.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_opus.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_stdp.o
1 warning generated.
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_avc1.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/qtff/PictureAspectRatioBox.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/qtff/coding.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/qtff/ColorParameterBox.o
../external/mp4v2/lib/src/atom_opus.cpp:64:62: warning: implicit conversion from 'int' to 'uint16_t' (aka 'unsigned short') changes value from -1149239296 to 0 [-Wconstant-conversion]
((MP4Integer16Property*)m_pProperties[6])->SetValue(48000<<16); //The samplerate field shall be set to 48000<<16.
~~~~~~~~ ~~~~~^~~~
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_avcC.o
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/atom_stsc.o
1 warning generated.
CXX(target) Release/obj.target/mp4v2/external/mp4v2/lib/src/text.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/srtp/ekt.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/srtp/srtp.o
../external/srtp/lib/srtp/srtp.c:801:23: warning: comparison of integers of different signs: 'int' and 'const unsigned long' [-Wsign-compare]
for (i = 0; i < policy->num_master_keys; i++) {
~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
../external/srtp/lib/srtp/srtp.c:861:23: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
for (i = 0; i < srtp->num_master_keys && i < SRTP_MAX_NUM_MASTER_KEYS; i++) {
~ ^ ~~~~~~~~~~~~~~~~~~~~~
../external/srtp/lib/srtp/srtp.c:4070:22: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (*pkt_octet_len < octets_in_rtcp_header + sizeof(srtcp_trailer_t))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/cipher/aes.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/cipher/cipher.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/cipher/null_cipher.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/hash/auth.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/hash/null_auth.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/kernel/alloc.o
../external/srtp/lib/crypto/cipher/cipher.c:306:17: warning: comparison of integers of different signs: 'unsigned int' and 'const int' [-Wsign-compare]
if (len != test_case->ciphertext_length_octets) {
~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../external/srtp/lib/crypto/cipher/cipher.c:391:17: warning: comparison of integers of different signs: 'unsigned int' and 'const int' [-Wsign-compare]
if (len != test_case->plaintext_length_octets) {
~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../external/srtp/lib/crypto/cipher/cipher.c:566:20: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
if (length != plaintext_len) {
~~~~~~ ^ ~~~~~~~~~~~~~
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/kernel/crypto_kernel.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/kernel/err.o
3 warnings generated.
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/kernel/key.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/math/datatypes.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/math/stat.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/replay/rdb.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/replay/rdbx.o
3 warnings generated.
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/replay/ut_sim.o
../external/srtp/lib/crypto/replay/rdb.c:111:15: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (delta < rdb_bits_in_bitmask) {
~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/cipher/aes_gcm_ossl.o
1 warning generated.
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/cipher/aes_icm_ossl.o
CC(target) Release/obj.target/libsrtp/external/srtp/lib/crypto/hash/hmac_ossl.o
LIBTOOL-STATIC Release/libmp4v2.a
../external/srtp/lib/crypto/cipher/aes_gcm_ossl.c:274:12: warning: comparison of integers of different signs: 'int' and 'uint32_t' (aka 'unsigned int') [-Wsign-compare]
if (rv != aad_len) {
~~ ^ ~~~~~~~
1 warning generated.
../external/srtp/lib/crypto/hash/hmac_ossl.c:196:13: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
if (len < tag_len)
~~~ ^ ~~~~~~~
1 warning generated.
LIBTOOL-STATIC Release/srtp.a
CXX(target) Release/obj.target/medooze-media-server/src/media-server_wrap.o
CXX(target) Release/obj.target/medooze-media-server/media-server/ext/crc32c/src/crc32c.o
CXX(target) Release/obj.target/medooze-media-server/media-server/ext/crc32c/src/crc32c_portable.o
CXX(target) Release/obj.target/medooze-media-server/media-server/ext/libdatachannels/src/Datachannels.o
CXX(target) Release/obj.target/medooze-media-server/media-server/src/ActiveSpeakerDetector.o
CXX(target) Release/obj.target/medooze-media-server/media-server/src/EventLoop.o
CXX(target) Release/obj.target/medooze-media-server/media-server/src/RTPBundleTransport.o
CXX(target) Release/obj.target/medooze-media-server/media-server/src/DTLSICETransport.o
CXX(target) Release/obj.target/medooze-media-server/media-server/src/VideoLayerSelector.o
../src/media-server_wrap.cxx:1499:3: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
obj->SetAccessor(SWIGV8_CURRENT_CONTEXT(), SWIGV8_SYMBOL_NEW(symbol), getter, setter);
^~~~~~~~~~~~~~~~
CXX(target) Release/obj.target/medooze-media-server/media-server/src/h264/h264depacketizer.o
In file included from ../media-server/src/RTPBundleTransport.cpp:24:
In file included from ../media-server/include/rtp.h:17:
../media-server/include/rtp/RTPPacket.h:56:35: warning: all paths through this function will call itself [-Winfinite-recursion]
void SetType(DWORD payloadType) { SetType(payloadType); } //Deprecated
^
In file included from ../media-server/src/DTLSICETransport.cpp:28:
In file included from ../media-server/include/rtp.h:17:
../media-server/include/rtp/RTPPacket.h:56:35: warning: all paths through this function will call itself [-Winfinite-recursion]
void SetType(DWORD payloadType) { SetType(payloadType); } //Deprecated
^
../media-server/src/EventLoop.cpp:32:9: error: unknown type name 'cpu_set_t'
cpu_set_t cpuset;
^
../media-server/src/EventLoop.cpp:43:19: error: use of undeclared identifier 'CPU_SETSIZE'
for (int j=0; j<CPU_SETSIZE ; j++)
^
../media-server/src/EventLoop.cpp:48:82: error: use of undeclared identifier 'cpu_set_t'; did you mean 'cpuset'?
return !pthread_setaffinity_np((pthread_t)thread.native_handle(), sizeof(cpu_set_t), &cpuset);
^~~~~~~~~
cpuset
../media-server/src/EventLoop.cpp:32:19: note: 'cpuset' declared here
cpu_set_t cpuset;
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:7:
../media-server/ext/libdatachannels/src/sctp/Chunk.cpp:14:9: warning: enumeration value 'PAD' not handled in switch [-Wswitch]
switch((Type)reader.Peek1())
^
../media-server/ext/libdatachannels/src/sctp/Chunk.cpp:14:9: note: add missing switch cases
switch((Type)reader.Peek1())
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:8:
../media-server/ext/libdatachannels/src/sctp/chunks/AbortAssociationChunk.cpp:43:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/AbortAssociationChunk.cpp:46:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/AbortAssociationChunk.cpp:45:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/src/VideoLayerSelector.cpp:2:
In file included from ../media-server/include/VideoLayerSelector.h:6:
In file included from ../media-server/include/rtp.h:17:
../media-server/include/rtp/RTPPacket.h:56:35: warning: all paths through this function will call itself [-Winfinite-recursion]
void SetType(DWORD payloadType) { SetType(payloadType); } //Deprecated
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:9:
../media-server/ext/libdatachannels/src/sctp/chunks/HeartbeatRequestChunk.cpp:61:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/HeartbeatRequestChunk.cpp:64:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/HeartbeatRequestChunk.cpp:63:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:10:
../media-server/ext/libdatachannels/src/sctp/chunks/HeartbeatAckChunk.cpp:61:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/HeartbeatAckChunk.cpp:64:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/HeartbeatAckChunk.cpp:63:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:11:
../media-server/ext/libdatachannels/src/sctp/chunks/OperationErrorChunk.cpp:48:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/OperationErrorChunk.cpp:45:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/OperationErrorChunk.cpp:47:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:12:
../media-server/ext/libdatachannels/src/sctp/chunks/SelectiveAcknowledgementChunk.cpp:74:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/SelectiveAcknowledgementChunk.cpp:76:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:13:
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownCompleteChunk.cpp:48:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownCompleteChunk.cpp:45:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownCompleteChunk.cpp:47:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:14:
../media-server/ext/libdatachannels/src/sctp/chunks/CookieAckChunk.cpp:43:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/CookieAckChunk.cpp:46:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/CookieAckChunk.cpp:45:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:15:
../media-server/ext/libdatachannels/src/sctp/chunks/InitiationAcknowledgementChunk.cpp:183:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
../media-server/ext/libdatachannels/src/sctp/chunks/InitiationAcknowledgementChunk.cpp:184:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/InitiationAcknowledgementChunk.cpp:181:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:16:
../media-server/ext/libdatachannels/src/sctp/chunks/PayloadDataChunk.cpp:60:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:17:
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownAcknowledgementChunk.cpp:45:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownAcknowledgementChunk.cpp:48:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownAcknowledgementChunk.cpp:47:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:18:
../media-server/ext/libdatachannels/src/sctp/chunks/CookieEchoChunk.cpp:54:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
../media-server/ext/libdatachannels/src/sctp/chunks/CookieEchoChunk.cpp:52:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
CXX(target) Release/obj.target/medooze-media-server/media-server/src/vp8/vp8depacketizer.o
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:19:
../media-server/ext/libdatachannels/src/sctp/chunks/InitiationChunk.cpp:195:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/InitiationChunk.cpp:197:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
../media-server/ext/libdatachannels/src/sctp/chunks/InitiationChunk.cpp:198:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:20:
../media-server/ext/libdatachannels/src/sctp/chunks/ReConfigChunk.cpp:45:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ReConfigChunk.cpp:48:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ReConfigChunk.cpp:47:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:21:
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownAssociationChunk.cpp:45:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownAssociationChunk.cpp:48:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ShutdownAssociationChunk.cpp:47:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:22:
../media-server/ext/libdatachannels/src/sctp/chunks/ForwardCumulativeTSNChunk.cpp:47:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
../media-server/ext/libdatachannels/src/sctp/chunks/ForwardCumulativeTSNChunk.cpp:45:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
../media-server/ext/libdatachannels/src/sctp/chunks/ForwardCumulativeTSNChunk.cpp:48:11: warning: unused variable 'length' [-Wunused-variable]
uint16_t length = reader.Get2();
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:24:
../media-server/ext/libdatachannels/src/sctp/chunks/PaddingChunk.cpp:54:10: warning: unused variable 'flag' [-Wunused-variable]
uint8_t flag = reader.Get1(); //Ignored, should be 0
^
../media-server/ext/libdatachannels/src/sctp/chunks/PaddingChunk.cpp:52:9: warning: unused variable 'mark' [-Wunused-variable]
size_t mark = reader.Mark();
^
In file included from ../media-server/src/h264/h264depacketizer.cpp:8:
In file included from ../media-server/src/h264/h264depacketizer.h:10:
In file included from ../media-server/include/rtp.h:17:
../media-server/include/rtp/RTPPacket.h:56:35: warning: all paths through this function will call itself [-Winfinite-recursion]
void SetType(DWORD payloadType) { SetType(payloadType); } //Deprecated
^
In file included from ../src/media-server_wrap.cxx:1624:
In file included from ../src/../media-server/include/rtp.h:17:
../media-server/include/rtp/RTPPacket.h:56:35: warning: all paths through this function will call itself [-Winfinite-recursion]
void SetType(DWORD payloadType) { SetType(payloadType); } //Deprecated
^
3 errors generated.
make: *** [Release/obj.target/medooze-media-server/media-server/src/EventLoop.o] Error 1
make: *** Waiting for unfinished jobs....
../media-server/src/RTPBundleTransport.cpp:226:14: error: use of undeclared identifier 'IP_PMTUDISC_DO'
int pmtu = IP_PMTUDISC_DO;
^
../media-server/src/RTPBundleTransport.cpp:227:34: error: use of undeclared identifier 'IP_MTU_DISCOVER'
setsockopt(socket, IPPROTO_IP, IP_MTU_DISCOVER, &pmtu, sizeof(pmtu));
^
In file included from ../media-server/src/VideoLayerSelector.cpp:2:
In file included from ../media-server/include/VideoLayerSelector.h:5:
../media-server/include/codecs.h:128:25: warning: unused function 'GetMediaForCodec' [-Wunused-function]
static MediaFrame::Type GetMediaForCodec(BYTE codec)
^
../media-server/src/RTPBundleTransport.cpp:290:13: error: use of undeclared identifier 'IP_PMTUDISC_DO'
int pmtu = IP_PMTUDISC_DO;
^
../media-server/src/RTPBundleTransport.cpp:291:33: error: use of undeclared identifier 'IP_MTU_DISCOVER'
setsockopt(socket, IPPROTO_IP, IP_MTU_DISCOVER, &pmtu, sizeof(pmtu));
^
../media-server/src/RTPBundleTransport.cpp:340:55: warning: format specifies type 'unsigned short' but the argument has type 'uint8_t' (aka 'unsigned char') [-Wformat]
snprintf(remote,sizeof(remote),"%hu.%hu.%hu.%hu:%hu",get1(host,3), get1(host,2), get1(host,1), get1(host,0), port);
~~~ ^~~~~~~~~~~~
%hhu
../media-server/src/RTPBundleTransport.cpp:340:69: warning: format specifies type 'unsigned short' but the argument has type 'uint8_t' (aka 'unsigned char') [-Wformat]
snprintf(remote,sizeof(remote),"%hu.%hu.%hu.%hu:%hu",get1(host,3), get1(host,2), get1(host,1), get1(host,0), port);
~~~ ^~~~~~~~~~~~
%hhu
../media-server/src/RTPBundleTransport.cpp:340:83: warning: format specifies type 'unsigned short' but the argument has type 'uint8_t' (aka 'unsigned char') [-Wformat]
snprintf(remote,sizeof(remote),"%hu.%hu.%hu.%hu:%hu",get1(host,3), get1(host,2), get1(host,1), get1(host,0), port);
~~~ ^~~~~~~~~~~~
%hhu
../media-server/src/RTPBundleTransport.cpp:340:97: warning: format specifies type 'unsigned short' but the argument has type 'uint8_t' (aka 'unsigned char') [-Wformat]
snprintf(remote,sizeof(remote),"%hu.%hu.%hu.%hu:%hu",get1(host,3), get1(host,2), get1(host,1), get1(host,0), port);
~~~ ^~~~~~~~~~~~
%hhu
2 warnings generated.
In file included from ../media-server/src/h264/h264depacketizer.cpp:8:
In file included from ../media-server/src/h264/h264depacketizer.h:10:
In file included from ../media-server/include/rtp.h:14:
In file included from ../media-server/include/rtp/RTPMap.h:18:
../media-server/include/codecs.h:128:25: warning: unused function 'GetMediaForCodec' [-Wunused-function]
static MediaFrame::Type GetMediaForCodec(BYTE codec)
^
../src/media-server_wrap.cxx:1713:9: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
Nan::MakeCallback(local, callback, i, argv2);
^
../node_modules/nan/nan.h:959:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:103:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/media-server_wrap.cxx:1951:9: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
Nan::MakeCallback(local, callback, i, argv2);
^
../node_modules/nan/nan.h:959:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:103:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
In file included from ../media-server/src/vp8/vp8depacketizer.cpp:8:
In file included from ../media-server/src/vp8/vp8depacketizer.h:10:
In file included from ../media-server/include/rtp.h:17:
../media-server/include/rtp/RTPPacket.h:56:35: warning: all paths through this function will call itself [-Winfinite-recursion]
void SetType(DWORD payloadType) { SetType(payloadType); } //Deprecated
^
2 warnings generated.
../src/media-server_wrap.cxx:2089:9: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
Nan::MakeCallback(local, callback, i, argv2);
^
../node_modules/nan/nan.h:959:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:103:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:2:
In file included from ../media-server/ext/libdatachannels/src/Datachannel.cpp:1:
In file included from ../media-server/ext/libdatachannels/src/Datachannel.h:5:
../media-server/ext/libdatachannels/src/sctp/Stream.h:38:15: warning: private field 'association' is not used [-Wunused-private-field]
Association &association;
^
In file included from ../media-server/ext/libdatachannels/src/Datachannels.cpp:3:
In file included from ../media-server/ext/libdatachannels/src/Endpoint.cpp:1:
In file included from ../media-server/ext/libdatachannels/src/Endpoint.h:4:
../media-server/ext/libdatachannels/src/sctp/Association.h:87:11: warning: private field 'remoteAdvertisedReceiverWindowCredit' is not used [-Wunused-private-field]
uint32_t remoteAdvertisedReceiverWindowCredit = 0;
^
../media-server/ext/libdatachannels/src/sctp/Association.h:99:9: warning: private field 'numberOfPacketsWithoutAcknowledge' is not used [-Wunused-private-field]
size_t numberOfPacketsWithoutAcknowledge = 0;
^
../src/media-server_wrap.cxx:2238:9: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
Nan::MakeCallback(local, callback, i, argv2);
^
../node_modules/nan/nan.h:959:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:103:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/media-server_wrap.cxx:2306:9: warning: 'MakeCallback' is deprecated [-Wdeprecated-declarations]
Nan::MakeCallback(local, callback, i, argv2);
^
../node_modules/nan/nan.h:959:3: note: 'MakeCallback' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
^
../node_modules/nan/nan.h:103:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/media-server_wrap.cxx:13709:32: error: aligned allocation function of type 'void *(unsigned long, enum std::align_val_t)' is only available on macOS 10.14 or newer
result = (RTPSessionFacade *)new RTPSessionFacade(arg1);
^
../src/media-server_wrap.cxx:13709:32: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic
../src/media-server_wrap.cxx:1842:10: error: aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on macOS 10.14 or newer
virtual ~RTPSessionFacade() = default;
^
../src/media-server_wrap.cxx:14055:13: note: in implicit destructor for 'RTPSessionFacade' first required here
delete arg1;
^
../src/media-server_wrap.cxx:1842:10: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic
virtual ~RTPSessionFacade() = default;
^
../src/media-server_wrap.cxx:14055:13: error: aligned deallocation function of type 'void (void *, enum std::align_val_t) noexcept' is only available on macOS 10.14 or newer
delete arg1;
^
../src/media-server_wrap.cxx:14055:13: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic
5 warnings and 4 errors generated.
make: *** [Release/obj.target/medooze-media-server/media-server/src/RTPBundleTransport.o] Error 1
In file included from ../media-server/src/vp8/vp8depacketizer.cpp:8:
In file included from ../media-server/src/vp8/vp8depacketizer.h:10:
In file included from ../media-server/include/rtp.h:14:
In file included from ../media-server/include/rtp/RTPMap.h:18:
../media-server/include/codecs.h:128:25: warning: unused function 'GetMediaForCodec' [-Wunused-function]
static MediaFrame::Type GetMediaForCodec(BYTE codec)
^
2 warnings generated.
In file included from ../src/media-server_wrap.cxx:1624:
In file included from ../media-server/include/rtp.h:39:
In file included from ../media-server/include/rtp/RTPIncomingSourceGroup.h:15:
In file included from ../media-server/include/remoterateestimator.h:12:
In file included from ../media-server/include/remoteratecontrol.h:13:
../media-server/include/EventSource.h:23:8: warning: private field 'source' is not used [-Wunused-private-field]
char* source;
^
8 warnings and 3 errors generated.
make: *** [Release/obj.target/medooze-media-server/src/media-server_wrap.o] Error 1
47 warnings generated.
1 warning generated.
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/dave/.nvm/versions/node/v8.10.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Darwin 18.5.0
gyp ERR! command "/Users/dave/.nvm/versions/node/v8.10.0/bin/node" "/Users/dave/.nvm/versions/node/v8.10.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--jobs=max"
gyp ERR! cwd /Users/dave/IdeaProjects/streaming-sfu/node_modules/medooze-media-server
gyp ERR! node -v v8.10.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! medooze-media-server@0.60.2 install: `test -f build/Release/medooze-media-server.node || (node-gyp configure && node-gyp rebuild --jobs=max)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the medooze-media-server@0.60.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/dave/.npm/_logs/2019-04-09T13_08_48_492Z-debug.log
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 16 (9 by maintainers)
Commits related to this issue
- Fix apple compilation (https://github.com/medooze/media-server-node/issues/73) — committed to medooze/media-server by murillo128 5 years ago
- Mem handling enhancements and fix for mac (#73) — committed to medooze/media-server-node by murillo128 5 years ago
should be fixed now, please reopen if the issue on mac persist.
Yes that did compile 😃
@murillo128 I test on travis https://travis-ci.org/notedit/media-server-node/jobs/520591612
macos 10.13.6 works fine.
macos 10.14.4 have this error.