patriciogonzalezvivo / glslViewer

Console-based GLSL Sandbox for 2D/3D shaders
BSD 3-Clause "New" or "Revised" License
4.62k stars 350 forks source link

glslViewer crashes on mac immediately upon opening #294

Closed jacklion710 closed 1 year ago

jacklion710 commented 1 year ago

Currently, I am following the instructions from this related link: https://github.com/patriciogonzalezvivo/glslViewer/wiki/Installing If I follow the all of the steps to compile then use the terminal to type: cd glslViewer cd examples glslViewer 2D/00_tests/test.frag glslViewer launches and then immediately crashes leaving this in the terminal

Segmentation fault: 11

The same thing happens if I try any other file from the examples folder

I am on MacOS Catalina 10.15.7 (Intel)

jacklion710 commented 1 year ago

Any idea what could be causing this? I had deleted a previous version of glslViewer before trying to compile it by source. I wonder if it's possible this might have had something to do with it?

patriciogonzalezvivo commented 1 year ago

Use ‘whereis glslViewer’ and/or ‘which glslViewer’ on the terminal. That should tell you all glslViewer versions on your computer. Remove them, make a new recursive clone of the glslViewer, compile and install according to the instructions. Make sure you don’t use brew to install it.

Let’s se if that helps.

❤️

On Oct 20, 2022, at 7:10 PM, jacklion710 @.***> wrote:

 Any idea what could be causing this? I had deleted a previous version of glslViewer before trying to compile it by source. I wonder if it's possible this might have had something to do with it?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

jacklion710 commented 1 year ago

Hey, thanks for the tip. Doesn't seem to be working still. after deleting everything related to glslViewer, I tried compiling from source again to no avail

patriciogonzalezvivo commented 1 year ago

what happens when you do ‘./glslViewer -v’ ?

On Oct 20, 2022, at 7:49 PM, jacklion710 @.***> wrote:

 Hey, thanks for the tip. Doesn't seem to be working still. after deleting everything related to glslViewer, I tried compiling from source again to no avail

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

jacklion710 commented 1 year ago

Then the terminal returns: -bash: ./glslViewer: is a directory

patriciogonzalezvivo commented 1 year ago

You will need to ‘cd’ into the build folder

Sent from my iPhone

On Oct 20, 2022, at 8:06 PM, jacklion710 @.***> wrote:

 Then the terminal returns: -bash: ./glslViewer: is a directory

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.

jacklion710 commented 1 year ago

Ah, in that case I then get: 3.0.1 GlslViewer 3.0.1 by Patricio Gonzalez Vivo ( http://patriciogonzalezvivo.com )

This is a flexible console-base OpenGL Sandbox to display 2D/3D GLSL shaders without the need of an UI. You can definitely make your own IDE or UI that communicates back/forth with glslViewer thought the standard POSIX console In/Out or OSC.

For more information:

Usage: ./glslViewer .frag [.vert .obj|ply|stl|glb|gltf]

Optional arguments:

  <texture>.(png/tga/jpg/bmp/psd/gif/hdr/mov/mp4/rtsp/rtmp/etc)   # load and assign texture to uniform u_tex<N>
  -<uniform_name> <texture>.(png/tga/jpg/bmp/psd/gif/hdr)         # load a textures with a custom name
  --video <video_device_number>   # open video device allocated wit that particular id
  --audio [<capture_device_id>]   # open audio capture device as sampler2D texture 
  -C <enviromental_map>.(png/tga/jpg/bmp/psd/gif/hdr)     # load a env. map as cubemap
  -c <enviromental_map>.(png/tga/jpg/bmp/psd/gif/hdr)     # load a env. map as cubemap but hided
  -sh <enviromental_map>.(png/tga/jpg/bmp/psd/gif/hdr)    # load a env. map as spherical harmonics array
  -vFlip                      # all textures after will be flipped vertically
  -x <pixels>                 # set the X position of the billboard on the screen
  -y <pixels>                 # set the Y position of the billboard on the screen
  -w <pixels>                 # set the width of the window
  -h <pixels>                 # set the height of the billboard
  -d  or --display <display>  # open specific display port. Ex: -d /dev/dri/card1
  -f  or --fullscreen         # load the window in fullscreen
  -l  or --life-coding        # live code mode, where the billboard is allways visible
  -ss or --screensaver        # screensaver mode, any pressed key will exit
  --headless                  # headless rendering
  --nocursor                  # hide cursor
  --noncurses                 # disable ncurses command interface
  --fps <fps>                 # fix the max FPS
  --fxaa                      # set FXAA as postprocess filter
  --quilt <0-7>               # quilt render (HoloPlay)
  --lenticular <visual.json>  # lenticular calubration file, Looking Glass Model (HoloPlay)
  -I<include_folder>          # add an include folder to default for #include files
  -D<define>                  # add system #defines directly from the console argument
  -p <OSC_port>               # open OSC listening port
  -e  or -E <command>         # execute command when start. Multiple -e commands can be stack
  -v  or --version            # return glslViewer version
  --verbose                   # turn verbose outputs on
  --help                      # print help for one or all command
patriciogonzalezvivo commented 1 year ago

and what happens when from that folder you do:

./glslViewer ../examples/2D/00_tests/test.frag -l 
jacklion710 commented 1 year ago

At that point, glslViewer will launch and immediately crash and give: Segmentation fault: 11

pretty much the same sequence of events as if I were to try and open it normally.

patriciogonzalezvivo commented 1 year ago

Wasn't able to replicate your error on a M1... but did catch other Segmentation fault: 11 when saving. Do you mind updating to latest (git pull) and compile again?

jacklion710 commented 1 year ago

Sure thing. After updating and compiling, git pull reports that it is now up to date. However I still seem to be getting the same error as well as the segmentation fault. Just to be clear, I am using an intel mac with Catalina. Worst case scenario I will still be able to use it on my PC for the upcoming class.

patriciogonzalezvivo commented 1 year ago

To double check, you update the repo and then compile it again. Right?

jacklion710 commented 1 year ago

Actually, I had deleted the repo from my computer and began the process over again which included recompiling. But after you asked, I tried making sure I didn't miss it by updating with 'git pull' and then recompiling. Now it says version 3.0.4 but I still get the same issue when using './glslViewer ../examples/2D/00_tests/test.frag -l'

ppscvalentin commented 1 year ago

I went through the same thing with a fresh copy. Running on Intel Mac with Catalina. Segmentation fault: 11 and immediately crashes.

P.S.: See you guys in class :)

patriciogonzalezvivo commented 1 year ago

Mmm... this one is weird one. I got a M1 Mac Book Pro and I can not replicate the issue on my side. : (

Do you mind mind sharing the output of:

whereis glslViewer
jacklion710 commented 1 year ago

Sure, I guess it returned nothing... But here is what I see:

JackLions-MBP:~ jacobleone$ whereis glslViewer JackLions-MBP:~ jacobleone$

My guess is probably not very educated in regards to this issue, but I do wonder if there is something in the security settings that is blocking it from launching. I wasn't able to locate anything that jumped out to me when I checked but I would be willing to help you dig deeper on this if you wish. If not then don't sweat it too much for now!

Do you think it might possibly work if I upgraded to a newer version of macOS?

dextor commented 1 year ago

I am experiencing the same issue. Intel Macbook, OS 10.15.4. After following all of the install instructions (not via brew), glslViewer is installed at /usr/local/bin/glslViewer. Do you see any issues with using openFrameworks or TouchDesigner to follow along during class on Tuesday? Thank you!

ppscvalentin commented 1 year ago

I do wonder if there is something in the security settings

@jacklion710 I was thinking the same thing, but I don't know how to check.

patriciogonzalezvivo commented 1 year ago

Seems like everyone in this thread is running Catalina on an Intel Macbook. Not that means anything... just trying to find a pattern

patriciogonzalezvivo commented 1 year ago

I just solve a segmentation fault associated to multiple double buffers https://github.com/patriciogonzalezvivo/glslViewer/commit/1cb2b4629d0b52db4040d34b12d593b53e637342 in case you want to see if it's related to your case

ppscvalentin commented 1 year ago

@patriciogonzalezvivo I just rebuilt glslViewer and I get the same error. Please take this kindly :) but the course is on shader workflow and this piece seems to be crucial. I would love it if I could follow along live, but if that's not possible, at least later with the recording.

Let me know if you need me to share a screen or run some tests.

patriciogonzalezvivo commented 1 year ago

@ppscvalentin @dextor @jacklion710 I'm really sorry this issue is taking so long to resolve. Specially on the look for the upcoming workshop. I'm getting and old mac book so I can try to replicate the issue [fingers crossed] but probably will not happen before tomorrow class. Hope you can understand. On the bright side, the class will be recorded and you will have access to it for a year. Thanks for your patience.

jacklion710 commented 1 year ago

Nothing to worry about @patriciogonzalezvivo I can still follow along with glslViewer on my PC tomorrow so no big deal. I admire your determination to make this work for everyone! Feel free to reach me later on if you make some progress or need me to test a new build.

dextor commented 1 year ago

Thanks @patriciogonzalezvivo , I know class is going to be awesome and there's no reason for this be a blocker to that!
If I may make a suggestion - perhaps list some alternative editors on the class website for students who are on Intel Macs to use for following along during class. There are many options out there. I forsee this issue taking up a lot of time at the beginning of class if there are other students who encounter the same issue at that time. Precautionary Solar Eclipse move ;)

ccase28 commented 1 year ago

Hi, I am getting the same issue on Mac Monterrey with an ARM M1 mac. So I don't think the issue is isolated to old intel macs

patriciogonzalezvivo commented 1 year ago

Ok, this could be an actually lead (or a total read hearing). Wonder if you had ffmpeg installed through brew before compiling. If so did you uninstall it before installing through:

brew install ffmpeg --build-from-source

As a side note, I'm running on Apple M1 Pro with MacOS Monterey my self with no issues. Ffmpeg was install through aboves command and if I brew list ffmpeg I get this:

[~/Desktop/glslViewer]$ brew list ffmpeg
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/aviocat
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/bisect-create
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/cl2c
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/clean-diff
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/crypto_bench
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/cws2fws
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/dvd2concat
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/enum_options
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/ffescape
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/ffeval
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/ffhash
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/ffmpeg
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/ffplay
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/ffprobe
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/fourcc2pixfmt
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/gen-rc
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/graph2dot
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/ismindex
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/libav-merge-next-commit
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/loudnorm.rb
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/make_chlayout_test
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/missing_codec_desc
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/murge
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/normalize.py
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/patcheck
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/pktdumper
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/plotframes
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/probetest
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/qt-faststart
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/scale_slice_test
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/seek_print
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/sidxindex
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/target_dec_fate.sh
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/trasher
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/uncoded_frame
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/unwrap-diff
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/venc_data_dump
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/zmqsend
/opt/homebrew/Cellar/ffmpeg/5.1.2/bin/zmqshell.py
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/ (25 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavdevice/ (3 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavfilter/ (5 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavformat/ (4 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavutil/ (91 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libpostproc/ (3 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libswresample/ (3 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libswscale/ (3 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/libavcodec.59.37.100.dylib
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/libavdevice.59.7.100.dylib
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/libavfilter.8.44.100.dylib
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/libavformat.59.27.100.dylib
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/libavutil.57.28.100.dylib
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/libpostproc.56.6.100.dylib
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/libswresample.4.7.100.dylib
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/libswscale.6.7.100.dylib
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/pkgconfig/ (8 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/lib/ (24 other files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/share/ffmpeg/ (35 files)
/opt/homebrew/Cellar/ffmpeg/5.1.2/share/man/ (22 files)

Ncurses it's also installed through brew in this version:

[~/Desktop/glslViewer]$ brew list ncurses                                                                                                                                                            
/opt/homebrew/Cellar/ncurses/6.3/bin/captoinfo
/opt/homebrew/Cellar/ncurses/6.3/bin/clear
/opt/homebrew/Cellar/ncurses/6.3/bin/infocmp
/opt/homebrew/Cellar/ncurses/6.3/bin/infotocap
/opt/homebrew/Cellar/ncurses/6.3/bin/ncurses6-config
/opt/homebrew/Cellar/ncurses/6.3/bin/ncursesw6-config
/opt/homebrew/Cellar/ncurses/6.3/bin/reset
/opt/homebrew/Cellar/ncurses/6.3/bin/tabs
/opt/homebrew/Cellar/ncurses/6.3/bin/tic
/opt/homebrew/Cellar/ncurses/6.3/bin/toe
/opt/homebrew/Cellar/ncurses/6.3/bin/tput
/opt/homebrew/Cellar/ncurses/6.3/bin/tset
/opt/homebrew/Cellar/ncurses/6.3/include/ncursesw/ (20 files)
/opt/homebrew/Cellar/ncurses/6.3/include/ (6 files)
/opt/homebrew/Cellar/ncurses/6.3/lib/libformw.6.dylib
/opt/homebrew/Cellar/ncurses/6.3/lib/libmenuw.6.dylib
/opt/homebrew/Cellar/ncurses/6.3/lib/libncurses++w.6.dylib
/opt/homebrew/Cellar/ncurses/6.3/lib/libncursesw.6.dylib
/opt/homebrew/Cellar/ncurses/6.3/lib/libpanelw.6.dylib
/opt/homebrew/Cellar/ncurses/6.3/lib/pkgconfig/ (9 files)
/opt/homebrew/Cellar/ncurses/6.3/lib/ (37 other files)
/opt/homebrew/Cellar/ncurses/6.3/share/man/ (898 files)
/opt/homebrew/Cellar/ncurses/6.3/share/tabset/ (4 files)
/opt/homebrew/Cellar/ncurses/6.3/share/terminfo/ (2819 files)
/opt/homebrew/Cellar/ncurses/6.3/test/package/ (23 files)
/opt/homebrew/Cellar/ncurses/6.3/test/ (129 files)

Another thing to check is your GCC compiler version you have:

[~/Desktop/glslViewer/build]$ gcc --version                                                                                                                                                           
Apple clang version 14.0.0 (clang-1400.0.29.102)
Target: arm64-apple-darwin21.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Last thing to double check is where you are sourcing you OpenGL framework. At the begining of the compilation you should see some data about it:

[~/Desktop/glslViewer/build]$ make                                                                                                                                                                    
-- Including Cocoa support
-- OPENGL_LIBRARIES: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/System/Library/Frameworks/OpenGL.framework;/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/System/Library/Frameworks/OpenGL.framework
-- OPENGL_opengl_LIBRARY: 
-- LIBAV Supported
-- USING GLFW DRIVERS
-- PLATFORM OSX
...

Sorry for all this troubles. If you can give some feedback on it while I revive my older laptop

jacklion710 commented 1 year ago

For ffmpeg I get this:

JackLions-MBP:glslViewer jacobleone$ brew list ffmpeg Error: No such keg: /usr/local/Cellar/ffmpeg JackLions-MBP:glslViewer jacobleone$ cd build JackLions-MBP:build jacobleone$ brew list ffmpeg Error: No such keg: /usr/local/Cellar/ffmpeg JackLions-MBP:build jacobleone$ cd .. JackLions-MBP:glslViewer jacobleone$ cd .. JackLions-MBP:~ jacobleone$ brew list ffmpeg Error: No such keg: /usr/local/Cellar/ffmpeg JackLions-MBP:~ jacobleone$

For Ncurses:

JackLions-MBP:~ jacobleone$ brew list ncurses /usr/local/Cellar/ncurses/6.3/bin/captoinfo /usr/local/Cellar/ncurses/6.3/bin/clear /usr/local/Cellar/ncurses/6.3/bin/infocmp /usr/local/Cellar/ncurses/6.3/bin/infotocap /usr/local/Cellar/ncurses/6.3/bin/ncurses6-config /usr/local/Cellar/ncurses/6.3/bin/ncursesw6-config /usr/local/Cellar/ncurses/6.3/bin/reset /usr/local/Cellar/ncurses/6.3/bin/tabs /usr/local/Cellar/ncurses/6.3/bin/tic /usr/local/Cellar/ncurses/6.3/bin/toe /usr/local/Cellar/ncurses/6.3/bin/tput /usr/local/Cellar/ncurses/6.3/bin/tset /usr/local/Cellar/ncurses/6.3/include/ncursesw/ (20 files) /usr/local/Cellar/ncurses/6.3/include/ (6 files) /usr/local/Cellar/ncurses/6.3/lib/libformw.6.dylib /usr/local/Cellar/ncurses/6.3/lib/libmenuw.6.dylib /usr/local/Cellar/ncurses/6.3/lib/libncurses++w.6.dylib /usr/local/Cellar/ncurses/6.3/lib/libncursesw.6.dylib /usr/local/Cellar/ncurses/6.3/lib/libpanelw.6.dylib /usr/local/Cellar/ncurses/6.3/lib/pkgconfig/ (9 files) /usr/local/Cellar/ncurses/6.3/lib/ (37 other files) /usr/local/Cellar/ncurses/6.3/share/man/ (898 files) /usr/local/Cellar/ncurses/6.3/share/tabset/ (4 files) /usr/local/Cellar/ncurses/6.3/share/terminfo/ (2819 files) /usr/local/Cellar/ncurses/6.3/test/package/ (23 files) /usr/local/Cellar/ncurses/6.3/test/ (129 files)

For the GCC Compiler:

JackLions-MBP:build jacobleone$ gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang version 12.0.0 (clang-1200.0.32.28) Target: x86_64-apple-darwin19.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

For the compilation results, my terminal printed this when compiling:

JackLions-MBP:build jacobleone$ make [ 1%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/address.c.o [ 2%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/blob.c.o [ 3%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/bundle.c.o [ 4%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/message.c.o [ 5%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/method.c.o [ 6%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/pattern_match.c.o [ 7%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/send.c.o [ 8%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/server.c.o [ 9%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/timetag.c.o [ 10%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/version.c.o [ 11%] Building C object deps/liblo/cmake/CMakeFiles/lo_static.dir/__/src/server_thread.c.o [ 12%] Linking C static library liblo.a [ 12%] Built target lo_static [ 13%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/context.c.o [ 14%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/init.c.o [ 15%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/input.c.o [ 16%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/monitor.c.o [ 17%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/platform.c.o [ 18%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/vulkan.c.o [ 19%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/window.c.o [ 20%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/egl_context.c.o [ 21%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/osmesa_context.c.o [ 22%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/null_init.c.o [ 23%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/null_monitor.c.o [ 24%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/null_window.c.o [ 25%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/null_joystick.c.o [ 26%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/cocoa_time.c.o [ 27%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/posix_module.c.o [ 28%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/posix_thread.c.o [ 29%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/cocoa_init.m.o [ 30%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/cocoa_joystick.m.o [ 31%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/cocoa_monitor.m.o [ 32%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/cocoa_window.m.o [ 33%] Building C object deps/vera/deps/glfw/src/CMakeFiles/glfw.dir/nsgl_context.m.o [ 34%] Linking C static library libglfw3.a [ 34%] Built target glfw [ 35%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/__/deps/glob/glob.cpp.o [ 36%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/__/deps/phonedepth/extract_depthmap.cpp.o [ 37%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/__/deps/skymodel/ArHosekSkyModel.cpp.o [ 38%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/__/deps/stb/stb_image_write.cpp.o [ 39%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/__/deps/stb/stb_image.cpp.o [ 40%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/app.cpp.o [ 41%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/window.cpp.o [ 42%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/gl.cpp.o [ 43%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/fbo.cpp.o [ 44%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/vbo.cpp.o [ 45%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/shader.cpp.o [ 46%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/defines.cpp.o [ 47%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/pingpong.cpp.o [ 48%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/pyramid.cpp.o [ 50%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/texture.cpp.o [ 51%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/textureBump.cpp.o [ 52%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/textureCube.cpp.o [ 53%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/textureProps.cpp.o [ 54%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/textureStreamAV.cpp.o [ 55%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/textureStreamOMX.cpp.o [ 56%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/textureStreamMMAL.cpp.o [ 57%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/textureStreamAudio.cpp.o [ 58%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/textureStreamSequence.cpp.o [ 59%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/gl/vertexLayout.cpp.o [ 60%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/io/gltf.cpp.o [ 61%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/io/obj.cpp.o [ 62%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/io/ply.cpp.o [ 63%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/io/stl.cpp.o [ 64%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/draw.cpp.o [ 65%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/env.cpp.o [ 66%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/fs.cpp.o [ 67%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/geom.cpp.o [ 68%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/image.cpp.o [ 69%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/intersection.cpp.o [ 70%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/meshes.cpp.o [ 71%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/pixel.cpp.o [ 72%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/string.cpp.o [ 73%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/ops/time.cpp.o [ 74%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/bvh.cpp.o [ 75%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/camera.cpp.o [ 76%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/font.cpp.o [ 77%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/image.cpp.o [ 78%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/line.cpp.o [ 79%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/light.cpp.o [ 80%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/label.cpp.o [ 81%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/material.cpp.o [ 82%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/mesh.cpp.o [ 83%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/model.cpp.o [ 84%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/node.cpp.o [ 85%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/scene.cpp.o [ 86%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/types/triangle.cpp.o [ 87%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/shaders/defaultShaders.cpp.o [ 88%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/xr/holoPlay.cpp.o [ 89%] Building CXX object deps/vera/src/CMakeFiles/vera.dir/xr/xr.cpp.o [ 90%] Linking CXX static library libvera.a /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvera.a(textureStreamAV.cpp.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvera.a(textureStreamOMX.cpp.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvera.a(textureStreamMMAL.cpp.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvera.a(textureStreamAudio.cpp.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvera.a(textureStreamAV.cpp.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvera.a(textureStreamOMX.cpp.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvera.a(textureStreamMMAL.cpp.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvera.a(textureStreamAudio.cpp.o) has no symbols [ 90%] Built target vera [ 91%] Building CXX object CMakeFiles/glslViewer.dir/src/main.cpp.o [ 92%] Building CXX object CMakeFiles/glslViewer.dir/src/sandbox.cpp.o [ 93%] Building CXX object CMakeFiles/glslViewer.dir/src/sceneRender.cpp.o [ 94%] Building CXX object CMakeFiles/glslViewer.dir/src/tools/console.cpp.o [ 95%] Building CXX object CMakeFiles/glslViewer.dir/src/tools/record.cpp.o [ 96%] Building CXX object CMakeFiles/glslViewer.dir/src/tools/text.cpp.o [ 97%] Building CXX object CMakeFiles/glslViewer.dir/src/tools/tracker.cpp.o [ 98%] Building CXX object CMakeFiles/glslViewer.dir/src/uniforms.cpp.o [100%] Linking CXX executable glslViewer [100%] Built target glslViewer JackLions-MBP:build jacobleone$ sudo make install Password: Consolidate compiler generated dependencies of target lo_static [ 12%] Built target lo_static Consolidate compiler generated dependencies of target glfw [ 34%] Built target glfw Consolidate compiler generated dependencies of target vera [ 90%] Built target vera Consolidate compiler generated dependencies of target glslViewer [100%] Built target glslViewer Install the project... -- Install configuration: "" -- Installing: /usr/local/bin/glslViewer

Hope this is insightful

patriciogonzalezvivo commented 1 year ago

@jacklion710 seams you didn't install ffmpeg. Do you mind installing it? Do you mind also installing the CommandLine Tools? https://www.freecodecamp.org/news/install-xcode-command-line-tools/ The other difference is the clang version... I will research further into that

jacklion710 commented 1 year ago

It seems there might be a problem installing fmpeg. I uninstalled and then reinstalled according to the wiki earlier. After your post just 30 minutes ago, I just now tried installing it again and still brew list ffmpeg returns: Error: No such keg: /usr/local/Cellar/ffmpeg

jacklion710 commented 1 year ago

I caught this warning after pasting the ffmpeg install from the wiki:

Warning: You are using macOS 10.15. We (and Apple) do not provide support for this old version. It is expected behaviour that some formulae will fail to build in this old version. It is expected behaviour that Homebrew will be buggy and slow. Do not create any issues about this on Homebrew's GitHub repositories. Do not create any issues even if you think this message is unrelated. Any opened issues will be immediately closed without response. Do not ask for help from MacHomebrew on Twitter. You may ask for help in Homebrew's discussions but are unlikely to receive a response. Try to figure out the problem yourself and submit a fix as a pull request. We will review it but may or may not accept it.

jacklion710 commented 1 year ago

Also all of the downloads say 'already downloaded'

jacklion710 commented 1 year ago

Lastly, the very last output from the install says:

Error: Failure while executing;cp -pR /private/tmp/d20221025-19196-18p3l9w/libpng/. /usr/local/Cellar/libpngexited with 1. Here's the output: cp: utimes: /usr/local/Cellar/libpng/.: Operation not permitted cp: chmod: /usr/local/Cellar/libpng/.: Operation not permitted

dextor commented 1 year ago

Here's what I've got (Intel Mac, 10.15.4):

brew list ffmpeg /usr/local/Cellar/ffmpeg/5.1.2/bin/aviocat /usr/local/Cellar/ffmpeg/5.1.2/bin/bisect-create /usr/local/Cellar/ffmpeg/5.1.2/bin/cl2c /usr/local/Cellar/ffmpeg/5.1.2/bin/clean-diff /usr/local/Cellar/ffmpeg/5.1.2/bin/crypto_bench /usr/local/Cellar/ffmpeg/5.1.2/bin/cws2fws /usr/local/Cellar/ffmpeg/5.1.2/bin/dvd2concat /usr/local/Cellar/ffmpeg/5.1.2/bin/enum_options /usr/local/Cellar/ffmpeg/5.1.2/bin/ffescape /usr/local/Cellar/ffmpeg/5.1.2/bin/ffeval /usr/local/Cellar/ffmpeg/5.1.2/bin/ffhash /usr/local/Cellar/ffmpeg/5.1.2/bin/ffmpeg /usr/local/Cellar/ffmpeg/5.1.2/bin/ffplay /usr/local/Cellar/ffmpeg/5.1.2/bin/ffprobe /usr/local/Cellar/ffmpeg/5.1.2/bin/fourcc2pixfmt /usr/local/Cellar/ffmpeg/5.1.2/bin/gen-rc /usr/local/Cellar/ffmpeg/5.1.2/bin/graph2dot /usr/local/Cellar/ffmpeg/5.1.2/bin/ismindex /usr/local/Cellar/ffmpeg/5.1.2/bin/libav-merge-next-commit /usr/local/Cellar/ffmpeg/5.1.2/bin/loudnorm.rb /usr/local/Cellar/ffmpeg/5.1.2/bin/make_chlayout_test /usr/local/Cellar/ffmpeg/5.1.2/bin/missing_codec_desc /usr/local/Cellar/ffmpeg/5.1.2/bin/murge /usr/local/Cellar/ffmpeg/5.1.2/bin/normalize.py /usr/local/Cellar/ffmpeg/5.1.2/bin/patcheck /usr/local/Cellar/ffmpeg/5.1.2/bin/pktdumper /usr/local/Cellar/ffmpeg/5.1.2/bin/plotframes /usr/local/Cellar/ffmpeg/5.1.2/bin/probetest /usr/local/Cellar/ffmpeg/5.1.2/bin/qt-faststart /usr/local/Cellar/ffmpeg/5.1.2/bin/scale_slice_test /usr/local/Cellar/ffmpeg/5.1.2/bin/seek_print /usr/local/Cellar/ffmpeg/5.1.2/bin/sidxindex /usr/local/Cellar/ffmpeg/5.1.2/bin/target_dec_fate.sh /usr/local/Cellar/ffmpeg/5.1.2/bin/trasher /usr/local/Cellar/ffmpeg/5.1.2/bin/uncoded_frame /usr/local/Cellar/ffmpeg/5.1.2/bin/unwrap-diff /usr/local/Cellar/ffmpeg/5.1.2/bin/venc_data_dump /usr/local/Cellar/ffmpeg/5.1.2/bin/zmqsend /usr/local/Cellar/ffmpeg/5.1.2/bin/zmqshell.py /usr/local/Cellar/ffmpeg/5.1.2/include/libavcodec/ (25 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libavdevice/ (3 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libavfilter/ (5 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libavformat/ (4 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libavutil/ (91 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libpostproc/ (3 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libswresample/ (3 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libswscale/ (3 files) /usr/local/Cellar/ffmpeg/5.1.2/lib/libavcodec.59.37.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libavdevice.59.7.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libavfilter.8.44.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libavformat.59.27.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libavutil.57.28.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libpostproc.56.6.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libswresample.4.7.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libswscale.6.7.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/pkgconfig/ (8 files) /usr/local/Cellar/ffmpeg/5.1.2/lib/ (24 other files) /usr/local/Cellar/ffmpeg/5.1.2/share/ffmpeg/ (35 files) /usr/local/Cellar/ffmpeg/5.1.2/share/man/ (22 files)

brew list ncurses /usr/local/Cellar/ncurses/6.3/bin/captoinfo /usr/local/Cellar/ncurses/6.3/bin/clear /usr/local/Cellar/ncurses/6.3/bin/infocmp /usr/local/Cellar/ncurses/6.3/bin/infotocap /usr/local/Cellar/ncurses/6.3/bin/ncurses6-config /usr/local/Cellar/ncurses/6.3/bin/ncursesw6-config /usr/local/Cellar/ncurses/6.3/bin/reset /usr/local/Cellar/ncurses/6.3/bin/tabs /usr/local/Cellar/ncurses/6.3/bin/tic /usr/local/Cellar/ncurses/6.3/bin/toe /usr/local/Cellar/ncurses/6.3/bin/tput /usr/local/Cellar/ncurses/6.3/bin/tset /usr/local/Cellar/ncurses/6.3/include/ncursesw/ (20 files) /usr/local/Cellar/ncurses/6.3/include/ (6 files) /usr/local/Cellar/ncurses/6.3/lib/libformw.6.dylib /usr/local/Cellar/ncurses/6.3/lib/libmenuw.6.dylib /usr/local/Cellar/ncurses/6.3/lib/libncurses++w.6.dylib /usr/local/Cellar/ncurses/6.3/lib/libncursesw.6.dylib /usr/local/Cellar/ncurses/6.3/lib/libpanelw.6.dylib /usr/local/Cellar/ncurses/6.3/lib/pkgconfig/ (9 files) /usr/local/Cellar/ncurses/6.3/lib/ (37 other files) /usr/local/Cellar/ncurses/6.3/share/man/ (898 files) /usr/local/Cellar/ncurses/6.3/share/tabset/ (4 files) /usr/local/Cellar/ncurses/6.3/share/terminfo/ (2819 files) /usr/local/Cellar/ncurses/6.3/test/package/ (23 files) /usr/local/Cellar/ncurses/6.3/test/ (129 files)

gcc --version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/c++/4.2.1 Apple clang version 12.0.0 (clang-1200.0.32.29) Target: x86_64-apple-darwin19.4.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

jacklion710 commented 1 year ago

Update: I had to give the folder that ffmpeg was trying to download permission using sudo chown -R ${USER}:staff /usr/local/Cellar/ for some reason. After doing so and installing again, this time it seemed to work. After brew list ffmpeg:

JackLions-MacBook-Pro:~ jacobleone$ brew list ffmpeg /usr/local/Cellar/ffmpeg/5.1.2/bin/aviocat /usr/local/Cellar/ffmpeg/5.1.2/bin/bisect-create /usr/local/Cellar/ffmpeg/5.1.2/bin/cl2c /usr/local/Cellar/ffmpeg/5.1.2/bin/clean-diff /usr/local/Cellar/ffmpeg/5.1.2/bin/crypto_bench /usr/local/Cellar/ffmpeg/5.1.2/bin/cws2fws /usr/local/Cellar/ffmpeg/5.1.2/bin/dvd2concat /usr/local/Cellar/ffmpeg/5.1.2/bin/enum_options /usr/local/Cellar/ffmpeg/5.1.2/bin/ffescape /usr/local/Cellar/ffmpeg/5.1.2/bin/ffeval /usr/local/Cellar/ffmpeg/5.1.2/bin/ffhash /usr/local/Cellar/ffmpeg/5.1.2/bin/ffmpeg /usr/local/Cellar/ffmpeg/5.1.2/bin/ffplay /usr/local/Cellar/ffmpeg/5.1.2/bin/ffprobe /usr/local/Cellar/ffmpeg/5.1.2/bin/fourcc2pixfmt /usr/local/Cellar/ffmpeg/5.1.2/bin/gen-rc /usr/local/Cellar/ffmpeg/5.1.2/bin/graph2dot /usr/local/Cellar/ffmpeg/5.1.2/bin/ismindex /usr/local/Cellar/ffmpeg/5.1.2/bin/libav-merge-next-commit /usr/local/Cellar/ffmpeg/5.1.2/bin/loudnorm.rb /usr/local/Cellar/ffmpeg/5.1.2/bin/make_chlayout_test /usr/local/Cellar/ffmpeg/5.1.2/bin/missing_codec_desc /usr/local/Cellar/ffmpeg/5.1.2/bin/murge /usr/local/Cellar/ffmpeg/5.1.2/bin/normalize.py /usr/local/Cellar/ffmpeg/5.1.2/bin/patcheck /usr/local/Cellar/ffmpeg/5.1.2/bin/pktdumper /usr/local/Cellar/ffmpeg/5.1.2/bin/plotframes /usr/local/Cellar/ffmpeg/5.1.2/bin/probetest /usr/local/Cellar/ffmpeg/5.1.2/bin/qt-faststart /usr/local/Cellar/ffmpeg/5.1.2/bin/scale_slice_test /usr/local/Cellar/ffmpeg/5.1.2/bin/seek_print /usr/local/Cellar/ffmpeg/5.1.2/bin/sidxindex /usr/local/Cellar/ffmpeg/5.1.2/bin/target_dec_fate.sh /usr/local/Cellar/ffmpeg/5.1.2/bin/trasher /usr/local/Cellar/ffmpeg/5.1.2/bin/uncoded_frame /usr/local/Cellar/ffmpeg/5.1.2/bin/unwrap-diff /usr/local/Cellar/ffmpeg/5.1.2/bin/venc_data_dump /usr/local/Cellar/ffmpeg/5.1.2/bin/zmqsend /usr/local/Cellar/ffmpeg/5.1.2/bin/zmqshell.py /usr/local/Cellar/ffmpeg/5.1.2/include/libavcodec/ (25 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libavdevice/ (3 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libavfilter/ (5 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libavformat/ (4 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libavutil/ (91 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libpostproc/ (3 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libswresample/ (3 files) /usr/local/Cellar/ffmpeg/5.1.2/include/libswscale/ (3 files) /usr/local/Cellar/ffmpeg/5.1.2/lib/libavcodec.59.37.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libavdevice.59.7.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libavfilter.8.44.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libavformat.59.27.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libavutil.57.28.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libpostproc.56.6.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libswresample.4.7.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/libswscale.6.7.100.dylib /usr/local/Cellar/ffmpeg/5.1.2/lib/pkgconfig/ (8 files) /usr/local/Cellar/ffmpeg/5.1.2/lib/ (24 other files) /usr/local/Cellar/ffmpeg/5.1.2/share/ffmpeg/ (35 files) /usr/local/Cellar/ffmpeg/5.1.2/share/man/ (22 files)

Also, I have command line tools installed so we're good there. After recompiling still crashes

patriciogonzalezvivo commented 1 year ago

Ok, hope you don't mind if I just come here to point random things.

I'm going through the process of installing things from scratch in this Intel Mac running 10.14.6 (eventually I will arrive to Catalina)

I notice that brew is asking for updating my console tools

Warning: A newer Command Line Tools release is available.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you any updates, run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/all/.
You should download the Command Line Tools for Xcode 11.3.1.

Wonder if you already did that?

laferrera commented 1 year ago

Running Catalina on an Intel Mac, and seeing this on the crash report:

0   libncurses.5.4.dylib            0x00007fff67c60f53 0x7fff67c43000 + 122707
1   libncurses.5.4.dylib            0x00007fff67c609ec doupdate + 811
2   libncurses.5.4.dylib            0x00007fff67c580b9 wrefresh + 63
3   glslViewer                      0x0000000101bf828f console_uniforms_refresh() + 31
4   glslViewer                      0x0000000101b3c9a3 Sandbox::renderPost() + 835
5   glslViewer                      0x0000000101ac7dd0 loop() + 144
6   glslViewer                      0x0000000101ad0110 main + 32992
7   libdyld.dylib                   0x00007fff6947acc9 start + 1

Which led me down a rabbithole to see what was going on with ncurses. It seems like find_package(Curses) in CMakeList.txt isn't finding the ncurses v6.3 package that gets installed in the first step by homebrew and pkg-config.

When I run the cmake .. command in the /build directory, I see:

-- Found Curses: /Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/usr/lib/libcurses.tbd  

Which symlinks to libncurses.5.4.tbd

Reinstalling the Command Line Tools didn't do anything, but commenting out the entire block:

    if (CURSES_FOUND)
        target_compile_definitions(glslViewer PUBLIC SUPPORT_NCURSES)
        include_directories(${CURSES_INCLUDE_DIR})
        target_link_libraries(glslViewer PRIVATE ${CURSES_LIBRARY})
    endif()

will build a working version of glslViewer.

jacklion710 commented 1 year ago

@patriciogonzalezvivo I just gave it a shot. Recompiled after restarting my machine and the same issue persists.

patriciogonzalezvivo commented 1 year ago

@jacklion710, @laferrera made a big step forward figuring out that ncurses is probably the culprit of this issues.

Do you mind trying to run glslViewer with no ncurses support ??

glslViewer test.frag  --noncurses   

@laferrera thanks for that discovery! I will research further into it!

jacklion710 commented 1 year ago

0:! It worked!

patriciogonzalezvivo commented 1 year ago

Hooray! So this confirm @laferrera discovery. The culprid is ncurses! I will research further, I haven't been able to reproduce it in my end on a Intel OSX 10.14.... I will get another laptop today to test.

In the mean time (and if you are interested) maybe try re-installing ncurses specially check if it's for Intel and not M1 architecture. Maybe installing ncurses from source?

jacklion710 commented 1 year ago

Their website seems to indicate that it should work for both intel and m1 chips. I didn't see any indicator that it wouldn't be upon reinstalling it. I did see this however:

`If you need to have ncurses first in your PATH, run: echo 'export PATH="/usr/local/opt/ncurses/bin:$PATH"' >> /Users/jacobleone/.bash_profile

For compilers to find ncurses you may need to set: export LDFLAGS="-L/usr/local/opt/ncurses/lib" export CPPFLAGS="-I/usr/local/opt/ncurses/include"

For pkg-config to find ncurses you may need to set: export PKG_CONFIG_PATH="/usr/local/opt/ncurses/lib/pkgconfig"`

patriciogonzalezvivo commented 1 year ago

Ok @jacklion710 this makes much more sense now. Seams you brew setup is corrupted. In a previous post the system recognize the ncurses libraries at:

usr/local/Cellar/ncurses/6.3/...

but those flags you just describe says its currently being installed in

/usr/local/opt/ncurses/lib/...

If I were you I would run those commands that brew suggested, to bring ncurses to the top of the PATH. If that doesn't work try uninstalling brew completely and install it back again.

laferrera commented 1 year ago

Actually @jacklion710 I think we just need to tell CMake where to find the 6.3 version of ncurses:

I was able to build with ncurses using:

mkdir build
cd build
cmake -D CMAKE_PREFIX_PATH=/usr/local/Cellar/ncurses/6.3 ..
make
sudo make install
jacklion710 commented 1 year ago

@patriciogonzalezvivo just tried it and it doesn't seem to have helped. I can still run glslViewer just without ncurses.

@laferrera where are you creating this build folder concerning cmake and ncurses? At what step too? Is it the glslViewer build folder or just a new one?

laferrera commented 1 year ago

@patriciogonzalezvivo inside the glslViewer repo,

delete the build folder from any previous build attempts (CMake may cache the locations of some libraries)

This is just a modified version of Step 3 from the MacOS install instructions. You may need to swap out the director on the third line if ncurses isn't installed there via HomeBrew.

mkdir build
cd build
cmake -D CMAKE_PREFIX_PATH=/usr/local/Cellar/ncurses/6.3 ..
make
sudo make install
jacklion710 commented 1 year ago

Ahh thank you for clarifying. When I try building the folder that way I get this: `JackLions-MBP:glslViewer jacobleone$ mkdir build JackLions-MBP:glslViewer jacobleone$ cd build JackLions-MBP:build jacobleone$ cmake -D /usr/local/Cellar/ncurses/6.3 .. CMake Error: Parse error in command line argument: /usr/local/Cellar/ncurses/6.3 Should be: VAR:type=value

CMake Error: Run 'cmake --help' for all supported options. JackLions-MBP:build jacobleone$ make make: *** No targets specified and no makefile found. Stop. JackLions-MBP:build jacobleone$ sudo make install

` I verified that ncurses was in the pathway on line 3.

laferrera commented 1 year ago

Apologies, it should be this:

mkdir build
cd build
cmake -D CMAKE_PREFIX_PATH=/usr/local/Cellar/ncurses/6.3 ..
make
sudo make install
jacklion710 commented 1 year ago

Okay, now that worked! Thanks a lot, @laferrera . Now It's rendering for me without having to include '--noncurses'. I wonder what @patriciogonzalezvivo will make of this.

patriciogonzalezvivo commented 1 year ago

@jacklion710 not sure what to make of it. Seams mostly like a system issue? I heard from some people solve it also by uninstalling brew all together and installing back again. I'm not really sure how to proceed because I haven't been able to reproduce on my end. But I'm open to suggestions. Also, for the short term I will make sure to point to this thread to people experiencing the same issue.

jacklion710 commented 1 year ago

Well one way or another, i'm happy now that we've established a work around. I was weary about uninstalling brew because I read that it would erase everything else i've installed with brew which isn't ideal. My only suggestion is to maybe add some of these details to the wiki for others.