Closed rfield19 closed 1 year ago
Someone suggested adding a zero length extension at the start of the sed line, and that works great
sed -i '' "s/#VERSION/$version/g" "$osxApp/Contents/Info.plist"
Script now runs fully, and creates a (working) regular app with icon in the publish dir. Nice!
Nice, i have updated the script, you may fetch to get everything in place (there are others fixes regarding ==) Thanks for testing
No worries - happy to help!
Now to fix the public releases for macOS i will need an developer account from Apple. This will impact x64 too in future and not able to execute too
Don't know if this helps - you can apply for a free developer account if you're a non-profit https://developer.apple.com/support/membership-fee-waiver/
nonprofit organization, accredited educational institution
You need an registed organization, UVtools is just an app...
Also Portugal is not included
Eligible regions: Australia, Brazil, Canada, China mainland, France, Germany, Israel, Italy, Japan, Mexico, South Korea, United Kingdom, United States.
Also funny that they request a ton of documents to apply to that, but if you pay they ask nothing 🤣
I'm running into the same issue. I followed the install instructions on the main page, but no matter what I try, I get the "this application cannot be opened" prompt. Was a work around ever figured out?
@illusio26 There is a way if you compile it on your machine (read all this discussion) Or just run the x64 as that will still work
Thanks. I just ran with the x64 for now and that worked just fine.
Nice, i have updated the script, you may fetch to get everything in place (there are others fixes regarding ==) Thanks for testing
Where is this script?
Where is this script?
You need to clone the repo, and it's located here: https://github.com/sn4k3/UVtools/tree/master/build Script: createRelease.sh
./createRelease.sh -b osx-arm64
Installing .NET and run via terminal also works with public builds. You can make a shortcut to run the dotnet command and it will work
Tried opening from command line, error is such:
The application cannot be opened for an unexpected reason, error=Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x60000235d1a0 {Error Domain=NSPOSIXErrorDomain Code=153 "Unknown error: 153" UserInfo={NSLocalizedDescription=Launchd job spawn failed}}}
I'll try building myself later.
@mtaumike Try this command over the package:
xattr -d com.apple.quarantine UVtools.app
Run by double click on it, does it work?
% xattr -d com.apple.quarantine /Applications/UVtools.app
xattr: /Applications/UVtools.app: No such xattr: com.apple.quarantine
So the x86_64 runs just fine, it's the arm64 edition that fails with the above error message.
Arm fails because apple require arm apps to be codesigned which is a pain for free developer (because its payed), read this whole post to know more and this.
Here another thing you can try:
Create a file with:
#!/bin/bash
# used to remove com.apple.quarantine attribute from a given file/pkg
#
# use this like: xattr_remove /path/to/file
cd $1
find . -print0 | xargs -0 xattr -d com.apple.quarantine
Run that file like: myscript /Applications/UVtools.app
Run UVtools and report the results
I see what you are trying to do but if xattr -d UVTools.app
isn't working on the 'app' then your script is traversing the 'app'.
So I did that by hand find UVTools.app -print0 | xargs -0 xattr -d com.apple.quarantine
and I got a ton of errors like I posted above and app still does not launch with error as before.
So, continuing to beat on this:
brew install dotnet
./UVtools.app/Contents/MacOS/UVTools.sh
reports a couple of things then brings up a window.UVtools v3.5.6 Arm64 [macOS] Unable to run due one or more missing dependencies. Triggered by: libcvextern (OpenCV)
Can't find libcvextern
in brew.
Continuing to look in the 'app', I found UVTools.app/Contents/MacOS/libcvextern.dylib
so that's a plus though it seems it is not being loaded.
Just a quick bit of info: Brand new Mac Studio, just put on my desk yesterday, and going with fresh environment (ie; did not restore from TM or any other method). This can't get more bare than what I have done so far (well, iTerm, some browsers, and a bunch of brew installed items as I live 90% on a command line doing automation work).
Tried again:
% ./UVtools.sh
./UVtools.sh: line 3: 14040 Killed: 9 ./UVtools
System.TypeInitializationException: The type initializer for 'Emgu.CV.CvInvoke' threw an exception.
---> System.DllNotFoundException: Unable to load shared library 'cvextern' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: dlopen(libcvextern, 0x0001): tried: 'libcvextern' (no such file), '/usr/local/lib/libcvextern' (no such file), '/usr/lib/libcvextern' (no such file), '/Users/drechsau/Desktop/UVtools.app/Contents/MacOS/libcvextern' (no such file)
at Emgu.CV.CvInvoke.RedirectError(CvErrorCallback errorHandler, IntPtr userdata, IntPtr prevUserdata)
at Emgu.CV.CvInvoke..cctor()
--- End of inner exception stack trace ---
at Emgu.CV.CvInvoke.Init()
at UVtools.WPF.App.OnFrameworkInitializationCompleted() in /mnt/d/Tiago/Dropbox/Programming/C#/UVtools/UVtools.WPF/App.axaml.cs:line 281
Been busy and traveling tomorrow so don't have time to do my own build as of yet :(
I'll try that in just a bit, didn't see that further down the README as this is my first real 'upgrade' from Intel to the Apple Silicon type architecture(s).
Just to let you know, I can not start UVtools on my arm Mac Studio as well. Tried everything which is posted here. Does not even start if I try to open it from ./UVtools.app/Contents/MacOS/UVtools. Just to let you know. regards Praktiker.
Just to let you know, I can not start UVtools on my arm Mac Studio as well. Tried everything which is posted here. Does not even start if I try to open it from ./UVtools.app/Contents/MacOS/UVtools. Just to let you know. regards Praktiker.
You need to use the x64 package for now
Need help bulding latest libcvextern for mac arm64 / M1
Anyone with a M1/M2 machine can please download: libcvextern.sh, run with bash libcvextern.sh 4.6.0
Zip and upload the folder emgucv/libs/runtimes/osx/native
?
@sn4k3 I ran that command it errored out, error below. Any suggestions? m1 macbook pro on Ventura btw
[ 74%] Building CXX object opencv/modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_ffmpeg.cpp.o
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:80:6: warning: 'LIBAVCODEC_VERSION_INT' is not defined, evaluates to 0 [-Wundef]
#if (LIBAVCODEC_VERSION_INT <= AV_VERSION_INT(54, 51, 100))
^
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:146:7: error: use of undeclared identifier 'CODEC_ID_H264'; did you mean 'AV_CODEC_ID_H264'?
{ AV_CODEC_ID_H264, MKTAG('H', '2', '6', '4') },
^~~~~~~~~~~~~~~~
AV_CODEC_ID_H264
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:81:26: note: expanded from macro 'AV_CODEC_ID_H264'
#define AV_CODEC_ID_H264 CODEC_ID_H264
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:77:5: note: 'AV_CODEC_ID_H264' declared here
AV_CODEC_ID_H264,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:147:7: error: use of undeclared identifier 'CODEC_ID_H264'; did you mean 'AV_CODEC_ID_H264'?
{ AV_CODEC_ID_H264, MKTAG('h', '2', '6', '4') },
^~~~~~~~~~~~~~~~
AV_CODEC_ID_H264
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:81:26: note: expanded from macro 'AV_CODEC_ID_H264'
#define AV_CODEC_ID_H264 CODEC_ID_H264
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:77:5: note: 'AV_CODEC_ID_H264' declared here
AV_CODEC_ID_H264,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:148:7: error: use of undeclared identifier 'CODEC_ID_H264'; did you mean 'AV_CODEC_ID_H264'?
{ AV_CODEC_ID_H264, MKTAG('X', '2', '6', '4') },
^~~~~~~~~~~~~~~~
AV_CODEC_ID_H264
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:81:26: note: expanded from macro 'AV_CODEC_ID_H264'
#define AV_CODEC_ID_H264 CODEC_ID_H264
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:77:5: note: 'AV_CODEC_ID_H264' declared here
AV_CODEC_ID_H264,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:149:7: error: use of undeclared identifier 'CODEC_ID_H264'; did you mean 'AV_CODEC_ID_H264'?
{ AV_CODEC_ID_H264, MKTAG('x', '2', '6', '4') },
^~~~~~~~~~~~~~~~
AV_CODEC_ID_H264
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:81:26: note: expanded from macro 'AV_CODEC_ID_H264'
#define AV_CODEC_ID_H264 CODEC_ID_H264
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:77:5: note: 'AV_CODEC_ID_H264' declared here
AV_CODEC_ID_H264,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:150:7: error: use of undeclared identifier 'CODEC_ID_H264'; did you mean 'AV_CODEC_ID_H264'?
{ AV_CODEC_ID_H264, MKTAG('a', 'v', 'c', '1') },
^~~~~~~~~~~~~~~~
AV_CODEC_ID_H264
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:81:26: note: expanded from macro 'AV_CODEC_ID_H264'
#define AV_CODEC_ID_H264 CODEC_ID_H264
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:77:5: note: 'AV_CODEC_ID_H264' declared here
AV_CODEC_ID_H264,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:151:7: error: use of undeclared identifier 'CODEC_ID_H264'; did you mean 'AV_CODEC_ID_H264'?
{ AV_CODEC_ID_H264, MKTAG('V', 'S', 'S', 'H') },
^~~~~~~~~~~~~~~~
AV_CODEC_ID_H264
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:81:26: note: expanded from macro 'AV_CODEC_ID_H264'
#define AV_CODEC_ID_H264 CODEC_ID_H264
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:77:5: note: 'AV_CODEC_ID_H264' declared here
AV_CODEC_ID_H264,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:153:7: error: use of undeclared identifier 'CODEC_ID_H263'; did you mean 'AV_CODEC_ID_H263'?
{ AV_CODEC_ID_H263, MKTAG('H', '2', '6', '3') },
^~~~~~~~~~~~~~~~
AV_CODEC_ID_H263
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:82:26: note: expanded from macro 'AV_CODEC_ID_H263'
#define AV_CODEC_ID_H263 CODEC_ID_H263
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:54:5: note: 'AV_CODEC_ID_H263' declared here
AV_CODEC_ID_H263,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:154:7: error: use of undeclared identifier 'CODEC_ID_H263P'; did you mean 'AV_CODEC_ID_H263P'?
{ AV_CODEC_ID_H263P, MKTAG('H', '2', '6', '3') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_H263P
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:83:27: note: expanded from macro 'AV_CODEC_ID_H263P'
#define AV_CODEC_ID_H263P CODEC_ID_H263P
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:69:5: note: 'AV_CODEC_ID_H263P' declared here
AV_CODEC_ID_H263P,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:155:7: error: use of undeclared identifier 'CODEC_ID_H263I'; did you mean 'AV_CODEC_ID_H263I'?
{ AV_CODEC_ID_H263I, MKTAG('I', '2', '6', '3') }, /* intel h263 */
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_H263I
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:84:27: note: expanded from macro 'AV_CODEC_ID_H263I'
#define AV_CODEC_ID_H263I CODEC_ID_H263I
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:70:5: note: 'AV_CODEC_ID_H263I' declared here
AV_CODEC_ID_H263I,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:156:7: error: use of undeclared identifier 'CODEC_ID_H261'; did you mean 'AV_CODEC_ID_H261'?
{ AV_CODEC_ID_H261, MKTAG('H', '2', '6', '1') },
^~~~~~~~~~~~~~~~
AV_CODEC_ID_H261
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:85:26: note: expanded from macro 'AV_CODEC_ID_H261'
#define AV_CODEC_ID_H261 CODEC_ID_H261
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:53:5: note: 'AV_CODEC_ID_H261' declared here
AV_CODEC_ID_H261,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:159:7: error: use of undeclared identifier 'CODEC_ID_H263P'; did you mean 'AV_CODEC_ID_H263P'?
{ AV_CODEC_ID_H263P, MKTAG('U', '2', '6', '3') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_H263P
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:83:27: note: expanded from macro 'AV_CODEC_ID_H263P'
#define AV_CODEC_ID_H263P CODEC_ID_H263P
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:69:5: note: 'AV_CODEC_ID_H263P' declared here
AV_CODEC_ID_H263P,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:160:7: error: use of undeclared identifier 'CODEC_ID_H263P'; did you mean 'AV_CODEC_ID_H263P'?
{ AV_CODEC_ID_H263P, MKTAG('v', 'i', 'v', '1') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_H263P
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:83:27: note: expanded from macro 'AV_CODEC_ID_H263P'
#define AV_CODEC_ID_H263P CODEC_ID_H263P
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:69:5: note: 'AV_CODEC_ID_H263P' declared here
AV_CODEC_ID_H263P,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:162:7: error: use of undeclared identifier 'CODEC_ID_MPEG4'; did you mean 'AV_CODEC_ID_MPEG4'?
{ AV_CODEC_ID_MPEG4, MKTAG('F', 'M', 'P', '4') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_MPEG4
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:86:27: note: expanded from macro 'AV_CODEC_ID_MPEG4'
#define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:62:5: note: 'AV_CODEC_ID_MPEG4' declared here
AV_CODEC_ID_MPEG4,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:163:7: error: use of undeclared identifier 'CODEC_ID_MPEG4'; did you mean 'AV_CODEC_ID_MPEG4'?
{ AV_CODEC_ID_MPEG4, MKTAG('D', 'I', 'V', 'X') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_MPEG4
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:86:27: note: expanded from macro 'AV_CODEC_ID_MPEG4'
#define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:62:5: note: 'AV_CODEC_ID_MPEG4' declared here
AV_CODEC_ID_MPEG4,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:164:7: error: use of undeclared identifier 'CODEC_ID_MPEG4'; did you mean 'AV_CODEC_ID_MPEG4'?
{ AV_CODEC_ID_MPEG4, MKTAG('D', 'X', '5', '0') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_MPEG4
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:86:27: note: expanded from macro 'AV_CODEC_ID_MPEG4'
#define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:62:5: note: 'AV_CODEC_ID_MPEG4' declared here
AV_CODEC_ID_MPEG4,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:165:7: error: use of undeclared identifier 'CODEC_ID_MPEG4'; did you mean 'AV_CODEC_ID_MPEG4'?
{ AV_CODEC_ID_MPEG4, MKTAG('X', 'V', 'I', 'D') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_MPEG4
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:86:27: note: expanded from macro 'AV_CODEC_ID_MPEG4'
#define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:62:5: note: 'AV_CODEC_ID_MPEG4' declared here
AV_CODEC_ID_MPEG4,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:166:7: error: use of undeclared identifier 'CODEC_ID_MPEG4'; did you mean 'AV_CODEC_ID_MPEG4'?
{ AV_CODEC_ID_MPEG4, MKTAG('M', 'P', '4', 'S') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_MPEG4
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:86:27: note: expanded from macro 'AV_CODEC_ID_MPEG4'
#define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:62:5: note: 'AV_CODEC_ID_MPEG4' declared here
AV_CODEC_ID_MPEG4,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:167:7: error: use of undeclared identifier 'CODEC_ID_MPEG4'; did you mean 'AV_CODEC_ID_MPEG4'?
{ AV_CODEC_ID_MPEG4, MKTAG('M', '4', 'S', '2') },
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_MPEG4
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:86:27: note: expanded from macro 'AV_CODEC_ID_MPEG4'
#define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:62:5: note: 'AV_CODEC_ID_MPEG4' declared here
AV_CODEC_ID_MPEG4,
^
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg.cpp:50:
In file included from /git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:81:
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:168:7: error: use of undeclared identifier 'CODEC_ID_MPEG4'; did you mean 'AV_CODEC_ID_MPEG4'?
{ AV_CODEC_ID_MPEG4, MKTAG(0x04, 0, 0, 0) }, /* some broken avi use this */
^~~~~~~~~~~~~~~~~
AV_CODEC_ID_MPEG4
/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv/modules/videoio/src/ffmpeg_codecs.hpp:86:27: note: expanded from macro 'AV_CODEC_ID_MPEG4'
#define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
^
/opt/homebrew/Cellar/ffmpeg/5.1.2/include/libavcodec/codec_id.h:62:5: note: 'AV_CODEC_ID_MPEG4' declared here
AV_CODEC_ID_MPEG4,
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make[2]: *** [opencv/modules/videoio/CMakeFiles/opencv_videoio.dir/src/cap_ffmpeg.cpp.o] Error 1
make[1]: *** [opencv/modules/videoio/CMakeFiles/opencv_videoio.dir/all] Error 2
make: *** [all] Error 2
#if [ "$1" == "cuda" ]; then
# cp -rf bin/x64/*.so ../../../../libs/x64
# cp -rf bin/x64/*.so.* ../../../../libs/x64
#fi
cd ..
Completed - Check for errors but also for libcvextern presence on emgucv-4.6.0/libs```
Wierd maybe other dependency is missing, can you try to install: brew install libav
and retry ?
Error: libav has been disabled because it is not maintained upstream!
ok try to open my libcvextern.sh file and change from "mini" to "full" does it work?
different error!
[ 25%] Built target opencv_features2d
[ 25%] Building CXX object opencv/modules/freetype/CMakeFiles/opencv_freetype.dir/src/freetype.cpp.o
/Users/devonpeet/git_repos/personal/uvtools_build/emgucv-4.6.0/opencv_contrib/modules/freetype/src/freetype.cpp:57:10: fatal error: 'hb-ft.h' file not found
#include <hb-ft.h>
^~~~~~~~~
1 error generated.
make[2]: *** [opencv/modules/freetype/CMakeFiles/opencv_freetype.dir/src/freetype.cpp.o] Error 1
make[1]: *** [opencv/modules/freetype/CMakeFiles/opencv_freetype.dir/all] Error 2
make: *** [all] Error 2
#if [ "$1" == "cuda" ]; then
# cp -rf bin/x64/*.so ../../../../libs/x64
# cp -rf bin/x64/*.so.* ../../../../libs/x64
#fi
cd ..
Completed - Check for errors but also for libcvextern presence on emgucv-4.6.0/libs
Maybe arm64 build is bug, i compiled the x64 on a VM just fine :/
That sucks :/. let me know if you want me to try anything else!
I will ask to the dev
There is a missing include on openCV, please revert to "mini".
Open: emgucv/opencv/modules/videoio/src/ffmpeg_codecs.hpp
Find: #include <libavformat/avformat.h>
Insert above: #include <libavcodec/version.h>
Recompile using "mini"
Here it is @sn4k3 !
Nice! It would have work out of the box with Monterey, lets hope Monterey users don't have trouble with this library been compiled on a recent system linking recent dependencies. Thanks!
@dpeet can you please test the build?
bash "$HOME/Desktop/UVtools.app/Contents/MacOS/UVtools.sh"
Try to make some operations. Does it work?
Looks good to me!
I still had to right click open it first because it's unsigned (of course) but I opened it, opened a file, saved a new one, did a "repair issues" and generated an exposure time finder and all of that worked without issue
Yes security must be disabled for UVtools. Will not be required if users use my auto installer script after this release. At least they now can use native arm64 instead x64
@dpeet Can you delete your emgucv folder and re-run the compilation script? I think when you tried with "full" it included the ffmpeg into configuration.
Here my x64 build vs yours
"mini" should not include ffmpeg nor VTK, either configuration is wrong or the "full" test mess it up
@sn4k3 so to generate that I deleted the emgucv folder, then had to run the compilation script to download all the submodule. I stopped it after all the folders were downloaded, added the "include" line, and the ran the script again. How would you like me to run it now?
How would you like me to run it now?
Yes, with the "mini" build
That’s what I ran the version above with, after deleting the folder
That’s what I ran the version above with, after deleting the folder
kk, upload the libs when you can 👍
@sn4k3 looks like the same result native.zip
Looks like, i will go with that. Thanks
It's released, you can now remove all your UVtools apps and test the auto installer with:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/sn4k3/UVtools/master/Scripts/install-uvtools.sh)"
That will handle dependencies and create a run script file on desktop to bypass apple codesign annoyance
worked for me!
It's perceptible that users must always run the 'run-uvtools' script in order to run the app?
yup! I also use it to print a test part and the print was successful
yup! I also use it to print a test part and the print was successful
Ok, did you notice any performance improvement over the emulated x64?
Did not work for me. No errors in terminal but when I start uvtools (macstudio, Monterey newest version) an error pops up.
see screenshot:
Did not work for me. No errors in terminal but when I start uvtools (macstudio, Monterey newest version) an error pops up.
Did you install by bash -c "$(curl -fsSL https://raw.githubusercontent.com/sn4k3/UVtools/master/Scripts/install-uvtools.sh)"
or by upgrade?
I also experience that "Unable to run, triggered by libcvextern" error, after installing via the script. Macbook Pro, macOS Monterey 12.5.
Update: Looks like running brew install opencv
fixes it. I can run UV tools now! 🎉
System
Describe the bug
ARM64 build for osx doesn't run. Pops a window up with 'The application 'uvtools' can't be opened.' (non arm64 build of uvtools works fine through rosetta, same as previous versions).
To Reproduce
Run uvtools on m1 mac See error :)
Screenshots