opa334 / Dopamine

Dopamine is a semi-untethered jailbreak for iOS 15 and 16
MIT License
3.09k stars 1.29k forks source link

Unable to build Dopamine, branch 2.x #582

Closed jasondinh closed 1 month ago

jasondinh commented 1 month ago
> Making all for tweak rootlesshooks…
==> Preprocessing SpringBoard.x…
==> Compiling SpringBoard.x (arm64)…
==> Preprocessing cfprefsd.x…
==> Compiling cfprefsd.x (arm64)…
==> Preprocessing installd.x…
==> Compiling installd.x (arm64)…
==> Preprocessing lsd.x…
==> Compiling lsd.x (arm64)…
In file included from lsd.x:2:
In file included from ../.include/libjailbreak/util.h:4:
Dopamine/BaseBin/rootlesshooks/../.include/libjailbreak/info.h:8:10: fatal error: 'xpc/xpc.h' file not found
#include <xpc/xpc.h>
         ^~~~~~~~~~~
1 error generated.
make[5]: *** [Dopamine/BaseBin/rootlesshooks/.theos/obj/arm64/lsd.x.83a5647e.o] Error 1
rm Dopamine/BaseBin/rootlesshooks/.theos/obj/arm64/lsd.x.m
make[4]: *** [/Dopamine/BaseBin/rootlesshooks/.theos/obj/arm64/rootlesshooks.dylib] Error 2
make[3]: *** [internal-library-all_] Error 2
make[2]: *** [rootlesshooks.all.tweak.variables] Error 2
make[1]: *** [rootlesshooks] Error 2
make: *** [all] Error 2

xpc.h is availabe in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/include/xpc

opa334 commented 1 month ago

Update Xcode to 15.3. I also copied some xpc headers into $THEOS/include, but I don't think it's needed anymore with Xcode 15.3.

jasondinh commented 1 month ago

I'm using Xcode 15.4, but copying xpc folder from the path above to theos and it builds. Got a couple error at the end but Dopamine.app is available in build folder.

Ad-Hoc signing Dopamine
xattr -rc build/Build/Products/Debug-iphoneos/Dopamine.app
ldid -SDopamine/Dopamine.entitlements build/Build/Products/Debug-iphoneos/Dopamine.app/Dopamine
ldid -s build/Build/Products/Debug-iphoneos/Dopamine.app
ldid.cpp(3335): _assert(): flag_S
make[1]: *** [Dopamine.ipa] Error 1
make: *** [all] Error 2
opa334 commented 1 month ago

You need Procursus ldid https://github.com/ProcursusTeam/ldid/releases

jasondinh commented 1 month ago

Thank you, the whole thing now runs properly.