#development

1 messages · Page 483 of 1

pliant fossil
#

apple's weird

#

no package libxml2 found

#

i should do this on my pc

#

after installing debian

tepid olive
pliant fossil
#

whats the cflags for

tepid olive
#

x_CFLAGS="-I(path-to-libxml-headers)"

#

x_LIBS="-L(path-to-libxml-dylib) -lxml2"

pliant fossil
#

oh i forgot its in /usr/local

tepid olive
#

yea

pliant fossil
#

yea

rain prairie
#

yea

faint timber
#

one thing thats weird

#

I've noticed some projects use eg curl_LIBS and others use libcurl_LIBS

pliant fossil
#

yeah so it worked, but now i need sqlite3

#

installed

#

can you make it so every configure script uses /usr/local instead of /usr

pliant fossil
#

it asked me for the install prefix of iconv, and i just installed with apt. i do /usr/local right?

#

screw it i'll just do --without-iconv

#

holy shit

#

that took forever

#

oh, and also, is there an easy way to find dependencies of software

#

looking at the configure script's output i can tell that this will be a very minimal installation of PHP

lime pivot
#

don't do that actually, see the conversation after my message

pliant fossil
#

i swear to god

#

had enough im installing debian

faint timber
#

docker?

pliant fossil
#

i will never try to build docker lmao

faint timber
#

no

#

like

#

use docker debian

#

to build

pliant fossil
#

o

wicked summit
#

jew mexico

undone nest
#

jew york

tepid olive
pliant fossil
pliant fossil
#

nvm nvm

#

@tepid olive is getting the macos sdk actually required for what i'm doing?

tepid olive
#

Only if you want to work with procursus

#

Which is preferred if you’re working with something that has cross compiled dependencies

pliant fossil
#

i don't plan to work with procursus unless I submit php

tepid olive
#

Then good luck

pliant fossil
#

thanks

tepid olive
#

Full php needs a lot more dependencies than we have currently

pliant fossil
#

:/

#

nvm then i'll try something more simple

#

so

#

What's a good configure command

tepid olive
#

How do I update the toolchain?

tepid olive
#

ios

#

Install clang

#

Its just called “clang”

#

I think I did already

#

Can you run “clang -v”

#

^

#

Can you run what i said

#

oh no

#

wait let me install it

pliant fossil
#

so what options should i use for configure scripts?

#

whats a good example

tepid olive
#

clang works now

#
clang version 10.0.0 (git@bingner.com:elucubratus.git 38d9371d79ade653c47347ca418b91e61808011c)
Target: arm64-apple-ios7.0
Thread model: posix
InstalledDir: /usr/bin```
pliant fossil
tepid olive
#

oh it works now

pliant fossil
#

elucubratus isnt that great for compiling fyi

tepid olive
#

hmm as long as it compiles, im happy for now 😂

pliant fossil
#

Aight

tepid olive
#
> Making all for tweak tweakname…
make[2]: Nothing to be done for 'internal-library-compile'.```
#

any idea what that means?

#

It means its already compiled

#

Run make clean first

#

oh it looks like it worked

#

Well, it installed and all that. The tweak itself doesn't. I copied something from an example which should make a red square appear on the lock screen; ```
@interface SBLockScreenViewControllerBase : UIViewController
@end

%hook SBLockScreenViewControllerBase

  • (void)viewDidLoad {
    %orig;

      // our code
      UIVisualEffectView *redRectangle = [[UIVisualEffectView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
      [redRectangle setBackgroundColor:[UIColor redColor]];
      [self.view addSubview:redRectangle];
    

}
%end```

#
> Making all for tweak xxx…
==> Preprocessing Tweak.x…
==> Preprocessing Tweak.x…
==> Compiling Tweak.x (arm64)…
==> Compiling Tweak.x (armv7)…
==> Linking tweak xxx(arm64)…
==> Generating debug symbols for xxx…
==> Linking tweak xxx(armv7)…
==> Generating debug symbols for xxx…```
#

could it be that its not building it for my arch?

#

What arch are you

#

arm64 so it should work

#

iPhone11,2 , running iOS 14.2

grim sparrow
#

the 11,2 is arm64e

#

add to your makefile ARCHS = arm64 arm64e

tepid olive
#

That gives me a segmentation fault

#

Segmentation fault: 11

#
ARCHS = armv7 arm64 arm64e
TARGET := iphone:clang:latest:7.0
INSTALL_TARGET_PROCESSES = SpringBoard


include $(THEOS)/makefiles/common.mk

TWEAK_NAME = tn

tn_FILES = Tweak.x
tn_CFLAGS = -fobjc-arc

include $(THEOS_MAKE_PATH)/tweak.mk```
tepid olive
lime pivot
#

I should probably have theos do arm64e by default on linux/ios now

#

it's been set to macOS only so far because the source wasn't released for ages

grim sparrow
lime pivot
#

go ahead if you wanna get your name in the theos contributors lmao

grim sparrow
#

im not bothered

lime pivot
#

it's an easy one, it just checks if platform is macosx wherever it calculates the default ARCHS

lime pivot
#

ah yep

#

just take out the platform check

grim sparrow
#

like that right? shake

tepid olive
#

why is armv7 still default though

#

armv7 got dropped in 2016 no?

#

for iOS support at least

tepid olive
#

so what do I do now? @lime pivot

#

wait for a fix or can I fix it myself somehow

misty cradle
#

flame repo guy

lime pivot
#

I don't know exactly which toolchain you're meant to use but it definitely needs to be one newer than the one you're using

lime pivot
lime pivot
misty cradle
#

goodmorning flame repo guy

tepid olive
#

it builds just fine without specifying archs in the makefile

#

it shows up in cydia and all that

#

but the code doesn’t run or something

lime pivot
# lime pivot correct but Theos default deploy target is 7.0

we're supporting as far back as the toolchain can do ootb for best default results, though of course you're much better off setting a TARGET to your exact supported minimum version so clang doesn't yell at you to use @available and the generated binary can be more optimised with modern dyld stuff

lime pivot
tepid olive
#

is there a way to fix that? I think I installed the latest clang version

lime pivot
#

so where do you have clang installed from?

tepid olive
#

cydia, let me send a screenshot

lime pivot
#

which repository I mean

tepid olive
#

bingner

lime pivot
#

that should be fine…

#

@upbeat wyvern halp

tepid olive
#

:P

#

I appreciate the help btw. As you might have guessed, I’m pretty new to ios tweak development.

lime pivot
#

as an alternative you can install on Linux if that isn't too inconvenient for you. if you're on Windows there's WSL for that

tepid olive
#

I tried that before. I’ll try that again.

#

does that generate a deb file I can install or something?

grim sparrow
#

yeah

lime pivot
tepid olive
#
==> Signing tw…
bash: /home/user/theos/toolchain/linux/iphone/bin/ldid: cannot execute binary file: Exec format error
make[2]: *** [/home/user/theos/makefiles/instance/library.mk:51: /home/user/tw/.theos/obj/debug/tw.dylib] Error 126
rm /home/user/tw/.theos/obj/debug/tw.dylib.4319587c.unsigned
make[1]: *** [/home/user/theos/makefiles/instance/library.mk:37: internal-library-all_] Error 2
make: *** [/home/user/theos/makefiles/master/rules.mk:117: tw.all.tweak.variables] Error 2```
restive ether
#

amys aren’t real

tepid olive
lime pivot
tepid olive
#

the one without swift

lime pivot
#

you're not on a 32-bit or ARM OS by any chance?

#

that toolchain is x86_64-only

tepid olive
#
a@a:~/tw$ arch
x86_64```
#

ubuntu on WLS

lime pivot
#

no idea what the issue is, that binary should work fine then

#

possibly should retry downloading and extracting it again just in case something went wrong

tepid olive
#

thats what i thought

#

should I now try with the swift toolchain

lime pivot
#

either should be fine

#

doesn't really matter which I don't believe

tepid olive
#

alright, i'll try that now

#

Do I add the ARCHS = ... line in the Makefile? @lime pivot

#

I also noticed the Makefile uses $THEOS_MAKE_PATH, but when I echo it, its nothing.

#

oh it worked!

lime pivot
#

🥳

lethal ice
#

@tepid olive nice profile picture

tepid olive
#

thank you so much

lethal ice
#

is he yours

#

she*

tepid olive
#

nope :(

lethal ice
#

oh

tepid olive
#

i used to have it as a gif with glowing eyes

lime pivot
lethal ice
#

it's a she right

tepid olive
#

but nitro ran out

#

not sure hah

#

true goddess if she is :D

lethal ice
#

this is my king kitty

tepid olive
#

ahw

#

black cats <3

lethal ice
#

i can never take a good pic of him

#

ye

#

hi kirb

lime pivot
#

this is like the most shakycam pic I've seen ever

#

shakycam kitty

#

hi shakyscoop

lethal ice
#

lmao he always moves so fast its impossible

#

i swear im not tweaking on meth

lime pivot
#

meanwhile my cat just cbf

lethal ice
#

he has a gray belly

lime pivot
#

how old is he?

lethal ice
#

uhh

#

5 maybe

rain prairie
#

is that metric years

lethal ice
#

its YM years

lime pivot
lethal ice
#

aussie kitty

lime pivot
#

bonus oreo content for you

lethal ice
#

bro this is this the most cat activity the server has had in a while

rain prairie
# lime pivot

does it hover everywhere or does it just have retractable legs

lime pivot
#

🍞

rain prairie
#

cats are weird in that their landing gear goes up when they have landed

restive ether
#

bread

rain prairie
#

but it's out when they hover

restive ether
#

🥖 🍞

tepid olive
#

I tried to compile a tweak with that code, installed it. But it doesn't work for me. What am I missing?

surreal mountain
#

oh no a youtube series

lime pivot
tepid olive
lime pivot
#

he was a few months old when we adopted him so not sure how old he really is

tepid olive
#

I didn't get it from youtube though

lethal ice
#

nice

#

my kitty was 2 when we got him

lime pivot
#

the difference between him as a kitten and as an adult lol

#

I can explain it as I can lean down while wearing a hoodie without worrying about him grabbing the drawstrings

#

l a z y

tepid olive
#

I don't understand why the tweak isn't loading. Do I have to do anything else apart from installing it?

rain prairie
#

jailbreak your phone

tepid olive
#

lmao

#

I got that part, luckily

lime pivot
#

it's from 2018 so it probably just doesn't work any more

tepid olive
#

ah alright

#

any small code snippets I can use to verify the tweak is working?

restive ether
#

i’ve never jailbroken in my life

lime pivot
#
%ctor { abort(); }```
#

if it crashes, it works 😛

tepid olive
#

uhhh

#

is that safe to put into the springboard?

lime pivot
#

you'll just go to safe mode

tepid olive
#

alrighty, here goes nothing :D

rain prairie
#

you'll just go to safe mode
this is some quiet murderer whispering shit

tepid olive
#

this is the first time im sad my phone didn't crash when installing a tweak :'D

#

you have any idea what I can do now :(

lime pivot
rain prairie
#

lol

tepid olive
#

@lime pivot can you point me into the right direction debugging whatever is going on?

#

the build didn’t fail, no error/warning

high citrus
tepid olive
#

I’m pretty sure I am

tepid olive
#

but it doesn’t crash

high citrus
#

Well, did it install?

tepid olive
#

yeah

#

it shows up in cydia

high citrus
#

and you are not in safe mode?

slender glade
tepid olive
#

nope

high citrus
#

Are you running make clean, before building?

twilit jungle
#

make clean do do

tepid olive
#

will try that now

#

no success

#
Makefile  Tweak.x  control  tn.plist  packages```
#

do I specify archs in the Makefile or something?

twilit jungle
#

Whats in tn.plist?

glacial matrix
#

Try uninstalling and reinstalling. Stuff may be cached

pearl sail
#

Nice

pulsar cairn
#

How to set up theos on Mac

tepid olive
#

Segmentation fault (core dumped)

tepid olive
tepid olive
#

iPhone XS

#

building on linux * my bad XD

#

WSL though, not sure if thats a problem

#

how do I see exactly?

twilit jungle
#

So you did get segmentation fault on device when running it with the abort() code?

tepid olive
#

no, when running make package

glacial matrix
twilit jungle
#

Oh, share the full output you got

tepid olive
#

let me clean and rerun

#

oh even make clean returns "seg. fault (core dumped)"

twilit jungle
tepid olive
#

it did after adding the ARCHS = ... line

twilit jungle
#

You fked your environment RIP

tepid olive
#

its a new env :(

twilit jungle
#

Does it segfault after removing the ARCHS?

tepid olive
#

nope

twilit jungle
tepid olive
#
> Making all for tweak elmoware…
==> Preprocessing Tweak.x…
==> Preprocessing Tweak.x…
==> Compiling Tweak.x (armv7)…
==> Compiling Tweak.x (arm64)…
==> Linking tweak elmoware (arm64)…
==> Linking tweak elmoware (armv7)…
==> Generating debug symbols for elmoware…
==> Generating debug symbols for elmoware…
rm /home/chef/elmoware/.theos/obj/debug/arm64/Tweak.x.m
rm /home/chef/elmoware/.theos/obj/debug/armv7/Tweak.x.m
==> Merging tweak elmoware…
==> Signing elmoware…
> Making stage for tweak elmoware…
dm.pl: building package `com.elmoware.elmoware:iphoneos-arm' in `./packages/com.elmoware.elmoware_0.0.1-7+debug_iphoneos-arm.deb```
#

worked perfectly fine

twilit jungle
#

Thats doing armv7 and arm64

#

Share output with ARCHS

tepid olive
#

yeah im not sure why it doesn't do arm64e

twilit jungle
#

Because the default archs depends on the sdk

tepid olive
#

oh, add it to the makefile again?

twilit jungle
#

Yeah

tepid olive
#

which ones, only arm64 and armv7?

twilit jungle
#

What you had before

tepid olive
#

which caused the segmentation fault, correct? sorry for the questions but i'm trying to make sure there is no miscommunication.

twilit jungle
#

Yeah, want to see what step its segmentation faulting on

tepid olive
#

instantly

#

its the only thing it outputs

#
$ make package
Segmentation fault (core dumped)```
twilit jungle
#

run “make package messages=yes”

tepid olive
#

same thing

twilit jungle
#

Oof

#

This is with “ARCHS = arm64 arm64e” right?

tepid olive
#

yes

#

ARCHS = arm64 works fine

twilit jungle
#

Try just arm64

#

Where did you get your toolchain?

tepid olive
twilit jungle
#

smaller size or the bigger size?

tepid olive
#

bigger one

twilit jungle
#

swift moment F

tepid olive
#

I did the other one first though

#

that didn't work

#

shall I remove the whole theos folder and reinstall?

twilit jungle
#

You can try removing just the toolchain folder

#

But both of those toolchains should work, bigger one is a fork of the smaller one so...

tepid olive
#

rm -fr $THEOS/toolchain/
and then run the thing on the github page, right?

twilit jungle
#

Yeah

tepid olive
#

alright, just a sec

#

ah yeah... thats why I installed the swift one

#

bash: /home/chef/theos/toolchain/linux/iphone/bin/ldid: cannot execute binary file: Exec format error

gaunt mesa
#

@twilit jungle wth is ur pfp brother

twilit jungle
#

Its me wdym

gaunt mesa
tepid olive
#

why am I getting this error :'(

gaunt mesa
#

waiting for the uhh

twilit jungle
#

white people
wtf

gaunt mesa
twilit jungle
#

who tf uses discord in white mode

gaunt mesa
#

ghost is a race shifter

tepid olive
#

^

gaunt mesa
#

he can turn white and black on demand

#

man, i got too used to it now

#

not like i'm using discord light mode in the night

twilit jungle
#

One simply does not get used to being blinded

gaunt mesa
#

ever since they added adapted mode

#

oh fine

#

bye

#

but i don't

twilit jungle
gaunt mesa
#

i have sync with computer

#

bro it's not night time

#

no

tepid olive
#
==> Signing elmoware…
bash: /home/chef/theos/toolchain/linux/iphone/bin/ldid: cannot execute binary file: Exec format error
make[2]: *** [/home/chef/theos/makefiles/instance/library.mk:51: /home/chef/elmoware/.theos/obj/debug/elmoware.dylib] Error 126
rm /home/chef/elmoware/.theos/obj/debug/elmoware.dylib.4319587c.unsigned
make[1]: *** [/home/chef/theos/makefiles/instance/library.mk:37: internal-library-all_] Error 2
make: *** [/home/chef/theos/makefiles/master/rules.mk:117: elmoware.all.tweak.variables] Error 2``` Any ideas guys?
gaunt mesa
#

wth is wrong with u

#

no one does that

tepid olive
#

the smaller one

gaunt mesa
#

are u on linux

twilit jungle
#

Need to find ldid from somewhere else

tepid olive
#

WSL

twilit jungle
#

sbingner needs to fix his toolchain

gaunt mesa
#

bingner's broke?

slender glade
twilit jungle
#

Oh

gaunt mesa
#

procursus ldid works

tepid olive
#

sad fella hours.

twilit jungle
#

Well this is precompiled so it shouldn't be an issue

gaunt mesa
#

and the xcode one obviously

slender glade
#

How do u get procursus macOS

tepid olive
#

which one do I install from where?

slender glade
#

detailed

twilit jungle
#

you can try installing the bigger sized toolchain and copy the ldid from that one to the smaller one

surreal mountain
#

use katris tool chain

slender glade
#

what the dog doing

surreal mountain
twilit jungle
#

^ does that work for you without segmentation faults?

tepid olive
#

wellll adhoc codesign ;P

#

going to test it now

restive ether
#

methra1n

tepid olive
#

setting up and keeping a maintained linux ios toolchain is harder than doing the development on-ios imo

tepid olive
restive ether
#

ldid isn’t real it can’t hurt you

tepid olive
#

he is and he does

nimble parcel
#

I have a toolchain that’s under CD, needs the Orion branch tho so I haven’t made it official yet

restive ether
#

why do people keep making these

nimble parcel
restive ether
#

they release them then don’t ever update them lol

#

redundancy at its best

restive ether
twilit jungle
#

Don't need updating if it works correctly

nimble parcel
restive ether
twilit jungle
#

F

tepid olive
twilit jungle
#

how did you install it?

#

Also thats the same toolchain as the one on github page (bigger size)

tepid olive
#

wget https://github.com/CRKatri/llvm-project/releases/download/swift-5.3.2-RELEASE/swift-5.3.2-RELEASE-ubuntu18.04.tar.zst

#

oh

#

so... what could possibly be left to try to fix this 😂

twilit jungle
#

using the smaller sized toolchain and copying ldid from somewhere else

tepid olive
#

what do you suggest for a ldid source?

twilit jungle
#

The bigger sized toolchain, lol

tepid olive
#

the crkatari one?

twilit jungle
#

Yeah, download that and then copy the ldid in there to $THEOS/toolchain/linux/iphone/bin/ldid

restive ether
tepid olive
#

yeah, the buster one worked though

upbeat wyvern
twilit jungle
#

Wait which distro are you using?

tepid olive
#

ubuntu

twilit jungle
#

Ah that explains it

#

Are you on WSL 1 or 2?

restive ether
tepid olive
#

probably one

twilit jungle
#

Well use 2 then

slender glade
#

now convert Elu to procursus

tepid olive
tepid olive
#

did that, can I now run the same installation?

upbeat wyvern
#

I have it fixed in an updated toolchain but I was trying to make lldb work with arm64e better as well and that seems impossible so I haven’t finished testing it since I got sidetracked with ios15 checkrain etc

#

Seemed to be related to the way I made that ldid static

#

It works fine tor compiling with all of mine, lldb on arm64e not so much… also his is kinda broken on some other stuff I noticed but I forget exactly what it was

tepid olive
#

I enabled wsl version 2, why was wsl 1 not working? @twilit jungle

pearl sail
#

true

tepid olive
#

hmm so I redo everything I did and it should work?

restive ether
#

lldb arm64e works for the most part

pearl sail
#

WSL2 is just better anyways

restive ether
#

breakpoints are a little broke though lol

tepid olive
#

does wsl2 work without restarting or reinstalling the distro?

pearl sail
#

You might have restart your PC that is it

tepid olive
#

okok, see you in a few :)

turbid bobcat
#

iMobile question … when using idevicediagnostics mobilegestalt BatterySerialNumber … how do I output just the key value (the serial number)?

tepid olive
restive ether
#

:troll:

tepid olive
#

I installed WSL 2, got it all running and what not

#

but make package is taking forever

#

no output

#

progress though :D

high citrus
#

Why doesn't English have syntax highlighting

tepid olive
high citrus
#

or maybe it does...

tepid olive
#

make package has been running for 10 minutes without any output

#

do I wait or is this a lost cause? 🤣

lethal ice
#

something is wrong

tepid olive
#

hmm ok so I installed wsl 2

lethal ice
#

did it come with make

tepid olive
#

make is installed

#
$ make -v
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.```
lethal ice
#

is the theos variable set in your environment

tepid olive
#
$ echo $THEOS
/home/chef/theos```
lethal ice
#

f

tepid olive
#

yup

lethal ice
#

try it with a new project

tepid olive
#

this is a new project

#

ill make another one

#

Big loss

#

its only when I add arm64e to the ARCHS

twilit jungle
#

F

#

arm64f

tepid olive
#

:((((

#

lets say I do this on a raspberry pi, you reckon it would work?

#

doubt it would be a fun experience

#

I have no options left sadCat

twilit jungle
#

lol thats going to be worse than WSL

tepid olive
#
==> Compiling Tweak.x (armv7)…
bash: /home/pi/theos/toolchain/linux/iphone/bin/clang++: cannot execute binary file: Exec format error
make[3]: *** [/home/pi/theos/makefiles/instance/rules.mk:262: /home/pi/elmoware/.theos/obj/debug/armv7/Tweak.x.425340a7.o] Error 126
==> Compiling Tweak.x (arm64)…
bash: /home/pi/theos/toolchain/linux/iphone/bin/clang++: cannot execute binary file: Exec format error
make[3]: *** [/home/pi/theos/makefiles/instance/rules.mk:262: /home/pi/elmoware/.theos/obj/debug/arm64/Tweak.x.1a39a41d.o] Error 126
rm /home/pi/elmoware/.theos/obj/debug/armv7/Tweak.x.mrm /home/pi/elmoware/.theos/obj/debug/arm64/Tweak.x.m

make[2]: *** [/home/pi/theos/makefiles/instance/library.mk:52: /home/pi/elmoware/.theos/obj/debug/armv7/elmoware.dylib] Error 2
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [/home/pi/theos/makefiles/instance/library.mk:52: /home/pi/elmoware/.theos/obj/debug/arm64/elmoware.dylib] Error 2
make[1]: *** [/home/pi/theos/makefiles/instance/library.mk:37: internal-library-all_] Error 2
make: *** [/home/pi/theos/makefiles/master/rules.mk:117: elmoware.all.tweak.variables] Error 2```
#

yup

twilit jungle
tepid olive
#

idk what to do anymore

#

the world clearly doesn't want me developing tweaks

twilit jungle
#

did sbingner's toolchain not work after copying ldid?

tepid olive
#

i don't think I did it correctly, ill try that one more time

twilit jungle
#

Or wait you don't even have to copy ldid after changing to wsl 2

tepid olive
#

i'll reinstall it all

#

its just an endless wait when running make package @twilit jungle :'D

twilit jungle
#

run it with messages=yes

tepid olive
#

nothing happens

twilit jungle
#

what step does it endlessly wait on?

tepid olive
#

the first, i guess

#

it doesn't print anything

twilit jungle
tepid olive
#
$ make package messages=yes
twilit jungle
#

I am going to go ahead and blame this on ubantu

tepid olive
#

what other options do I have at this point lol

twilit jungle
#

resetup everything? a pure linux environment? a macOS environment? worse case scenario develop on device

tepid olive
#

I tried the latter first

#

that didn't work out so well either

#

.

twilit jungle
#

update your toolchain for that

tepid olive
#
4. Get the toolchain:

Theos Dependencies installs iOS Toolchain.
#

which do you recommend?

twilit jungle
#

uhh there should be only 1

tepid olive
#

well I have that installed

#

and thats how I got that error

#

but we'll see

#
 root# make package
Segmentation fault: 11```
twilit jungle
tepid olive
#

:')

restive ether
twilit jungle
misty cradle
#

which country is this???????

#

does not exist

pearl sail
twilit jungle
grim sparrow
#

invisible dgh0st

twilit jungle
#

Only invisible to the people that don't believe

tepid olive
#

just did the whole shabang on kali. no luck @twilit jungle :'D

twilit jungle
#

lol

#

you must believe then

grim sparrow
#

wtf

#

thats wild

primal perch
#

nghost

glacial matrix
misty cradle
#

🟥 🟥 🟥 🟥 🟥 🟥 🟥 🟥
🟥 🟥 🟥 ⬜ ⬜ 🟥 🟥 🟥
🟥 🟥 🟥 ⬜ ⬜ 🟥 🟥 🟥
🟥 ⬜ ⬜ ⬜ ⬜ ⬜ ⬜ 🟥
🟥 ⬜ ⬜ ⬜ ⬜ ⬜ ⬜ 🟥
🟥 🟥 🟥 ⬜ ⬜ 🟥 🟥 🟥
🟥 🟥 🟥 ⬜ ⬜ 🟥 🟥 🟥
🟥 🟥 🟥 🟥 🟥 🟥 🟥 🟥

twilit jungle
#

Just get a non OLED device

#

ez

misty cradle
tepid olive
#

ok

tepid olive
#

damn that looks good

#

wen eta capt disassembler

gentle grove
#

eta wen end with exit code 128

silver rampart
#

well fuck.

silver rampart
#

building python from source bc brew is stupid af wee

pliant fossil
#

how do i make automake use aarch64-apple-darwin-ld instead of just ld

grim sparrow
silver rampart
#

somehow building from source actually worked first try

surreal mountain
#

@silver rampart try procursus?

silver rampart
#

no

#

brew allows you to build from source

#

my backlog at the moment doesn't let me justify uprooting my entire workflow for everything and potentially going days without a stable OS/build system/etc unless absolutely necessary

#

next time i set up a macos install from ground zero and don't need to get it up and running in a single day i'll give it a shot

#

so maybe in August if I upgrade to macos 12

turbid bobcat
#

does mobilegestalt have an actual domain you can get into like com.apple.??? and use ideviceinfo -q {domain} -k HomeButtonType ? cause i don't like the xml from using idevicediagnostics mobilegestalt HomeButtonType

silver rampart
#

shouldn't you be able to get that info from places other than gestalt

turbid bobcat
silver rampart
pliant fossil
#

./configure --host=aarch64-apple-darwin CC=aarch64-apple-darwin-clang CXX=aarch64-apple-darwin-clang++ CFLAGS="-isysroot /home/stefan/procursus_utils/SDKs/iPhoneOS13.2.sdk -I/root/iPhoneOS13.2.sdk/usr/include" CXXFLAGS="-isysroot /home/stefan/procursus_utils/SDKs/iPhoneOS13.2.sdk -I/root/iPhoneOS13.2/usr/include" LD=aarch64-apple-darwin-ld

#

thats my configure script

silver rampart
#

doesn't work?

pliant fossil
#

just uses normal /bin/ld

#

instead of aarch64-apple-darwin-ld

silver rampart
#

hm

#

can you send me whatever you're running this on so i can look at it

#

never used automake before but i do build systems

pliant fossil
#

it's a docker image containing debian

#

I don't actually know how to specify the ld location

#

so i just assumed at the end

#

that you set the LD environment variable

silver rampart
#

what happens when you type aarch64-apple-darwin-clang in the same terminal that command is ran in?

faint timber
#

linux ld is bad

#

you have to delete it

silver rampart
#

they know this

faint timber
#

and symobolic link a replacement ld

pliant fossil
#

Undefined symbols for architecture arm64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

#

as you can see it's running normal ld

silver rampart
#

yeah do what Cryptic said

pliant fossil
silver rampart
#

yes

faint timber
#

bro

#

why would it be in bin

silver rampart
#

isn't that where it is

pliant fossil
#

i'm assuming its in there

silver rampart
#

which ld

pliant fossil
#

idk where it actually is

#

/usr/bin/ld

faint timber
#

compilation tools are always usr

pliant fossil
#

yeah its usr

#

ok so

silver rampart
#

it's then the responsibility of that compiler driver to handle the rest of the tools it uses

pliant fossil
#

rm -f /usr/bin/ld && ln -s /home/stefan/procursus_utils/cctools-src/usage_examples/ios_toolchain/target/bin/aarch64-apple-darwin-ld /usr/bin/ld?

#

is this the right command

silver rampart
#

howdoi is baller

#

discordtyping Cryptic is typing...

pliant fossil
#

ld: warning: ignoring file libpureftpd.a, building for iOS-arm64 but attempting to link with file built for iOS-arm64

#

what

faint timber
#

Dockerfile

FROM debian AS base
ENV CC="/usr/bin/clang-13" \
    CXX="/usr/bin/clang++-13" \
    LD="/usr/bin/ld64.lld-13" \
    RANLIB="/usr/bin/ranlib" \
    AR="/usr/bin/ar" \
    AS="/usr/bin/as" \
    CFLAGS="-fPIC" \
    CXXFLAGS="-fPIC" \
    APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1 \
    DEBIAN_FRONTEND=noninteractive \
RUN sed -i 's/deb\.debian\.org/ftp.de.debian.org/g' /etc/apt/sources.list && \
    apt-get -qqy update && \
    apt-get -qqy install --no-install-recommends ca-certificates gnupg curl && \
    echo 'deb http://apt.llvm.org/buster/ llvm-toolchain-buster main' > /etc/apt/sources.list.d/llvm.list && \
    curl -s -o - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
    apt-get -qqy update && \
    apt-get -qqy install --no-install-recommends clang lld && \
    rm -rf /usr/bin/ld && \
    ln -sf /usr/bin/ld64.lld-13 /usr/bin/ld
FROM base AS build
RUN clang XXXXXXX
pliant fossil
#

did you make that

faint timber
#

no

#

ny made it

pliant fossil
#

do i run it

faint timber
#

I modified their version a bit

silver rampart
#

official procursus docker image when

pliant fossil
#

my clang (at least for aarch64-apple-darwin) isnt in /usr/bin btw

silver rampart
faint timber
#

then modify accordingly

pliant fossil
#

aight

silver rampart
pliant fossil
#

also whats the xxxxx for in the last line

#

what do i replace that with

silver rampart
#

gives clang some kisses to encourage it to do well

#

i'm assuming you're gonna replace it with the clang command that you're wanting to run?

pliant fossil
#

ye

#

"/home/stefan/procursus_utils/cctools-src/usage_examples/ios_toolchain/target/bin/aarch64-apple-darwin-clang"

silver rampart
#

idk if he wrote that docker script knowing it was for compiling procursus or what

#

@faint timber he needs ios toolchain, so everything related to downloading llvm-ld should be out, right?

faint timber
#

most likely yeh

pliant fossil
#

do i add my usual cflags to that env btw

#

because i need sysroot to be the SDK

silver rampart
#

if you're building within the image then yeah

pliant fossil
#

ok

silver rampart
#

are you building procursus or just individual cli tools

pliant fossil
#

cli tools

silver rampart
#

then yeah

pliant fossil
#

ok but yeah what do i replace the xxxxx with

#

on tje clang thing\

silver rampart
#

the command you want to run

pliant fossil
#

ok

silver rampart
#

RUN your command here

#

might not be clang specifically

pliant fossil
#

setting it to the configure script

silver rampart
#

yeah

#

important bits from that docker file are downloading everything required to build the tool (so grab the toolchain you're using), removing and symlinking ld, and then running your commands

pliant fossil
#

yea

#

brb walking my dog

faint timber
#

Example

FROM debian AS base
# MULTI ENV
ENV AAAA="aaaa" \
    BBBB="bbbb"
# MULTI RUN
FROM base AS build
WORKDIR /tmp/build
RUN echo "$AAAA" > build1.txt && \
    echo "$BBBB" > build2.txt
# COPY EXAMPLE
FROM base AS test
WORKDIR /tmp/
COPY --from=build /tmp/build /tmp/build
RUN cat build/build1.txt && \
    cat build/build2.txt
silver rampart
#

kinda wanna sit down and shit out a dockerfile for Procursus

faint timber
#

isn't procursus linux buggy af

silver rampart
#

for building it

#

but then i got reminded of the thing i barely started on that obsoletes the need for the dockerfile

#

and then i got reminded how massive in scope said project is

#

and this is why i never get anything done anymore

pliant fossil
#

had to cancel the walk

#

ok

faint timber
#

btw this is the best benchmarked make flags:

make -j$(expr $(nproc) / 2) -l$(expr $(nproc) / 2)
silver rampart
#

wanted to look at porting procursus to dragon for speed, but that'd only work in concept bc in practice dragon hardcodes too much stuff related to ios dev

faint timber
#

example in procursus

silver rampart
#

been working on a rewrite for it's internal engine named "hummingbird"

faint timber
#

btw I use hyperfine for benchmarks

pliant fossil
#

everything works but

#
Undefined symbols for architecture arm64:
  "_pureftpd_start", referenced from:
      _main in main.o```
faint timber
#

u should use hyperfine

pliant fossil
#

how to ficks

faint timber
#

idk

silver rampart
#

yeah uh

#

what time is it for kabir

#

10 am

silver rampart
#

tapi api version issue but idk what exactly they need to fix

#

wait is that even a tapi issue

#

its not using a .tbd is it?

faint timber
#

iOS-arm64 just reminds me of a v4 tbd

silver rampart
#

well it's likely processing non-string bitflags into strings

faint timber
#

pro tip git reset single file to prev commit
git checkout HEAD~ -- makefiles/futurerestore.mk

silver rampart
#

so v4 toolchains are all gonna say that

silver rampart
silver rampart
#

then just google it and visit the same stackoverflow answer for the 10th time in a row

faint timber
#

pro tip to only build openssl libs
make install_dev

pliant fossil
# silver rampart can you show/link to the build script for whatever you're making?

./configure --host=aarch64-apple-darwin CC=aarch64-apple-darwin-clang CXX=aarch64-apple-darwin-clang++ CFLAGS="-isysroot /home/stefan/procursus_utils/SDKs/iPhoneOS13.2.sdk -I/root/iPhoneOS13.2.sdk/usr/include" CXXFLAGS="-isysroot /home/stefan/procursus_utils/SDKs/iPhoneOS13.2.sdk -I/root/iPhoneOS13.2/usr/include" LD=aarch64-apple-darwin-ld

then make

#

its pure-ftpd

faint timber
#

CC is the full path btw

silver rampart
#

link to gh of the Makefile or whatever?

#

autoconf script i guess

pliant fossil
#

its an autoconf script

silver rampart
#

yeah that's what i need to look at

faint timber
#

add the full path do cc, ld, etc

pliant fossil
pliant fossil
#

the folder is in PATH

faint timber
#

ah cool

#

Im just paranoid

#

ok wtf

#

the song just said "paranoid" right when I did

#

I wasn't expecting it at all

silver rampart
#

lol entirely off topic but

faint timber
#

it always takes 100,000 github actions builds to get it right 😎

silver rampart
#

my parents are so paranoid about apps listening on their phone's microphones and showing them ads related to it

faint timber
#

lmfao

pliant fossil
silver rampart
#

like they've tried to genuinely convince me that that's a real thing

#

they 100% believe it

pliant fossil
#

hope this is the one you wanted

nimble parcel
# silver rampart 10 am

good thing I haven’t slept yet, not 100% sure what the issue is ofc but some toolchains refer to arm64e as arm64 so it might actually be an arm64 vs arm64e difference

faint timber
#

it will take 30 years to build openssl in llvm mingw btw

silver rampart
#

the better a dev is, the less good of a gauge timezone is for "are they awake rn"

faint timber
#

this is the image you see right before death

silver rampart
#

bless ppl who distribute precompiled binaries for everything

faint timber
#

bless intel and apple engineers for getting usb hw correct unlike ryzen engineers who just...

silver rampart
#

80% of the time the 'just build it yourself' projects dont take the time to make building from source reasonable

#

python3.9.5 on my mac built from source with zero effort and zero bugs via homebrew

#

that was nice

faint timber
#

this is why 100% of the time I just have a random tarball of .a lib files so I can just post a binary in under a minute

silver rampart
#

the only reason my stuff builds anywhere is bc it all uses my build tool

#

so instead of changing shit on my own system i change the build tool and usually push those changes

#

dont think that's a feature of dragon as much as it is a quirk of shipping my personal build system

#

that and the "test suite" is literally just a script that clones 8 of my github repos and builds them

#

I once dreamed of a world where jb devs could distribute their source on cydia instead of debs and have it compile on-device

#

I think that's one of the dumbest ideas i've had to date

pearl sail
#

You dreamed of following the arch linux philosophy on iOS basically

silver rampart
#

arch does that shit for the AUR and it's a pain

#

yeah

#

it has zero benefits for ios tweaks

#

and download time for a toolchain on ios is massive

pearl sail
#

I mean beside educating people a little bit more about the understanding of the internal of iOS tweaks. I would assume you are right

#

But that would mean that users would actually have to look at the source code

silver rampart
#

and the whole ass philosophy for the nouveau project is moving away from linux as a whole, which on-device building is directly contrary to

#

perhaps when Orion exists(?)

#

is that out yet?

faint timber
#

Im sorry but its a hate crime not to be using rust

silver rampart
#

indifferent to existence of rust

primal perch
#

i love committing hate crimes

silver rampart
#

they aren't annoying like opencore or arch users

faint timber
#

one of my future project suites is iPhone downgrade tool suite all written in rust

yes this includes diassembler/patchfinder

silver rampart
#

they just exist and u say 'why' and they say 'why not' and u can't counter that

pearl sail
primal perch
silver rampart
#

coleslaw:
libprosititute will be open source and support javascript tweaks

libprostitute:
does not do those things

faint timber
#

lmfao I deadass got this bullshit how do I workaround this @silver rampart

'Invalid bitcode version (Producer: '1205.0.22.11.0_0' Reader: '1200.0.32.29_0')', using libLTO version 'LLVM version 12.0.0, (clang-1200.0.32.29)' for architecture x86_64
pearl sail
#

Them hookers didn't come through

silver rampart
#

be cool to see basic JS tweaking bc installing theos+llvm/xcode+all that shit for super small simple tweaks is absurd

silver rampart
silver rampart
#

uh

#

what kinda bitcode

faint timber
#

@nimble parcel hey mr can you give me a hand with this

silver rampart
#

like ios apps ship 'bitcode' which is LLVM IR

faint timber
#

its because github actions is using catalina

#

im on big sur

silver rampart
#

this is how apple recompiles stuff on the app store after submission

#

iirc there's literally two different types of 'bitcode' related to llvm tho

#

what project is this @ cryptic

#

if it's an xcode proj u can disable bitcode in build settings and see if that fixes it

#

patrolling google rn

faint timber
#

^

silver rampart
#

could try this on the file

faint timber
#

does that command work on static libs

#

btw I've never gotten ENABLE_BITCODE=no working outside xcode

#

random python question but does miasm support mach-o @silver rampart

silver rampart
#

LD_VERIFY_BITCODE = NO blind guess

silver rampart
#

not doing anything rn

hardy glen
faint timber
#

doesn't look like this just looking at this error @silver rampart

silver rampart
faint timber
#

it treats mach-o as a string

#

it reads the bitstream as bytes string

silver rampart
#

just looking at it there's no implicit support but there may be a workaround

#

but in general likely not worth doing i'm assuming

faint timber
#

breaking MODEFlattener 😦

silver rampart
#

what specifically are u needing to do

faint timber
#

MODEFlattener seems really op

#

wanted to try it out but the only OLLVM binaries I have are all mach-o lol

silver rampart
#

dyldextractor has some good mach-o related stuff, likely not very portable, iirc there are some macho related pypi projects

#

I would imagine you could add mach-o stuff to miasm but that's up to you

hardy glen
#

wrote my first disasm today

silver rampart
#

all my mach-o knowledge is surface level or too deep to be relevant

silver rampart
faint timber
silver rampart
#

i dont dig through obfuscated stuff that often

hardy glen
#

its very simple, helped me learn alot. Its for chip8 so yeah, you could guess how easy it is to write this

silver rampart
#

excluding the stuff apple obfuscates, which is still a bit beyond me rn

faint timber
#

I just want downgrade freedom

silver rampart
#

amazed FairPlay.kext is still a black box regarding public info on it, the obfuscation in that should be not-that-difficult to ppl who know what they're doing

faint timber
#

the only obfuscated thing in my way is checkra1n

silver rampart
#

F

faint timber
#

wen FOSS checkra1n

silver rampart
#

open source checkra1n would be

#

so amazing to have

hardy glen
#

why isn't it open source already

silver rampart
#

I could write a watchOS iboot jailbreak from it

faint timber
#

I also wish corellium allowed us to test restoring by enable recovery mode...

silver rampart
faint timber
#

I just discovered a bug with libirecovery, mode detection is broken with using libusb instead of IOKit

silver rampart
#

with a little tiny bit of "lets not show our whole hand to apple rn" thrown in

hardy glen
#

yeah i always thought it was because of not showing apple

silver rampart
#

idk if it's ever going to be FOSS until it reaches irrelevance

silver rampart
hardy glen
#

about to write a chip8 interpreter tommorow. Lets see if i can get it done. Then i will move to writing a intel 8080 disasm and emulator

silver rampart
faint timber
#

they need to fire the security by obscurity bozo

silver rampart
#

convo for hackdiff server i'm sure but

#

imo the security issues with ios are whoever's in charge's fault and not the fault of the engineers

#

the whole attitude towards ios security by apple is just

faint timber
#

I wish SEP was downgradable and didn't enforce BPR

#

such a fucking tradgedy

silver rampart
#

"gotta keep fixing all the holes in the tarp that covers the missing windows so ppl stop breaking in"

#

instead of u know

#

replacing the broken windows

#

they'll fix an exploitable uaf instead of ever stepping in and fixing the rest of the chain that makes it useful

#

seems like bazad's presence there has improved things at least

faint timber
#

rest in peace enable dylibs override cache...

#

fuckers

silver rampart
#

judging by the subsequent twitter meltdown by jakeashacks

silver rampart
faint timber
#

they disabled it hence why we never see any untethers anymore

silver rampart
#

oh yeah

#

its still there just on like

#

dev fused devices iirc

faint timber
#

yeh it exists for demoted

silver rampart
#

check one of your iuis for more info there, been too long since i've looked

#

Corellium also reenables it

silver rampart
#

even w/o a real codesign bypass

faint timber
#

yep Im currently enjoying pangu7 on my 5s

silver rampart
#

few avenues for pulling one off in current year that seem promising but who knows

#

oh speaking of dm

pearl sail
#

I wish a lot more of those old jailbreaks would become FOSS just for learning purposes.

#

It would be very interesting how methods have changed over the years or stayed similar

primal perch
#

ay finally

faint timber
#

LD verify thing failed btw

silver rampart
#

basically are

#

closest to open source we'll get but these writeups are phenomenal and don't lack much of anything

#

do you need someone to build this or something

faint timber
#

yay

#

procursus depends on big sur anyway

#

tired of patching makefile for actions

faint timber
#

I really wish there was a well maintained plist lib in rust

primal perch
#

create one

silver rampart
#

ah lmao

faint timber
#

what does the xcode ENABLE_BITCODE flag actually do

#

is it a clang change or does it execute a strip of some sort

grim sparrow
# faint timber what does the xcode ENABLE_BITCODE flag actually do

It embeds Bitcode into the binary which allow Apple to rebuild the app on their servers. They do this so they can optimise the app for different device types giving you a smaller download.

It can make binaries considerably larger so disable it unless you’re distributing through App Store. Any other form of distribution can’t take advantage of it

#

I told absidue to disable it in Zebra and this was the result

silver rampart
grim sparrow
#

It's wild

silver rampart
#

A big caveat of flutter is the fact that apps built with it for iOS are 200-300MB

grim sparrow
#

I've been trying to get developers to disable it in their stuff

silver rampart
#

I'm part of a 3 person group working on a specific flutter app and the one in charge of ios related shit bc neither of them know anything about it

#

and loading apps onto a phone over usbmuxd is slow as shit already, not to mention 300+MB apps

#

stripping bitcode from all included binaries reduced that number to 10MB

grim sparrow
silver rampart
#

I think I went and filed an issue with flutter bc that's stupid

#

it means during the dev process, loading and running is gonna be slow as actual shit due to how much u have to copy over

grim sparrow
#

you could disable it for debug builds and enable on release builds i guess

silver rampart
#

only time bitcode benefits anyone is when its uploaded to the appstore

grim sparrow
#

yeah

tepid olive
#

I still can't build arm64e with theos. I reinstalled everything now without root.

 mobile$ clang -v
clang version 10.0.0 (git@bingner.com:elucubratus.git 38d9371d79ade653c47347ca418b91e61808011c)
Target: arm64-apple-ios7.0
Thread model: posix
InstalledDir: /usr/bin

$ make package
Segmentation fault: 11```

Can anyone think of a reason for it to throw this error?
#

using ARCHS = armv7 arm64 arm64e in the Makefile

#

without that, it will build for armv7 and arm64 without any problems

tepid olive
#

I am aware.

#

Try a procursus jailbreak

#

alright

hardy glen
#

try building empty project

pure tree
#

If there's a private API in a public framework (like Foundation) that specially mark not compatible with iOS (but actually is), how do you bypass that rather than modify the header file itself?

#

Is there a much cleaner way?

tepid olive
hardy glen
#

are you on linux?

#

oh okay

#

have you installed sdks and a toolchain

#

if so, then which ones have you used

tepid olive
#

I've tried so many things..

#

did you guys see github's autopilot thingy

#

this was on ios

hardy glen
#

wait are you iphone

tepid olive
#

this ^ was

hardy glen
#

can’t help you lmao

tepid olive
#

I've tried on linux as well

#

wsl though

misty cradle
tepid olive
#

and ubuntu , not wsl

hardy glen
#

wsl is not linux

tepid olive
#

...?

#

ubuntu is a linux distro?

hardy glen
#

yea but it does not behave the same way

#

iirc there is prebuilt theos installers?

tepid olive
#

oh well. I've tried both anyways

#

for..? ios?

hardy glen
#

yea not sure if thats ideal. if i was in your shoes, i would not bother to install it on your device

#

it is a waste of time honestly, you are going to have the best results on a computer. you need room to be able to debug and be productive at the same time.

#

best case, if you use windows, use wsl or a vm

#

installing theos on wsl is a bit different iirc

tepid olive
#

I tried wsl, no luck

#

what linux distro do you recommend?

hardy glen
#

i would go with debian or ubuntu minimal install

tepid olive
hardy glen
#

yup, i think that needs to be updated?

#

for sdks and toolchains

#

use pins on this channel

surreal mountain
#

its updated

hardy glen
#

if you encounter errors, drop them here but first google the errors and also check theos github issues

surreal mountain
#

with good toolchains

#

and sdks

hardy glen
#

oh shit

#

nice

#

so there should not be any issues. @tepid olive try with a fresh install if you can

tepid olive
#

Alright, will make a debian vm

hardy glen
#

good luck, personally i use opencore for macos with a dualboot to windows. but usually if i need to use windows while on my mac partition, i use parallels and use qemu with hvf for linux so i never need to use windows or linux

tepid olive
#

Thanks. I'll see how this goes first.

prisma citrus
hardy glen
#

that was 2 years ago, it might be different now

prisma citrus
#

ah alr yeah saw the header was on 14.4 so assumed it would work but ill try that

hardy glen
#

you can use flexall by dghost

prisma citrus
hardy glen
#

its all good, i don’t mind

#

i am bored anyways, i am writing a emulator lmao

faint timber
prisma citrus
#

^with depictions

hardy glen
#

read package config

#

it tells you

tepid olive
#

@hardy glen I just did the whole process on debian. No luck.

#

When not specifying archs in the makefile, it will build perfectly fine for armv7 and arm64. When adding ARCHS = arm64 arm64e it will do the infamous endless... nothing.

twilit jungle
#

F

#

What sdk are you using for arm64e?

tepid olive
#

Lynx you building on your phone?

prisma grove
#

Is there a more efficient way to do this? These are the two solutions I have ``` std::vector<CCLocalMaximum> filteredMaxima;

// Check for each maximum
for (int k=0; k<maxima.size(); k++) {
    // Get the maximum we are checking out
    struct CCLocalMaximum max1 = maxima[k];

    // This color is distinct until a color from before is too close
    BOOL isDistinct = YES;

    // Go through previous colors and look if any of them is too close
    for (int n=0; n<k; n++) {
        // Get the maximum we compare to
        CCLocalMaximum max2 = maxima[n];

        // Compute delta components
        double redDelta   = max1.red - max2.red;
        double greenDelta = max1.green - max2.green;
        double blueDelta  = max1.blue - max2.blue;

        // Compute delta in color space distance
        double delta = sqrt(redDelta*redDelta + greenDelta*greenDelta + blueDelta*blueDelta);

        // If too close mark as non-distinct and break inner loop
        if (delta < threshold) {
            isDistinct = NO;
            break;
        }
    }

    // Add to filtered array if is distinct
    if (isDistinct) {
        filteredMaxima.push_back(max1);
    }
}```
#

and then this ``` std::vector<CCLocalMaximum> filteredMaxima;

std::copy_if (maxima.begin(), maxima.end(), std::back_inserter(filteredMaxima), [&threshold, &maxima, &filteredMaxima](struct CCLocalMaximum max1) {
for (int n=0; n<filteredMaxima.size(); n++) {
// Get the maximum we compare to
CCLocalMaximum max2 = maxima[n];

            // Compute delta components
            double redDelta   = max1.red - max2.red;
            double greenDelta = max1.green - max2.green;
            double blueDelta  = max1.blue - max2.blue;

            // Compute delta in color space distance
            double delta = sqrt(redDelta*redDelta + greenDelta*greenDelta + blueDelta*blueDelta);

            // If too close mark as non-distinct and break inner loop
            if (delta < threshold) {
                return NO;
            }
        }
        return YES;
    }
);```
high citrus
#

What are you trying to do?

prisma grove
#

It's just struct CCLocalMaximum { double red; double green; double blue; };

#

I'm just trying to find the most efficient way to do this as C++ is not really my thing and I wasn't sure what was bbetter

high citrus
#

I don't see any obvious efficiency issues (but I'm not too familiar with c++), are you running into performance issues?

tepid olive
tepid olive
twilit jungle
wicked summit
#

flexivator deadaf

twilit jungle
#

FLEXall >

#

obviously

tepid olive
#

where can I find an updated and working toolkit?

twilit jungle
tepid olive
#

relying on default, how do I make it use a lower version?

twilit jungle
#

Add TARGET = iphone:clang:<sdk version>:<minimum deployment version> to makefile
replace <sdk version> and <minimum deployment version> with the actual iOS version

tepid olive
#

dumb question probably, where do I find the sdk version im using?

#

i just downloaded the one the theos wiki specified

twilit jungle
#

If you look in $THEOS/sdks there should be a few folders

tepid olive
#

so for example, iphone:clang:iPhoneOS14.4.sdk:14.2

twilit jungle
#

Just 14.4

tepid olive
#

alright

#

oh damn most of it worked this time :D

#

bash: /home/x/theos/toolchain/linux/iphone/bin/ldid: cannot execute binary file: Exec format error

twilit jungle
#

lmao

tepid olive
#

i mean.. its progress

#

this was at signing the tweak

#

im happy the fact it got this far honestly

twilit jungle
#

Is that WSL 2 or pure lunix?

tepid olive
#

wsl2

#

ill try this approach on my phone now

hardy glen
twilit jungle
tepid olive
#
error: lipo: unknown architecture specification flag: arm64e in specifying input file -arch arm64e /var/mobile/...```
lapis vessel
#

Oh and I think the predicate argument could be a const ref too

twilit jungle
#

true

tepid olive
#

it worked building on my ubuntu vps!

#

thank you guys so much! @twilit jungle @hardy glen and all the others that helped me :)

#

building on a vps

#

troll

#

don't judge

#

been working on building the simplest thing for 2 days now

restive ether
tepid olive
hardy glen
#

my first emulator

tepid olive
primal perch
#

in c it’s not a problem because they don’t exist so you use pointer

twilit jungle
tepid olive
#

I don’t like theos on mobile there’s always some c++ error

misty cradle
#

Theos doesn’t like u back either

hardy glen
#

sdl2.0/c++

primal perch
twilit jungle
nimble parcel
#

if the language is an impediment try doing it in something you’re more familiar with first

#

a k-d tree should work too; either would be pretty well suited to this but maybe look into the performance characteristics a little more

misty cradle
#

@nimble parcel

#

gm

nimble parcel
#

gm @misty cradle

misty cradle
#

how r u doing

tepid olive
#

Can someone point me into the right direction for finding how to change the "swipe up to open" text on lockscreen?

nimble parcel
misty cradle
#

then install FLEXall

tepid olive
#

no like

misty cradle
tepid olive
#

I want to make it myself

#

im just starting out with tweak development

misty cradle
#

yes.... install flexall to find out where the text is.....

#

you're confusing this with another flex

nimble parcel
#

what about you tr1

misty cradle
#

hmmm

nimble parcel