From f6ceee3a4d789bc1b47a00d5672cefc99bb93c98 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Thu, 1 Aug 2024 13:33:41 +0800 Subject: Pipewire on Ubuntu README & specific on bug report and also decapitalise "In-world". --- CONTRIBUTING.md | 6 +++--- README.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 99876c8119..de04cf5683 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -29,7 +29,7 @@ developer-to-developer or support. roadmap. Github issues are useful for collaboration between viewer forks and the official upstream and when engineering-specific and technical collaboration is beneficial. -- The [In-world group][] and [Discord][] exist for many topics including content creation, +- The [in-world group][] and [Discord][] exist for many topics including content creation, scripting, social topics and more, and are useful for announcements and discussion between viewer maintainers. @@ -39,7 +39,7 @@ developer-to-developer or support. Report bugs and provide ideas for features using the respective board on Megapahit's feedback portal: -- [Viewer bugs and features](https://megapahit.com/enter_bug.cgi) +- [Viewer bugs and features](https://megapahit.com/enter_bug.cgi?product=Viewer) Creating posts on Bugzilla is important as it allows the greatest exposure and input from Second Life users. It also allows Megapahit staff to @@ -65,5 +65,5 @@ reference for best git practices. [IRC]: irc://megapahit.net/#viewer [PR etiquette]: https://gist.github.com/mikepea/863f63d6e37281e329f8 [Github issues]: https://github.com/megapahit/viewer/issues -[In-world group]: https://world.secondlife.com/group/1142646c-5fb2-162c-ecf8-c5e422ab5c6d +[in-world group]: https://world.secondlife.com/group/1142646c-5fb2-162c-ecf8-c5e422ab5c6d [Discord]: https://discord.gg/jpt33HPVEK diff --git a/README.md b/README.md index 8882d0f221..a920fde08e 100644 --- a/README.md +++ b/README.md @@ -198,7 +198,7 @@ $ megapahit #### Ubuntu 24.04 ``` -$ sudo apt install pkg-config libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libfltk1.3-dev libglu1-mesa-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnanosvg-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev +$ sudo apt install pkg-config libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libfltk1.3-dev libglu1-mesa-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnanosvg-dev libnghttp2-dev libpipewire-0.3-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE:STRING=amd64 -DCPACK_DEBIAN_PACKAGE_DESCRIPTION:STRING="A fork of the Second Life viewer" -DCPACK_DEBIAN_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_DEBIAN_PACKAGE_SECTION:STRING=net -DCPACK_DEBIAN_PACKAGE_DEPENDES:STRING="libaprutil1t64, libboost-fiber1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libcollada-dom2.5-dp0, libexpat1, libfltk2.0-0t64, libglu1-mesa, libhunspell-1.7-0, libjsoncpp25, libmeshoptimizer2d, libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0t64, vlc-plugin-base" ../../indra $ cmake ../../indra $ make -j`nproc` -- cgit v1.2.3 From 631e50e18719c52970c788dd70c19bd14e0d3a54 Mon Sep 17 00:00:00 2001 From: Erik Kundiman Date: Fri, 2 Aug 2024 06:42:48 +0800 Subject: Fix crash when opening map on higher-end Mx CPUs There's this comment in indra/llimage/llimagejpeg.cpp: //try/catch will crash on Mac and Linux if LLImageJPEG::errorExit throws an error //so as instead, we use setjmp/longjmp to avoid this crash, which is the best we can get. --bao but setjmp longjmp that aren't properly paired should be avoided on Apple Silicon (there are multiple setjmps but only 1 longjmp) so if it still crashes, then that might be because of the try and catch but if it doesn't crash any more, then the cause might just be improperly paired setjmp and longjmp https://megapahit.com/show_bug.cgi?id=34 --- indra/llimage/llimagejpeg.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/llimage/llimagejpeg.cpp b/indra/llimage/llimagejpeg.cpp index 93f1d0cdc4..a6da2f66ab 100644 --- a/indra/llimage/llimagejpeg.cpp +++ b/indra/llimage/llimagejpeg.cpp @@ -77,11 +77,13 @@ bool LLImageJPEG::updateData() //try/catch will crash on Mac and Linux if LLImageJPEG::errorExit throws an error //so as instead, we use setjmp/longjmp to avoid this crash, which is the best we can get. --bao // +#if !(LL_DARWIN && defined(__arm64__)) if(setjmp(sSetjmpBuffer)) { jpeg_destroy_decompress(&cinfo); return false; } +#endif try { // Now we can initialize the JPEG decompression object. @@ -218,11 +220,13 @@ bool LLImageJPEG::decode(LLImageRaw* raw_image, F32 decode_time) //try/catch will crash on Mac and Linux if LLImageJPEG::errorExit throws an error //so as instead, we use setjmp/longjmp to avoid this crash, which is the best we can get. --bao // +#if !(LL_DARWIN && defined(__arm64__)) if(setjmp(sSetjmpBuffer)) { jpeg_destroy_decompress(&cinfo); return true; // done } +#endif try { // Now we can initialize the JPEG decompression object. @@ -426,7 +430,9 @@ void LLImageJPEG::errorExit( j_common_ptr cinfo ) jpeg_destroy(cinfo); // Return control to the setjmp point +#if !(LL_DARWIN && defined(__arm64__)) longjmp(sSetjmpBuffer, 1) ; +#endif } // Decide whether to emit a trace or warning message. @@ -535,6 +541,7 @@ bool LLImageJPEG::encode( const LLImageRaw* raw_image, F32 encode_time ) //try/catch will crash on Mac and Linux if LLImageJPEG::errorExit throws an error //so as instead, we use setjmp/longjmp to avoid this crash, which is the best we can get. --bao // +#if !(LL_DARWIN && defined(__arm64__)) if( setjmp(sSetjmpBuffer) ) { // If we get here, the JPEG code has signaled an error. @@ -545,6 +552,7 @@ bool LLImageJPEG::encode( const LLImageRaw* raw_image, F32 encode_time ) mOutputBufferSize = 0; return false; } +#endif try { -- cgit v1.2.3