CrossOver Support - Community Forums

Important Information These are community forums and not official technical support. If you need official support: Contact Us

CrossOver Mac
Discussion about CrossOver Mac

The following comments are owned by whoever posted them. We are not responsible for them in any way.

Back to Threads Reply to Thread

Can't create new Bottle

Hi!

I just installed Crossover Version 18.0 (18.0.0.31656) for Mac on a High Sierra from the site. Bland instalation, with no error or quirk. Just next, next and finish. No hassle or errors.

Every time I try to create a new (my first) bottle I get an error: "OSError: [Errno 20] Not a directory".

It doesn't matter if I install a new application, or create a brand new empty bottle. Always the same error.

I tried to google for the error (and look here), but I didn't find anything. I tried to change the default bottle directory both in the "defaults write com.codeweavers.CrossOver" or in the config file CrossOver.conf but it didn't change anything.

Luckly I found somewhere a post showing the command to create bottles. (/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin/cxbottle). While trying the command I noticed that the path /Applications/CrossOver.app/Contents/SharedSupport/CrossOver/bin was a file, and not a directory. The file content was the name os another directory (CrossOver-Hosted Application). Well .. that is strange.

I renamed the file to .old and created a symbolic link (ln -s "CrossOver-Hosted Application" bin) and tried to run cxbottle again. Well .. more errors ... now in lib directory.

I don't know why, all the symbolic links in the app were converted to regular files. I looked for them and changed one by one. (I'll post how I did it). And now it is working like a charm.

My educated guess is that the installation ZIP (crossover-18.0.0.zip) is damaged. Actually, ZIP files does not work with symbolic links. That's a good reason why that happened! (I extracted with B1FreeArchiver). Maybe it is time to make a .DMG file for it!

How I fixed it? First I created a script to create the symbolic link from the content of the file. I callt is fixlink:

#!/bin/sh
FILE=`basename "$1"`
DIR=`dirname "$1"`
pushd $DIR > /dev/null
mv "$FILE" "$FILE.old"
ln -s `cat "$FILE.old"` "$FILE"
popd > /dev/null

Then I looked for small files that are not called ".old" and listed the content:

$ find . -type f -size -40c -not -name \*.old -exec grep -IH . {} \;

Many files ... most of them executables to point to some dummy, and libraries pointing to the right version in lib directory.

Now it was time to fix every file. Some files are legit:

./Contents/Resources/CrossOver CD Helper.app/Contents/PkgInfo:APPL????
./Contents/Resources/Bottle Helper.apptemplate/Contents/PkgInfo:APPL????
./Contents/Resources/Menu Helper.apptemplate/Contents/PkgInfo:APPL????
./Contents/Resources/CrossOver CrossTie Launcher.app/Contents/PkgInfo:APPL????
./Contents/Frameworks/Sparkle.framework/Versions/A/Resources/finish_installation.app/Contents/PkgInfo:APPL????
./Contents/PkgInfo:APPL????

All the other files can be changed. Here is the list of the files I changed:

./Contents/SharedSupport/CrossOver/lib64/libcxjpeg.dylib.old:libcxjpeg.9.dylib
./Contents/SharedSupport/CrossOver/lib64/libgnutls.dylib.old:libgnutls.30.dylib
./Contents/SharedSupport/CrossOver/lib64/libcxpng16.dylib.old:libcxpng16.16.dylib
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/pstores.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/ctfmon.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/mdm.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/mosearch.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/maildoff.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/imjpmig.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/ddhelp.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/qttask.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/fakedlls/findfast.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib64/wine/progman.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/maildoff.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/pstores.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/mdm.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/ctfmon.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/qttask.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/ddhelp.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/findfast.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/mosearch.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/wine/imjpmig.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib64/libcxfreetype.dylib.old:libcxfreetype.6.dylib
./Contents/SharedSupport/CrossOver/lib64/libgmp.dylib.old:libgmp.10.dylib
./Contents/SharedSupport/CrossOver/lib64/libcxfreetype.so.old:libcxfreetype.dylib
./Contents/SharedSupport/CrossOver/lib64/libwine.1.dylib.old:libwine.1.0.dylib
./Contents/SharedSupport/CrossOver/bin.old:CrossOver-Hosted Application
./Contents/SharedSupport/CrossOver/lib/libcxjpeg.dylib.old:libcxjpeg.9.dylib
./Contents/SharedSupport/CrossOver/lib/libgnutls.dylib.old:libgnutls.30.dylib
./Contents/SharedSupport/CrossOver/lib/libcxpng16.dylib.old:libcxpng16.16.dylib
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/pstores.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/ctfmon.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/mdm.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/mosearch.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/maildoff.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/imjpmig.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/ddhelp.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/qttask.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/fakedlls/findfast.exe.old:cxdummy.exe
./Contents/SharedSupport/CrossOver/lib/wine/progman.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/maildoff.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/pstores.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/mdm.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/ctfmon.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/qttask.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/ddhelp.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/findfast.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/mosearch.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/wine/imjpmig.exe.so.old:cxdummy.exe.so
./Contents/SharedSupport/CrossOver/lib/libcxfreetype.dylib.old:libcxfreetype.6.dylib
./Contents/SharedSupport/CrossOver/lib/libgmp.dylib.old:libgmp.10.dylib
./Contents/SharedSupport/CrossOver/lib/libcxfreetype.so.old:libcxfreetype.dylib
./Contents/SharedSupport/CrossOver/lib/libwine.1.dylib.old:libwine.1.0.dylib
./Contents/SharedSupport/CrossOver/doc/ja/html/images.common.old:../../images.common
./Contents/SharedSupport/CrossOver/doc/fr/html/images.mac/mac-cpl.png.old:../../../en/html/images.mac/mac-cpl.png
./Contents/SharedSupport/CrossOver/doc/fr/html/images/supportsite.png.old:../../../en/html/images/supportsite.png
./Contents/SharedSupport/CrossOver/doc/fr/html/images.common.old:../../images.common
./Contents/SharedSupport/CrossOver/doc/en/html/images.common.old:../../images.common
./Contents/SharedSupport/CrossOver/CrossOver-Hosted Application/regedit.old:wine
./Contents/SharedSupport/CrossOver/CrossOver-Hosted Application/regsvr32.old:wine
./Contents/SharedSupport/CrossOver/CrossOver-Hosted Application/cxstart.old:wine
./Contents/SharedSupport/CrossOver/CrossOver-Hosted Application/autorun.old:wine
./Contents/SharedSupport/CrossOver/share/crossover/cxbottle/deb.compat.old:5
./Contents/Frameworks/Sparkle.framework/Headers.old:Versions/Current/Headers
./Contents/Frameworks/Sparkle.framework/Sparkle.old:Versions/Current/Sparkle
./Contents/Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj.old:fr.lproj
./Contents/Frameworks/Sparkle.framework/Versions/A/Resources/pt.lproj.old:pt_BR.lproj
./Contents/Frameworks/Sparkle.framework/Versions/Current.old:A
./Contents/Frameworks/Sparkle.framework/Resources.old:Versions/Current/Resources

Good luck if you have the same problem I had!

1

Please Note: This Forum is for non-application specific questions relating to installation/configuration of CrossOver. All application-specific posts to this Forum will be moved to their appropriate Compatibility Center Forum.

CrossOver Forums: the place to discuss running Windows applications on Mac and Linux

CodeWeavers or its third-party tools process personal data (e.g. browsing data or IP addresses) and use cookies or other identifiers, which are necessary for its functioning and required to achieve the purposes illustrated in our Privacy Policy. You accept the use of cookies or other identifiers by clicking the Acknowledge button.
Please Wait...
eyJjb3VudHJ5IjoiVVMiLCJsYW5nIjoiZW4iLCJjYXJ0IjowLCJ0enMiOi01LCJjZG4iOiJodHRwczpcL1wvbWVkaWEuY29kZXdlYXZlcnMuY29tXC9wdWJcL2Nyb3Nzb3Zlclwvd2Vic2l0ZSIsImNkbnRzIjoxNzA4NjEzODE4LCJjc3JmX3Rva2VuIjoielZVN1ZyeTdkWll3ZmVBUSIsImdkcHIiOjB9