error compiling with xcode 9 and iOS 11 device

Subforum for discussion and help with ScummVM's iPhone port

Moderator: ScummVM Team

juamps
Posts: 5
Joined: Sun Oct 01, 2017 10:12 am

error compiling with xcode 9 and iOS 11 device

Post by juamps » Sun Oct 01, 2017 5:16 pm

I'm getting this error

ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/System/Library/PrivateFrameworks'
ld: library not found for -lvorbisfile
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I'm trying to build on an iPad with iOS 11 using xcode 9.

I've been reading that privateframeworks have been removed by apple

Any thoughts?

thanks

Foxic
Posts: 2
Joined: Mon Oct 02, 2017 6:45 pm

Post by Foxic » Mon Oct 02, 2017 9:47 pm

I've just got ScummVM running on iOS11. I had to fix the dependancies and set the build settings but it compiled fairly easily.
I can put my xcodeproj on GitHub if it helps

juamps
Posts: 5
Joined: Sun Oct 01, 2017 10:12 am

Post by juamps » Mon Oct 02, 2017 11:19 pm

If you could post your project that would be great.
Or a quick step by step on the dependencies you had to fix? How did you resolve the privateframeworks one?

Foxic
Posts: 2
Joined: Mon Oct 02, 2017 6:45 pm

Post by Foxic » Tue Oct 03, 2017 8:48 am

Here's a complete project on mega --> "https://mega.nz/#!gSISERrS!1BN3M--AvNpE ... yZvIEdnpmY"

The frameworks dir has changed to F/Applications/Xcode/.../Frameworks so it was just a case of re-linking the necessary frameworks, finding the missing 'included' files and then editing the xcodeproj where necessary.

I've edited the xcodeproj so it only compiles for iPhone so you may want to re-enable iPads.

I started Sam&Max Hit the Road and it seemed to all be working but this is my first foray into ScummVM so I'm probably not the best test subject.

Portrait mode brings up the keyboard which I may be able to get rid of.

One thing I'm struggling with is getting out of the game and back to ScummVM. Any ideas?

juamps
Posts: 5
Joined: Sun Oct 01, 2017 10:12 am

Post by juamps » Wed Oct 04, 2017 4:55 am

Thanks for the help.

I had trouble with your project but it gave ideas on what was wrong on mine.
I updated the path of privateframeworks to frameworks
i also had to remove and add some frameworks:

Image

And to answer your question, to exit a game, swipe down using 2 fingers

Here is a list of the in-game gestures:

Gesture Description
Two fingers swipe down
Display the ScummVM menu for loading, saving, etc.

Two fingers swipe right
Enable / disable the touchpad mode

Two fingers swipe up
Enable / disable the mouse-click-and-drag mode
Two fingers tap
Simulate a right click. You should tap with one finger, and then tap with another while keeping your first finger on the screen.

Two fingers double-tap
Skip the cinematic / video

The iOS keyboard is visible when the device is in portrait mode, and hidden in landscape mode.

User avatar
criezy
ScummVM Developer
Posts: 546
Joined: Sat Sep 23, 2006 10:41 am
Location: West Sussex, UK

Post by criezy » Thu Oct 12, 2017 10:25 pm

The error with vorbisfile is due to the package from the blog post we were previously pointing to using non-standard library names.

In september we sanitised our tool that creates the Xcode project and as a result those non-standard names no longer work. For example in that package the libvorbisfile.a file is included in the libvorbis.a file and does not exist on its own, but our tool now expect it to exist as a separate file.

The changes in september also introduced a bug with the libffi.a, but I fixed this today. I also prepared a package with correct libraries and new instructions that will work with the latest source code. You can find those on our wiki and they should work with the latest ScummVM source code.

juamps
Posts: 5
Joined: Sun Oct 01, 2017 10:12 am

Post by juamps » Sun Oct 15, 2017 12:07 am

Thanks for the update.

I tried to build using the updated code but not being able to run it on my devices.

The build completes, links, copies but at the end I get an alert pop-up sayin there was an internal api error.

(I'm able to build other projects using the same device I'm trying to build scummvm to)

any ideas?

User avatar
criezy
ScummVM Developer
Posts: 546
Joined: Sat Sep 23, 2006 10:41 am
Location: West Sussex, UK

Post by criezy » Sun Oct 15, 2017 7:27 am

I don't really have an idea. I never saw that error myself, but googling it seems to indicate there are possible causes for this error. You can for example have a look at https://stackoverflow.com/questions/356 ... ipod-touch and see if one of those could be your issue.

Maybe it is also related to some of the libraries in the new package. You can try to disable some of those that are optional to see if this solves the issue, and if it does I would be interested in knowing which one is the culprit. Disabling libraries is done by passing options to the create_project call. For example our current instruction have a --disable-theora as there is no theory library in the package we provide. You can try to also add --disable-jpeg to not use the jpeg library. This means some games will not be playable though (those that use jpeg, such as Myst ME). To see all options run create_project with --help (and no other option).

It might also help us identify the problem if you indicate which Xcode version you are using and what is your device (which model of iPhone or iPad).

juamps
Posts: 5
Joined: Sun Oct 01, 2017 10:12 am

Post by juamps » Sun Oct 15, 2017 8:42 pm

well, this is strange.

I tried building on another machine (a MacBook Pro) using the same iPad 2 Air that previously had the issue and it worked...

The machine where I tried building and it didn't work is a MacBook Air if that makes any sense..

User avatar
criezy
ScummVM Developer
Posts: 546
Joined: Sat Sep 23, 2006 10:41 am
Location: West Sussex, UK

Post by criezy » Sun Oct 15, 2017 9:51 pm

Not really. Unless the two machines have a different macOS X and/or Xcode version.

alanshutko
Posts: 1
Joined: Sun Oct 15, 2017 4:09 pm

Post by alanshutko » Mon Oct 16, 2017 1:53 am

There seems to be a case sensitivity problem (perhaps only on certain versions of Xcode or iOS).

I needed to make sure that the case of ScummVM in the project (Build Settings -> Packaging -> Product Name) matched the one in Info.plist (Executable File). The Info.plist one was "ScummVM" and the one in the project was "scummvm".

I haven't sorted out yet where the difference originates, but fixing the project to match the plist fixed installation.

darthcircuit
Posts: 2
Joined: Thu Feb 11, 2016 4:46 pm

Post by darthcircuit » Wed Oct 18, 2017 3:42 pm

can someone post a working ipa? I don't have a mac and am trying to install via cydia impactor. I tried the official build, but it gave me a 32 bit error when trying to install haha.

Zagreba
Posts: 3
Joined: Tue Oct 24, 2017 10:38 pm

Post by Zagreba » Sun Oct 29, 2017 1:40 pm

it would be very helpful if you could post an ipa :)

blackpat
Posts: 4
Joined: Thu Nov 09, 2017 12:57 pm

Post by blackpat » Mon Nov 13, 2017 10:16 am

An IPA wont do any good, because of the new signing. One could setup a Testflight group and add your Apple IDs.

Zagreba
Posts: 3
Joined: Tue Oct 24, 2017 10:38 pm

Post by Zagreba » Mon Nov 13, 2017 10:30 am

Im signing ipas with the ipastore app so an ipa would be amazing
They even had a scummvm for download there but it was 32 bit :(

Post Reply