OSX with case-sensitive filesystem: cannot launch

Where bugs go to lie down and rest

Moderator: Moderator

Post Reply
Message
Author
draeath
Wayist
Posts: 15
Joined: Wed Oct 18, 2006 4:55 pm

OSX with case-sensitive filesystem: cannot launch

#1 Post by draeath »

In the Info.plist, you have the "CFBundleExecutable" key set to "T-Engine" however the executable is actually "t-engine" - all lowercase. This causes a failure to run on case-sensitive filesystems. All filename handling should be done as it is on Linux - where case sensitivity is the default. Anyone then using an insensitive filesystem will work transparently.

There may be other case sensitivity issues as well. After dropping in a symlink and testing, instead of a black screen (as you get when you execute T-Engine.app/Contents/MacOS/t-engine directly) I actually got a fullscreen menu background (animated, looked normal) with music and the standard cursor, but no menus. I had to force-quit as I had no way to interact other than toggling the animated background. This may be a separate retina / NSHighResolutionCapable issue, but I couldn't be sure because of the case sensitivity issue.

Here's some stuff from my terminal as I looked around, in addition to the full Info.plist just in case. I've put lines between commands for clarity.

Code: Select all

vagante:TE4 draeath$ pwd
/Users/draeath/Applications/TE4

vagante:TE4 draeath$ ls -lah
total 112
drwxr-xr-x   4 draeath  staff   340B Nov 15 22:24 .
drwxr-xr-x  24 draeath  staff   986B Nov 15 22:17 ..
-rw-r--r--@  1 draeath  staff   6.0K Nov 15 22:23 .DS_Store
-rw-r--r--   1 draeath  staff   625B May 19  2014 CONTRIBUTING
-rw-r--r--   1 draeath  staff    34K May 19  2014 COPYING
-rw-r--r--   1 draeath  staff   166B Feb  3  2015 COPYING-MEDIA
-rw-r--r--   1 draeath  staff   2.1K May 19  2014 CREDITS
drwxr-xr-x   3 draeath  staff   102B Oct 28 05:29 T-Engine.app
drwxr-xr-x   9 draeath  staff   306B Nov 15 22:20 game
-rw-r--r--   1 draeath  staff     0B Nov 15 22:24 te4_log.txt

vagante:TE4 draeath$ open T-Engine.app/
The application cannot be opened because its executable is missing.

vagante:TE4 draeath$ file T-Engine.app/Contents/Info.plist
T-Engine.app/Contents/Info.plist: XML  document text

vagante:TE4 draeath$ grep -A1 CFBundleExecutable T-Engine.app/Contents/Info.plist
	<key>CFBundleExecutable</key>
	<string>T-Engine</string>

vagante:TE4 draeath$ file T-Engine.app/Contents/MacOS/T-Engine
T-Engine.app/Contents/MacOS/T-Engine: cannot open `T-Engine.app/Contents/MacOS/T-Engine' (No such file or directory)

vagante:TE4 draeath$ file T-Engine.app/Contents/MacOS/t-engine
T-Engine.app/Contents/MacOS/t-engine: Mach-O 64-bit executable x86_64

vagante:TE4 draeath$ cat T-Engine.app/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>BuildMachineOSBuild</key>
	<string>10J567</string>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleDocumentTypes</key>
	<array/>
	<key>CFBundleExecutable</key>
	<string>T-Engine</string>
	<key>CFBundleIconFile</key>
	<string>te4.icns</string>
	<key>CFBundleIdentifier</key>
	<string>org.te4.T-Engine</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>T-Engine</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleURLTypes</key>
	<array/>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>DTCompiler</key>
	<string></string>
	<key>DTPlatformBuild</key>
	<string>4A304a</string>
	<key>DTPlatformVersion</key>
	<string>GM</string>
	<key>DTSDKBuild</key>
	<string>4A304a</string>
	<key>DTSDKName</key>
	<string>macosx10.6</string>
	<key>DTXcode</key>
	<string>0400</string>
	<key>DTXcodeBuild</key>
	<string>4A304a</string>
	<key>LSMinimumSystemVersion</key>
	<string>10.6</string>
	<key>NSPrincipalClass</key>
	<string>NSApplication</string>
	<key>NSServices</key>
	<array/>
	<key>UTExportedTypeDeclarations</key>
	<array/>
	<key>UTImportedTypeDeclarations</key>
	<array/>
</dict>
</plist>

draeath
Wayist
Posts: 15
Joined: Wed Oct 18, 2006 4:55 pm

Re: OSX with case-sensitive filesystem: cannot launch

#2 Post by draeath »

Hmm about the bad startup post-fix, it seems that TE4 isn't handling retina correctly. It sees the native resolution:

Code: Select all

vagante:TE4 draeath$ cat ~/Library/Application\ Support/T-Engine/4.0/settings/resolution.cfg
window.size = '2880x1800 Fullscreen'
However, from what I can see after startup, the game is being rendered in a lower resolution (but drawing at the full resolution) - resulting in a cropped upscaled render anchored to the bottom-left corner.

Here are two screenshots, since it's probably easier to see than explain ;)

draeath
Wayist
Posts: 15
Joined: Wed Oct 18, 2006 4:55 pm

Re: OSX with case-sensitive filesystem: cannot launch

#3 Post by draeath »

I managed to "fix" the display issue by hand-twiddling settings files:

Code: Select all

vagante:settings draeath$ cat resolution.cfg window_pos.cfg
window.size = '1440x900 Fullscreen'
window.pos = {x=0, y=-900}
This works, but it looks really ugly, as this is half-resolution. The game seems to freak out if I try to use my native resolution, no matter my window.pos twiddling. It just doesn't seem "aware" and is using Apple's crappy failover rendering thing.

... also another bug? The game hangs when I try to quit the proper way, when I hit the 'quit confirmation it just sticks, and I have to force-quit. Music continues playing until I do so, I should note.

draeath
Wayist
Posts: 15
Joined: Wed Oct 18, 2006 4:55 pm

Re: OSX with case-sensitive filesystem: cannot launch

#4 Post by draeath »

Arg, spoke too soon! After changing nothing, it's now opening like this!

I give up. This game just seems broken on OSX :|

Well, not wholly. Windowed mode is usable, but still renders upscaled from half resolution.

draeath
Wayist
Posts: 15
Joined: Wed Oct 18, 2006 4:55 pm

Re: OSX with case-sensitive filesystem: cannot launch

#5 Post by draeath »

One last thing of note. Something is wierd with network comms - I can't log in (even though I can go over to my windows desktop and log in) and the news display never populates, just shows the spinning gear thing...

A packet capture shows the news being requested, and returned. This has also revealed a security issue that I'll be reporting privately.

Post Reply