-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FITS 1.6.0 does not have a mediainfo library for the ARM Mac’s #389
Comments
@awoods I think there's something else going on here. I just downloaded 1.6.0 and ran it on a M1 and MediaInfo works as expected. In fact, the MediaInfo lib for x86_64 and arm64 is identical: https://mediaarea.net/en/MediaInfo/Download/Mac_OS |
@pwinckles : Running FITS on a Mac ARM works for you? |
Yes, that's correct |
@pwinckles Are you running Ventura 13.4.1? |
FWIW, media info itself runs fine on this machine. I redownloaded fits and I am getting a slightly different stack trace (below). I think I was 1 version back this morning. This machine is running a native java 11 install through brew. openjdk 11.0.20 2023-07-18 $echo $JAVA_HOME Here is the stack trace ./fits.sh -x -i /Volumes/mediapres2/VIDEO/FY24/Divinity/Pearson_Batch_03/6/DEPOSIT_230405180848/32044160156444/archival/32044160156444_AM_01_01.mov -o /Volumes/mediapres2/VIDEO/FY24/Divinity/Pearson_Batch_03/6/DEPOSIT_230405180848/32044160156444/archival/32044160156444_AM_01_01_test.xml |
This might be the issue. Media info is only x86 and java is ARM. 'If the running JDK targets aarch64 (ARM), the architecture used by an M1 Mac, then an UnsatisfiedLinkError is thrown at startup. There is no native ARM build of TypeDB yet, so in order for TypeDB to run correctly on an M1 MacBook you need to ensure that a JDK that targets x64 architecture is installed.' I could try installing an x86 java and see, though that seems like a stupid thing to have to do. |
@kaylieackerman I was able to run it on a M1 OS 13.1 (22C65) (so, different version than you), using java 17 (arm build) (I'll try with java 11 in a minute). The development version of FITS has the latest release of MediaInfo in it, you could try build it, and seeing if that works for you. mvn -DskipTests clean package That should produce a zip file at |
Yes, it worked for me with java 11 as well. |
If you don't feel like figuring out why it's not working on your system, you could just install mediainfo at the system level and delete |
I wish it were so simple, but that also didn't work. |
Installing x86 java cleared the issue. Also tried a fresh ARM installation through brew which failed in the same way. So either it's a mixed architecture issue, which I think is most likely, or it's something specific with the java brew is installing. Also, the lib in the media info Mac folder is from 2015, so no way that is ARM compatible. Perhaps that can be updated to the latest universal version? |
It seems like we can document this as a known issue when run in a mixed architecture environment, then close this ticket. Does that sound right to you @kaylieackerman and @pwinckles ? |
@awoods @kaylieackerman : I don't understand what the problem is here. I use sdkman to manage/install java versions, so it's possible that there's something wrong with the brew version. I don't know haven't tried it. On my machine, it works with both an arm64 build and x86_64 build. Maybe it's related to the OS version? I don't know. I don't feel like upgrading right now to test it as that can be a can of worms. My installs:
It's not possible to install x84_64 builds through sdkman. That version I installed manually. |
@kaylieackerman the fits-latest link on that page is for version 1.4.0. This is the correct place to download 1.6.0: https://github.com/harvard-lts/fits/releases/tag/1.6.0 Versions prior to 1.6.0 I would not expect to work on the M1 |
@kaylieackerman Yes, the version of MediaInfo in 1.4.0 is extremely old. 1.6.0 is using MediaInfo 22.09 |
Peter,
Using 1.6 with an ARM java I am now getting an error loading Jpylyzer. I’m not even sure what that is. Any thoughts on why this is killing the analysis of a video file with mediainfo?
Kaylie
~$./fits.sh -x -i /Volumes/mediapres2/VIDEO/FY24/Divinity/Pearson_Batch_03/6/DEPOSIT_230405180848/32044160156444/archival/32044160156444_AM_01_01.mov -o /Volumes/mediapres2/VIDEO/FY24/Divinity/Pearson_Batch_03/6/DEPOSIT_230405180848/32044160156444/archival/32044160156444_AM_01_01_test.xml
2023-08-22 12:40:52 - ERROR - Jpylyzer:76 - Python and Windows not supported, not running jpylyzer
2023-08-22 12:40:52 - ERROR - ToolBelt:144 - Thread [1] Error instantiating class: edu.harvard.hul.ois.fits.tools.jpylyzer.Jpylyzer -- Exception thrown: java.lang.reflect.InvocationTargetException -- Error message: null
2023-08-22 12:43:15 - ERROR - Fits:684 - Tool error processing file: 32044160156444_AM_01_01.mov
null
java.lang.reflect.InvocationTargetException: null
at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:79) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:484) ~[?:?]
at edu.harvard.hul.ois.fits.tools.ToolBelt.createToolClassInstance(ToolBelt.java:174) ~[fits-1.6.0.jar:1.6.0]
at edu.harvard.hul.ois.fits.tools.ToolBelt.init(ToolBelt.java:127) ~[fits-1.6.0.jar:1.6.0]
at edu.harvard.hul.ois.fits.tools.ToolBelt.<init>(ToolBelt.java:56) ~[fits-1.6.0.jar:1.6.0]
at edu.harvard.hul.ois.fits.Fits.<init>(Fits.java:231) ~[fits-1.6.0.jar:1.6.0]
at edu.harvard.hul.ois.fits.Fits.<init>(Fits.java:129) ~[fits-1.6.0.jar:1.6.0]
at edu.harvard.hul.ois.fits.Fits.<init>(Fits.java:118) ~[fits-1.6.0.jar:1.6.0]
at edu.harvard.hul.ois.fits.Fits.constructFits(Fits.java:341) ~[fits-1.6.0.jar:1.6.0]
at edu.harvard.hul.ois.fits.Fits.main(Fits.java:315) ~[fits-1.6.0.jar:1.6.0]
Caused by: edu.harvard.hul.ois.fits.exceptions.FitsToolException: jpylyzer cannot be used on this system
at edu.harvard.hul.ois.fits.tools.jpylyzer.Jpylyzer.<init>(Jpylyzer.java:77) ~[fits-1.6.0.jar:1.6.0]
at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67) ~[?:?]
... 10 more
From: Peter Winckles ***@***.***>
Date: Monday, August 21, 2023 at 9:52 PM
To: harvard-lts/fits ***@***.***>
Cc: Ackerman, Kaylie Alannah ***@***.***>, Mention ***@***.***>
Subject: Re: [harvard-lts/fits] FITS 1.6.0 does not have a mediainfo library for the ARM Mac’s (Issue #389)
@kaylieackerman<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_kaylieackerman&d=DwMCaQ&c=WO-RGvefibhHBZq3fL85hQ&r=md69f6KgtDeomOT4bYCi2Pa7txIIOYIbRWeAOSrba-U&m=CQpJtDntBdWF6SYI43W8U3QsN5j_bwiy-by1UHeXVss7z0drFdOz82et_bGPcAPV&s=U2ulZ_bBtT-ZWxDdMMci2Dylxz1qlFXsASSxH1BxTVM&e=> Yes, the version of MediaInfo in 1.4.0 is extremely old. 1.6.0 is using MediaInfo 22.09
—
Reply to this email directly, view it on GitHub<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_harvard-2Dlts_fits_issues_389-23issuecomment-2D1687294301&d=DwMCaQ&c=WO-RGvefibhHBZq3fL85hQ&r=md69f6KgtDeomOT4bYCi2Pa7txIIOYIbRWeAOSrba-U&m=CQpJtDntBdWF6SYI43W8U3QsN5j_bwiy-by1UHeXVss7z0drFdOz82et_bGPcAPV&s=2liOyQnXYvP-NdA71drEaWtAj_hA45urgUyG7xY1N3Y&e=>, or unsubscribe<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AR56W2BA5FZIGCJT5FG23MLXWQGEPANCNFSM6AAAAAA3YXGXMI&d=DwMCaQ&c=WO-RGvefibhHBZq3fL85hQ&r=md69f6KgtDeomOT4bYCi2Pa7txIIOYIbRWeAOSrba-U&m=CQpJtDntBdWF6SYI43W8U3QsN5j_bwiy-by1UHeXVss7z0drFdOz82et_bGPcAPV&s=vsZlxYug1aNfQnG7IugkwVDcM90sbeU5vxerLFl9uCc&e=>.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
@kaylieackerman You need to either install Python or disable Jpylyzer in the fits.xml |
@kaylieackerman : In case you want to take advantage of Jpylyzer in the future, here are instructions for having Python recognized by FITS: |
/Applications/fits/fits.sh -x -i /Volumes/mediapres2/globus_dropbox/Memnon/Memnon-Batch-06/BATCH_0005/DEPOSIT_230705145315/32044160172193/archival/32044160172193_AM_01_01.mov -o /Volumes/mediapres2/globus_dropbox/Memnon/Memnon-Batch-06/BATCH_0005/DEPOSIT_230705145315/32044160172193/archival/32044160172193_AM_01_01_test.xml
2023-08-21 13:30:19 - ERROR - MediaInfo:95 - Error loading native library for this operating system for tool: MediaInfo. ostype=[MacOS] -- jvmModel=[64] -- nativeLibPath=[/Applications/fits/tools/mediainfo/mac] -- No native MediaInfo library for this OS
java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/gh/gszlyl290h1dnlk8t2_th5s80000gp/T/jna-2040574825/jna16480843601716805071.tmp
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2638)
at java.base/java.lang.Runtime.load0(Runtime.java:768)
at java.base/java.lang.System.load(System.java:1850)
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:761)
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:736)
at com.sun.jna.Native.(Native.java:131)
at edu.harvard.hul.ois.fits.tools.mediainfo.MediaInfoNativeWrapper$MediaInfoDLL_Internal.(MediaInfoNativeWrapper.java:101)
at edu.harvard.hul.ois.fits.tools.mediainfo.MediaInfoNativeWrapper.Option_Static(MediaInfoNativeWrapper.java:442)
at edu.harvard.hul.ois.fits.tools.mediainfo.MediaInfo.(MediaInfo.java:86)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at edu.harvard.hul.ois.fits.tools.ToolBelt.createToolClassInstance(ToolBelt.java:169)
at edu.harvard.hul.ois.fits.tools.ToolBelt.init(ToolBelt.java:122)
at edu.harvard.hul.ois.fits.tools.ToolBelt.(ToolBelt.java:58)
at edu.harvard.hul.ois.fits.Fits.(Fits.java:244)
at edu.harvard.hul.ois.fits.Fits.(Fits.java:124)
at edu.harvard.hul.ois.fits.Fits.(Fits.java:113)
at edu.harvard.hul.ois.fits.Fits.constructFits(Fits.java:348)
at edu.harvard.hul.ois.fits.Fits.main(Fits.java:326)
2023-08-21 13:30:19 - ERROR - ToolBelt:139 - Thread [1] Error instantiating class: edu.harvard.hul.ois.fits.tools.mediainfo.MediaInfo -- Exception thrown: java.lang.InstantiationException -- Error message: edu.harvard.hul.ois.fits.tools.mediainfo.MediaInfo
The text was updated successfully, but these errors were encountered: