Skip to content
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

OS X emulator broken (Frameworks corrupt) since 3.5.20 #208

Closed
circulon opened this issue May 29, 2017 · 21 comments
Closed

OS X emulator broken (Frameworks corrupt) since 3.5.20 #208

circulon opened this issue May 29, 2017 · 21 comments

Comments

@circulon
Copy link

I recently started bot development and this tools looks like the way to go for simple testing and verifying of menus and conversation flow.

Unfortunately all releases after 3.5.19 for OS X have damaged or corrupt frameworks included in the app package.
The frameworks involved are :
Electron
Mantle
ReactiveCocoa
Squirrel

The workaround is to additionally download the 3.5.19 version and copy the contents of frameworks folder within that app into the same place in the new app.
This shows that they are being referenced correctly but not copied or included correctly.

Could the build process be fixed so we don't need to do this each time there is a new release.

Thanks for your help

@eanders-ms
Copy link
Contributor

@circulon, what version of OS X are you running? The OS X emulator installs and runs successfully on our test Macs.

@bikasv
Copy link

bikasv commented Jun 2, 2017

Agreed. I tried 3.5.29 and 3.5.25 and both are failing on mac

@eanders-ms
Copy link
Contributor

@bikasv What version of OS X are you running?

@bikasv
Copy link

bikasv commented Jun 3, 2017

@eanders-ms It's OSX El Capitan 10.11.6

@circulon
Copy link
Author

circulon commented Jun 5, 2017 via email

@eanders-ms eanders-ms added the Bug Your classic code defect label Jun 7, 2017
@eanders-ms
Copy link
Contributor

Thank you for this info. It seems our Mac and Linux builds are broken or partially so in this release. We'll get it fixed in the next release.

@nwhitmont
Copy link
Contributor

macOS: 10.12.5 - Emulator: 3.5.29 - works fine for me.

@arturo-cobos
Copy link

Agree. Still same problem here.
OSX 10.12.5 on version 3.5.29

@eanders-ms
Copy link
Contributor

@circulon we released emulator v3.5.31 today. Please try it out and let us know if you're able to install. Thanks!

@eanders-ms eanders-ms added waiting and removed Bug Your classic code defect waiting labels Aug 3, 2017
@eanders-ms
Copy link
Contributor

Closing now. If you're still seeing this problem with the new emulator, reply here and I will open.

@eheading
Copy link

Still same problem here.
OSX 10.12.6 on version 3.5.31

Originally, it said the application was broken,
After I tried xattr -rc /Applications/botframework-emulator.app
It said “Check with the developer to make sure botframework-emulator works with this version of macOS.”

May I know is there any idea?
Or any guideline that how to install it correctly on latest MacOS?
Many thanks !

@eanders-ms eanders-ms reopened this Aug 16, 2017
@circulon
Copy link
Author

circulon commented Aug 24, 2017

This is Still Broken in OS X 10.12.5 & .6

The problem resides with the symlinks in the root of each of the Frameworks folders are being converted to plain files (probably during the packaging process)

Example Error
~/Desktop $ ./botframework-emulator.app/Contents/MacOS/botframework-emulator
dyld: Library not loaded: @rpath/ReactiveCocoa.framework/ReactiveCocoa
Referenced from: /Users/test/Desktop/./botframework-emulator.app/Contents/MacOS/botframework-emulator
Reason: no suitable image found. Did find:
/Users/test/Desktop/botframework-emulator.app/Contents/MacOS/../Frameworks/ReactiveCocoa.framework/ReactiveCocoa: file too short
Abort trap: 6

-- Workaround
Relinking the files and folders fixes the issues and allows normal usage

cd ~/Desktop/botframework-emulator.app/Contents/Frameworks/Electron\ Framework.framework/
rm Electron\ Framework
rm Libraries
rm Resources
ln -s Versions/A/Electron\ Framework .
ln -s Versions/A/Libraries .
ln -s Versions/A/Resources .

cd ../Squirrel.framework/
rm Headers
rm Modules
rm Resources
rm Squirrel
ln -s Versions/A/Headers .
ln -s Versions/A/Modules .
ln -s Versions/A/Resources .
ln -s Versions/A/Squirrel .

cd ../ReactiveCocoa.framework/
rm Headers
rm Modules
rm ReactiveCocoa
rm Resources
ln -s Versions/A/Headers .
ln -s Versions/A/Modules .
ln -s Versions/A/Resources .
ln -s Versions/A/ReactiveCocoa .

cd ../Mantle.framework/
rm Headers
rm Mantle
rm Modules
rm Resources
ln -s Versions/A/Headers .
ln -s Versions/A/Mantle .
ln -s Versions/A/Modules .
ln -s Versions/A/Resources . 

@astjohn
Copy link

astjohn commented Sep 2, 2017

Still same problem here.
OSX 10.12.6 on version 3.5.31

OS simply states that the application can't be opened. Fix from @circulon and @eheading didn't seem to make a difference for me. Also couldn't open from command line.

@eanders-ms eanders-ms self-assigned this Sep 5, 2017
@andriyadi
Copy link

Just sharing here. Experienced exactly the same problem today.
After downloading the zip file, I extract with The Unarchiver which is somehow default on my macOS, the problem happens. Out of curiosity, I used another extracting app, in this case Archive Utility which is built-in macOS, now the emulator can run!

Hope it helps.

@eheading
Copy link

@andriyadi Thanks a lot ! Finally a workable solution !! I can run it on my mac now.

@eanders-ms
Copy link
Contributor

@andriyadi Thank you for posting this. This has been an intractable problem for us. @astjohn, @circulon, @bikasv, @arturo-cobos does this help you?

@eanders-ms
Copy link
Contributor

Closing this issue as we appear to have a solution now.

@hmontes
Copy link

hmontes commented Nov 28, 2017

Weird. This solution worked for me. Why this work instead of the unarchiver?

@storyer
Copy link

storyer commented Dec 7, 2017

Hi guys, that's Volodymyr from the Unarchiver team.

Indeed there's a problem, Unarchiver unpacks aliases from the archive as a regular files and thus the issue occurs. If one unpacks it with a system extraction tool, everything works perfectly.

Moreover, we've noticed that if we'll extract archive with the system tools, than pack it again with system tools, Unarchiver can extract that archive properly.

Here we need your assistance to know more on how it was originally packed, I think that will help us a lot to locate origin of the extracting issue. I'll be looking forward for your replies.

Thanks @hmontes for pointing that out.

@eanders-ms eanders-ms removed their assignment Dec 7, 2017
@eanders-ms
Copy link
Contributor

@storyer Thanks for posting here. We use https://github.com/electron-userland/electron-builder to build the redistributable app. I'm not familiar with its internal operation.

@iamandrewluca
Copy link

iamandrewluca commented Aug 28, 2018

Also got this issue.
I am using brew on macOS to install apps (is using unzip under the hood).
I will try to manually download, and extract using another tool. Thanks!

brew cask install botframework-emulator

image

Can confirm, found file downloaded by brew at location

~/Library/Caches/Homebrew/Cask/botframework-emulator--3.5.36.zip

Unarchiving with default macOS Archive Utility works, with The Unarchiver or unzip does not work.
It may be related to hard and soft symlinks
man unzip

BUGS

    [Unix] Unix special files such as FIFO buffers (named pipes), block devices and character devices are
    not restored even if they are somehow represented in the zipfile, nor are hard-linked files relinked.
    Basically the only file types restored by unzip are regular files, directories  and  symbolic  (soft)
    links.

Maybe here needs to be ln -sf ?!

https://github.com/electron-userland/electron-builder/blob/c35b3150536be66a9e1c2aae75f7e8f7f610699d/packages/dmg-builder/src/dmg.ts#L321

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests