After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 789151 - add support for iOS 11
add support for iOS 11
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: cerbero
1.x
Other Linux
: Normal blocker
: 1.12.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-10-18 14:35 UTC by Nicola
Modified: 2018-02-15 16:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (1.30 KB, patch)
2017-10-18 14:35 UTC, Nicola
none Details | Review
proposed fix (2.79 KB, patch)
2017-10-23 11:38 UTC, Nicola
committed Details | Review
orc: redefine system on iOS11 (1.81 KB, patch)
2017-10-23 14:43 UTC, Nicola
rejected Details | Review
fix gnutls build for iOS11 (2.14 KB, patch)
2017-10-23 14:49 UTC, Nicola
committed Details | Review

Description Nicola 2017-10-18 14:35:16 UTC
Created attachment 361807 [details] [review]
proposed patch

.
Comment 1 Nicola 2017-10-18 17:34:25 UTC
additionally on iOS 11 crt_externs.h header was removed from simulator so the trick here:

https://cgit.freedesktop.org/gstreamer/cerbero/tree/config/ios.config#n121

does not work anymore a solutions seems to link from macosx such this

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/crt_externs.h .

it should be linked in both simulator and iphoneos sdk

see also here:

https://bugs.webkit.org/show_bug.cgi?id=173937
Comment 2 Nicola 2017-10-19 07:44:56 UTC
orctest.c:1165:9: error: 'system' is unavailable: not available on iOS
  ret = system (cmd);

I disabled test, no time to provide a proper patch now, sorry, probably we should add a disable-test configure options and enable it when cross compiling for iOS
Comment 3 Nicola 2017-10-19 09:29:55 UTC
gnutls compilations fails

In file included from libopts.c:35:
./pgusage.c:168:21: error: 'system' is unavailable: not available on iOS
        ignore_val( system( fil_name));


solved removing the system call
Comment 4 Sebastian Dröge (slomo) 2017-10-19 14:35:25 UTC
Comment on attachment 361807 [details] [review]
proposed patch

Please update the patch so that compilation actually works, thanks :)
Comment 5 Nicola 2017-10-19 14:50:30 UTC
thanks for the review, 

the build finished successfully some minutes ago

actually I fixed manually the crt_externs.h header

not sure how to properly handle the orc compilation failure, I removed the test but probably a configure options should be added or the test should be automatically disabled when ios cross compilation is detected, what do you think about it?

regarding the gnutls issue I simply removed the system call, I think is not needed in general but I'm unsure if a such patch could be accepted, what do you think about it?

I'm on deadline now, it could take a while before I have some free time to properly fix iOS 11 build
Comment 6 Sebastian Dröge (slomo) 2017-10-19 14:53:56 UTC
Sounds both acceptable
Comment 7 Nicola 2017-10-23 11:38:31 UTC
Created attachment 362093 [details] [review]
proposed fix

update patch that handle the header links correctly
Comment 8 Nicola 2017-10-23 14:43:54 UTC
Created attachment 362104 [details] [review]
orc: redefine system on iOS11

on iOS 11 system is not defined, this patch fixs the issue in orc itself, if you want I can provide a cerbero patch too
Comment 9 Nicola 2017-10-23 14:49:05 UTC
Created attachment 362105 [details] [review]
fix gnutls build for iOS11
Comment 10 Matthew Waters (ystreet00) 2017-11-17 01:58:29 UTC
Here are the cerbero bits:

commit 423e00327946b5204d7f802991906022a67a9028
Author: Nicola Murino <nicola.murino@gmail.com>
Date:   Mon Oct 23 16:46:04 2017 +0200

    gnutls: remove system usage
    
    system is not defined in iOS11
    
    https://bugzilla.gnome.org/show_bug.cgi?id=789151

commit 0fbbd565ad9052a14054a501f702749501932aab
Author: Nicola Murino <nicola.murino@gmail.com>
Date:   Mon Oct 23 13:12:16 2017 +0200

    cerbero: add support for iOS 11.0
    
    https://bugzilla.gnome.org/show_bug.cgi?id=789151
Comment 12 Sebastian Dröge (slomo) 2017-11-20 08:51:59 UTC
Should also go into 1.12.4