Sandy

Incompatibility with MacOS 13 (Ventura) Beta

Recommended Posts

Running 4.0.0 (8526) on an Intel 2018 (i7) Mac mini with the beta OS, eyeTV crashes saying it is unable to find the library /System/Library/Frameworks/FWAUserLib.framework/Versions/A/FWAUserLib.

Interestingly, I'm unable to find a file at that path under Monterey either.

Hope this isn't the end of the road for eyeTV on Mac.

NB No, I've not bothered to submit a bug report as it appears Geniatech don't read them anyway.

Share this post


Link to post
Share on other sites

Additional information is that the missing library relates to firewire audio interfaces. Also the specific mentioned file doesn't exist at that path in Monterey, the framework itself does exist. But not in Ventura (beta 3).

Share this post


Link to post
Share on other sites

Short update...
I found that folder on an old EyeTV installation on my old Media Mac mini...

But unfortunality  I'm not able to copy that folder into my system library...
Can somebody tell me how? Or give me some  support?

If somebody needs that folder to test it first, please let me know

Thank you
LachNed

Share this post


Link to post
Share on other sites

Frameworks in the System Library folder are not user editable. However my guess is by virtue of the way Unix works, you should be able to put it either in your /Library folder (i.e. as opposed to /System/Library) or in your home folder Library.

I've not tried it myself but think I'll give it a go in the coming days.

  • Thanks 1

Share this post


Link to post
Share on other sites

I make a workaround for the missing FWAUserLib library in Ventura

1 install version 8528 of eyetv4 (https://file.geniatech.com/eyetv4/EyeTV4.0.0_8528.dmg)

2 Extract Framework "FWAUserLib.framework.zip" in your Downloads folder

3 write the following script and exec it.

 

This script makes 5 actions:
- verify app
- remove signature for avc framework
- set LSRequiresNativeExecution to false in Info.plist for execution on M1 of the 8528 version
- binary patch to remove path of FWAUserLib library that force to look for it in folder /usr/local/lib
- copy FWAUserLib library in  /usr/local/lib folder

I have verified on last Ventura beta (22A2311f) on a macbookpro M1
--------------------------------------------------------------------------------------------------------------------------------------------------------
#!/bin/zsh

/Applications/EyeTV.app/Contents/MacOS/EyeTV&
sleep 15
kill %
codesign --remove-signature /Applications/EyeTV.app/Contents/MacOS/EyeTV

# the LSRequiresNativeExecution parameter set at true hangs on M1
ex /Applications/EyeTV.app/Contents/Info.plist <<%
s/\(LSRequiresNativeExecution.*\)true/\1false/
.
w
q
%

# binary patch of main program to remove path of FWAUserLib library that force to look for it in folder /usr/local/lib
dd bs=1 count=5416  if=/Applications/EyeTV.app/Contents/MacOS/EyeTV of=p1  
dd bs=5427 skip=1  if=/Applications/EyeTV.app/Contents/MacOS/EyeTV of=p3  
echo -n  FWAUserLib\\0x0 >p2
cat p1 p2 p3 >/Applications/EyeTV.app/Contents/MacOS/EyeTV
chmod 755 /Applications/EyeTV.app/Contents/MacOS/EyeTV
rm p1 p2 p3 

# copy FWAUserLib library in  /usr/local/lib folder
sudo mkdir /usr/local/lib
cp ~/Downloads/FWAUserLib.framework/Versions/A/FWAUserLib  /usr/local/lib

--------------------------------------------------------------------------------------------------------------------------------------------------------
 

  • Like 2

Share this post


Link to post
Share on other sites
11 minutes ago, rened said:

Verify to exec this script with zsh, else the command "echo -n" will not work correctly

 

Edited by rened

Share this post


Link to post
Share on other sites

Hi rened,

that sounds perfect...
...but how can I write and run your script?
I tried to paste your script into the Script-Editor (from the tools folder). But when I try to run the script it runs into a syntax error in the second line

... or do I have to use Terminal?

I know that these are "greenhorn" questions... but I'm not a coder...

Thank you for any help 

Share this post


Link to post
Share on other sites

Hi  LachNed,

 

 

Yes, this is a shell script and you must use Terminal.

 

Use Textedit

in format menu choose "Convert to text"

copy and paste the text between the lines from safari to the textedit window and save to a file "patch" in Downloads folder.

 

Be sure to have the version 8528 of EyeTV in Applications folder and Framework unzipped in Downloads directory

 

Open Terminal 

type "cd Downloads" and key enter

 

type "zsh  ./patch" and key enter

You will have first a windows "verify" with incremental line and you will see some errors messages in the terminal window about the missing library

and then security windows asking confirmation.

Share this post


Link to post
Share on other sites

Hi rened,

I follow your steps like described...

here's my terminal screen...

-----------------------------------------------------------
 

dyld[4336]: Library not loaded: /System/Library/Frameworks/FWAUserLib.framework/Versions/A/FWAUserLib

  Referenced from: <21ECCB56-2844-3FDB-88A0-DB1481AFC8C3> /Applications/EyeTV.app/Contents/MacOS/EyeTV

  Reason: tried: '/System/Library/Frameworks/FWAUserLib.framework/Versions/A/FWAUserLib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/System/Library/Frameworks/FWAUserLib.framework/Versions/A/FWAUserLib' (no such file), '/System/Library/Frameworks/FWAUserLib.framework/Versions/A/FWAUserLib' (no such file, not in dyld cache)

./patch:kill:5: no current job

/Applications/EyeTV.app/Contents/MacOS/EyeTV: internal error in Code Signing subsystem

5416+0 records in

5416+0 records out

5416 bytes transferred in 0.042358 secs (127863 bytes/sec)

4094+1 records in

4094+1 records out

22219533 bytes transferred in 0.074831 secs (296929521 bytes/sec)

./patch:20: operation not permitted: /Applications/EyeTV.app/Contents/MacOS/EyeTV

Password:

mkdir: /usr/local/lib: File exists

cp: /usr/local/lib: Permission denied
-------------------------------------------------

Do I need the root-password? I didn't defined it yet in Ventura and don't know how to define it...
... have no idea what I've done wrong... 😞

Share this post


Link to post
Share on other sites

No it is the root password, it is yours (sudo command need your password) 

But as i see  the messages you send to me , you need type 

sudo zsh  ./patch

and type your password

Share this post


Link to post
Share on other sites

Hi LachNed,

Sorry for my last message which is not clear.

There is no need of root password.

The first account which is created by "MacOS install" has admin rights via the "sudo  command" which only need that you retype the password of this account to validate the start the

 command argument with admin rights. ( it is your password except if you have created after MacOS install another account without admin rights : see "System Settings"/ "Users & Groups" the account must have Admin below it )

 

You  must to start the script "patch" with sudo because  you are not the owner of the app EyeTV by typing "sudo zsh  ./patch"

 

 

 

Share this post


Link to post
Share on other sites

Hi rened,

I followed the steps you've told me... with no success. EyeTV does not start
...here - a copy of my Terminal... Can you read out what's going wrong?
---------------------------------------------------------

stefan@iMac Downloads % sudo zsh ./patch

Password:

dyld[11702]: Library not loaded: FWAUserLib

  Referenced from: <EA4FCAB2-6EFC-39BB-905F-96EA95A7B9E8> /Applications/EyeTV.app/Contents/MacOS/EyeTV

  Reason: tried: 'FWAUserLib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSFWAUserLib' (no such file), 'FWAUserLib' (no such file), '/usr/local/lib/FWAUserLib' (no such file), '/usr/lib/FWAUserLib' (no such file, not in dyld cache), '/Users/stefan/Downloads/FWAUserLib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/stefan/Downloads/FWAUserLib' (no such file), '/Users/stefan/Downloads/FWAUserLib' (no such file), '/usr/local/lib/FWAUserLib' (no such file), '/usr/lib/FWAUserLib' (no such file, not in dyld cache)

./patch:kill:5: no current job

5416+0 records in

5416+0 records out

5416 bytes transferred in 0.052903 secs (102376 bytes/sec)

3796+1 records in

3796+1 records out

20602045 bytes transferred in 0.552627 secs (37280200 bytes/sec)

mkdir: /usr/local/lib: File exists

stefan@iMac Downloads %
--------------------------------------------------

 

Share this post


Link to post
Share on other sites

Hi  LachNed,

The messages look fine.

Have you try to start normaly from finder or launcher ?

If it does not start try from terminal by typing :

/Applications/EyeTV.app/Contents/MacOS/EyeTV

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Hi  LachNed,

Sorry, I have forget one thing:

In terminal type:

sudo codesign --remove-signature /usr/local/lib/FWAUserLib

Share this post


Link to post
Share on other sites

Hi  LachNed,

Sorry, I have a power shutdown this morning which explain the  2 previous messages.

I have forget 2 things:

In terminal type:

#signature not working with new os

sudo codesign --remove-signature /usr/local/lib/FWAUserLib

#for gatekeeper:

sudo xattr -d com.apple.quarantine /usr/local/lib/FWAUserLib

/Applications/EyeTV.app/Contents/MacOS/EyeTV

Edited by rened

Share this post


Link to post
Share on other sites

It looks like that I'm not smart enough to follow your advices.

Do I need to type your additions after or before your initial script?

It would be great if you can provide a script including all updates from you, that I can copy into a text file and run it with Terminal

 

Thanks a lot

Share this post


Link to post
Share on other sites
27 minutes ago, LachNed said:

Do I need to type your additions after or before your initial script?

 

My guess would be to run them after the script.

I'm thinking they would be run after the script as my understanding is the script puts the files into the appropriate places on the computer, then the code sign additions (the commands we're talking about here) make the files acceptable to GateKeeper. At which point the very last line is opening the programme (alternatively open in Finder as you normally would).

I'd also like to add that the lines beginning with the hash(#) aren't required (being comments) in case you were tempted to add them.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.