Advertisement

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Latest FutureRestore Compiled For macOS (GeoSn0w)
#1
Star 
Since compiling @tihmstar's work is never an easy task due to heavy use of dependencies and due to very specific setup requirements, I've decided to compile and upload the macOS version of the FutureRestore tool which is basically being used to downgrade iOS devices with saved SHSH2 blobs. The tool is available in compiled form on his GitHub but the available version dates back to October 2017 and it's version 152. Way too old and it doesn't contain the latest fixes and updates.

So this compiled version is basically compiled from the latest FutureRestore Source Code on GitHub and it's the version 171. The original license has also been included, as well as the source code to comply with the LGPL license.

What if you wanna compile it yourself?

If you wanna compile @tihmstar's FutureRestore, make sure you have HomeBrew installed on your Mac. You will need to install a ton of dependencies. Some of them cannot be found on HomeBrew, they are part of @tihmstar's GitHub. These include: libfragmentzip, tsschecker, img4tool, liboffsetfinder64, libipatcher, all of which have to be compiled manually from source and "sudo make install"-ed before you attempt to compile FutureRestore.

Not to mention you have to get libirecovery and libimobiledevice and compile them manually from source, then "sudo make install" them before FutureRestore would compile.

You should also Git Clone recursively every component. For example: "git clone --recursive <link>".

You know you have successfully set up your machine for proper compilation when running FutureRestore's autogen.sh gives you this:

[Image: 1.png]

At this point, if everything is fine, you can run "sudo make" and it would compile FutureRestore as such:
Running the file command on the output "futurerestore" file should say it's a Mach-O 64-Bit executable.

[Image: 2.png]

And such, FutureRestore is compiled.

DOWNLOAD Latest FutureRestore Compiled:

If you cannot compile your own for whatever reason, I have compiled the latest version for you and it's available here

>>DOWNLOAD FUTURERESTORE<<

* NOTE: This is @tihmstar's version from HIS fork which doesn't include S0thwest's patches/work. If you want that, check out S0thwest's repo.

P.S. This is dynamically linked. You need to have the dependencies installed on the computer, otherwise it will error out.
Reply
#2
Sadly, this is not working on the latest Mojave. I tried to compile to myself, but when i try to make I always get an error.
 make[2]: *** No rule to make target `all'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Reply
#3
(11-06-2019, 11:01 AM)roland0807 Wrote: Sadly, this is not working on the latest Mojave. I tried to compile to myself, but when i try to make I always get an error.
 make[2]: *** No rule to make target `all'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

The log provided isn't enough. The error is way above what you posted.
Reply
#4
(11-06-2019, 11:19 AM)GeoSn0w Wrote:
(11-06-2019, 11:01 AM)roland0807 Wrote: Sadly, this is not working on the latest Mojave. I tried to compile to myself, but when i try to make I always get an error.
 make[2]: *** No rule to make target `all'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

The log provided isn't enough. The error is way above what you posted.

Alright, here's the full log.

Also, this is works on the latest Mojave, I was just dumb. I forget to do chmod +x.
 
Code:
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; min-height: 13.0px}
span.s1 {font-variant-ligatures: no-common-ligatures}
Papps-iMac:futurerestore-171 papproland$ ./autogen.sh
glibtoolize: putting auxiliary files in '.'.
glibtoolize: linking file './ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
glibtoolize: linking file 'm4/libtool.m4'
glibtoolize: linking file 'm4/ltoptions.m4'
glibtoolize: linking file 'm4/ltsugar.m4'
glibtoolize: linking file 'm4/ltversion.m4'
glibtoolize: linking file 'm4/lt~obsolete.m4'
configure.ac:31: installing './compile'
configure.ac:4: installing './config.guess'
configure.ac:4: installing './config.sub'
configure.ac:15: installing './install-sh'
configure.ac:15: installing './missing'
futurerestore/Makefile.am: installing './depcomp'
~/Desktop/futurerestore-171/external/idevicerestore ~/Desktop/futurerestore-171
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/Desktop/futurerestore-171
~/Desktop/futurerestore-171/external/img4tool ~/Desktop/futurerestore-171
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/Desktop/futurerestore-171
~/Desktop/futurerestore-171/external/tsschecker ~/Desktop/futurerestore-171
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/Desktop/futurerestore-171
checking build system type... x86_64-apple-darwin18.7.0
checking host system type... x86_64-apple-darwin18.7.0
checking target system type... x86_64-apple-darwin18.7.0
checking whether we need platform-specific build settings... checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for library containing pthread_create... none required
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libplist >= 1.12... yes
checking for libzip >= 0.10... yes
checking for libimobiledevice-1.0 >= 1.2.1... yes
checking for libfragmentzip >= 1.0... yes
checking for libirecovery >= 0.2.0... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for pkg-config... (cached) /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
Package libipatcher was not found in the pkg-config search path.
Perhaps you should add the directory containing `libipatcher.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libipatcher' found
checking whether to enable WIN32 specific flags... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Library/Developer/CommandLineTools/usr/bin/ld
checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking how to convert x86_64-apple-darwin18.7.0 file names to x86_64-apple-darwin18.7.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin18.7.0 file names to toolchain format... func_convert_file_noop
checking for /Library/Developer/CommandLineTools/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin18.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /Library/Developer/CommandLineTools/usr/bin/ld
checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin18.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating futurerestore/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in external/idevicerestore (/Users/papproland/Desktop/futurerestore-171/external/idevicerestore)
configure: WARNING: no configuration information is in external/idevicerestore
=== configuring in external/img4tool (/Users/papproland/Desktop/futurerestore-171/external/img4tool)
configure: WARNING: no configuration information is in external/img4tool
=== configuring in external/tsschecker (/Users/papproland/Desktop/futurerestore-171/external/tsschecker)
configure: WARNING: no configuration information is in external/tsschecker
 
Configuration for futurerestore 1.0:
-------------------------------------------
 
  Install prefix ..........: /usr/local
  With libipatcher ........: no
  Now type 'make' to build futurerestore 1.0,
  and then 'make install' for installation.
 
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
Papps-iMac:futurerestore-171 papproland$ make
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in external/idevicerestore
make[2]: *** No rule to make target `all'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Papps-iMac:futurerestore-171 papproland$
Reply
#5
(11-06-2019, 11:35 AM)roland0807 Wrote:
(11-06-2019, 11:19 AM)GeoSn0w Wrote:
(11-06-2019, 11:01 AM)roland0807 Wrote: Sadly, this is not working on the latest Mojave. I tried to compile to myself, but when i try to make I always get an error.
 make[2]: *** No rule to make target `all'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

The log provided isn't enough. The error is way above what you posted.

Alright, here's the full log.

Also, this is works on the latest Mojave, I was just dumb. I forget to do chmod +x.
 
Code:
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; min-height: 13.0px}
span.s1 {font-variant-ligatures: no-common-ligatures}
Papps-iMac:futurerestore-171 papproland$ ./autogen.sh
glibtoolize: putting auxiliary files in '.'.
glibtoolize: linking file './ltmain.sh'
glibtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
glibtoolize: linking file 'm4/libtool.m4'
glibtoolize: linking file 'm4/ltoptions.m4'
glibtoolize: linking file 'm4/ltsugar.m4'
glibtoolize: linking file 'm4/ltversion.m4'
glibtoolize: linking file 'm4/lt~obsolete.m4'
configure.ac:31: installing './compile'
configure.ac:4: installing './config.guess'
configure.ac:4: installing './config.sub'
configure.ac:15: installing './install-sh'
configure.ac:15: installing './missing'
futurerestore/Makefile.am: installing './depcomp'
~/Desktop/futurerestore-171/external/idevicerestore ~/Desktop/futurerestore-171
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/Desktop/futurerestore-171
~/Desktop/futurerestore-171/external/img4tool ~/Desktop/futurerestore-171
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/Desktop/futurerestore-171
~/Desktop/futurerestore-171/external/tsschecker ~/Desktop/futurerestore-171
./autogen.sh: line 18: ./autogen.sh: No such file or directory
~/Desktop/futurerestore-171
checking build system type... x86_64-apple-darwin18.7.0
checking host system type... x86_64-apple-darwin18.7.0
checking target system type... x86_64-apple-darwin18.7.0
checking whether we need platform-specific build settings... checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for library containing pthread_create... none required
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libplist >= 1.12... yes
checking for libzip >= 0.10... yes
checking for libimobiledevice-1.0 >= 1.2.1... yes
checking for libfragmentzip >= 1.0... yes
checking for libirecovery >= 0.2.0... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for pkg-config... (cached) /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
Package libipatcher was not found in the pkg-config search path.
Perhaps you should add the directory containing `libipatcher.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libipatcher' found
checking whether to enable WIN32 specific flags... no
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /Library/Developer/CommandLineTools/usr/bin/ld
checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 196608
checking how to convert x86_64-apple-darwin18.7.0 file names to x86_64-apple-darwin18.7.0 format... func_convert_file_noop
checking how to convert x86_64-apple-darwin18.7.0 file names to toolchain format... func_convert_file_noop
checking for /Library/Developer/CommandLineTools/usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dsymutil... dsymutil
checking for nmedit... nmedit
checking for lipo... lipo
checking for otool... otool
checking for otool64... no
checking for -single_module linker flag... yes
checking for -exported_symbols_list linker flag... yes
checking for -force_load linker flag... yes
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fno-common -DPIC
checking if gcc PIC flag -fno-common -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin18.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /Library/Developer/CommandLineTools/usr/bin/ld
checking if the linker (/Library/Developer/CommandLineTools/usr/bin/ld) is GNU ld... no
checking whether the g++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fno-common -DPIC
checking if g++ PIC flag -fno-common -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/Library/Developer/CommandLineTools/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... darwin18.7.0 dyld
checking how to hardcode library paths into programs... immediate
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating futurerestore/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in external/idevicerestore (/Users/papproland/Desktop/futurerestore-171/external/idevicerestore)
configure: WARNING: no configuration information is in external/idevicerestore
=== configuring in external/img4tool (/Users/papproland/Desktop/futurerestore-171/external/img4tool)
configure: WARNING: no configuration information is in external/img4tool
=== configuring in external/tsschecker (/Users/papproland/Desktop/futurerestore-171/external/tsschecker)
configure: WARNING: no configuration information is in external/tsschecker
 
Configuration for futurerestore 1.0:
-------------------------------------------
 
  Install prefix ..........: /usr/local
  With libipatcher ........: no
  Now type 'make' to build futurerestore 1.0,
  and then 'make install' for installation.
 
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
Papps-iMac:futurerestore-171 papproland$ make
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in external/idevicerestore
make[2]: *** No rule to make target `all'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Papps-iMac:futurerestore-171 papproland$

Did you git clone --recursive?
Reply
#6
hi guys! Hi GeoSn0w! first I want to thank you for your job! Love your work! Thanks thanks thanks!
and second I passed the entire day figure out how to compile futurerestore without success... my only problem is idevicerestore compiling, everything works except for that and this in code is the errors i got:
Code:
 
MBP-di-Stefano-004:idevicerestore stefanoscalfari$ make
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in src
  CC       idevicerestore-idevicerestore.o
In file included from idevicerestore.c:41:
In file included from ./dfu.h:32:
./common.h:117:2: error: unknown type name 'irecv_device_event_context_t'
        irecv_device_event_context_t irecv_e_ctx;
        ^
idevicerestore.c:244:27: error: unknown type name 'irecv_device_event_t'; did
      you mean 'idevice_event_t'?
void irecv_event_cb(const irecv_device_event_t* event, void *userdata)
                          ^~~~~~~~~~~~~~~~~~~~
                          idevice_event_t
/usr/local/include/libimobiledevice/libimobiledevice.h:89:3: note:
      'idevice_event_t' declared here
} idevice_event_t;
  ^
idevicerestore.c:247:13: error: no member named 'type' in 'idevice_event_t'
        if (event->type == IRECV_DEVICE_ADD) {
            ~~~~~  ^
idevicerestore.c:247:21: error: use of undeclared identifier 'IRECV_DEVICE_ADD';
      did you mean 'IDEVICE_DEVICE_ADD'?
        if (event->type == IRECV_DEVICE_ADD) {
                           ^~~~~~~~~~~~~~~~
                           IDEVICE_DEVICE_ADD
/usr/local/include/libimobiledevice/libimobiledevice.h:78:2: note:
      'IDEVICE_DEVICE_ADD' declared here
        IDEVICE_DEVICE_ADD = 1,
        ^
idevicerestore.c:249:26: error: no member named 'device_info' in
      'idevice_event_t'
                        client->ecid = event->device_info->ecid;
                                       ~~~~~  ^
idevicerestore.c:251:30: error: no member named 'device_info' in
      'idevice_event_t'
                if (client->ecid && event->device_info->ecid == client->ecid) {
                                    ~~~~~  ^
idevicerestore.c:253:19: error: no member named 'mode' in 'idevice_event_t'
                        switch (event->mode) {
                                ~~~~~  ^
idevicerestore.c:273:20: error: no member named 'type' in 'idevice_event_t'
        } else if (event->type == IRECV_DEVICE_REMOVE) {
                   ~~~~~  ^
idevicerestore.c:273:28: error: use of undeclared identifier
      'IRECV_DEVICE_REMOVE'; did you mean 'IDEVICE_DEVICE_REMOVE'?
        } else if (event->type == IRECV_DEVICE_REMOVE) {
                                  ^~~~~~~~~~~~~~~~~~~
                                  IDEVICE_DEVICE_REMOVE
/usr/local/include/libimobiledevice/libimobiledevice.h:79:2: note:
      'IDEVICE_DEVICE_REMOVE' declared here
        IDEVICE_DEVICE_REMOVE,
        ^
idevicerestore.c:274:30: error: no member named 'device_info' in
      'idevice_event_t'
                if (client->ecid && event->device_info->ecid == client->ecid) {
                                    ~~~~~  ^
idevicerestore.c:311:2: warning: implicit declaration of function
      'irecv_device_event_subscribe' is invalid in C99
      [-Wimplicit-function-declaration]
        irecv_device_event_subscribe(&client->irecv_e_ctx, irecv_event_c...
        ^
idevicerestore.c:1409:3: warning: implicit declaration of function
      'irecv_device_event_unsubscribe' is invalid in C99
      [-Wimplicit-function-declaration]
                irecv_device_event_unsubscribe(client->irecv_e_ctx);
                ^
2 warnings and 10 errors generated.
make[2]: *** [idevicerestore-idevicerestore.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

really don't know why. There is a chance to have last futurerestore already compiled? cause i'm unable to do that?
with yours i got this error instead: 
Code:
 
MBP-di-Stefano-005:restore alla 13.1.3 stefanoscalfari$ ./futurerestore -t
dyld: Symbol not found: _irecv_device_event_subscribe
  Referenced from: /Users/stefanoscalfari/Desktop/restore alla 13.1.3/./futurerestore
  Expected in: /usr/local/lib/libirecovery.2.dylib
 in /Users/stefanoscalfari/Desktop/restore alla 13.1.3/./futurerestore
Abort trap: 6
Reply
#7
(11-08-2019, 09:30 PM)Vorshim92 Wrote: hi guys! Hi GeoSn0w! first I want to thank you for your job! Love your work! Thanks thanks thanks!
and second I passed the entire day figure out how to compile futurerestore without success... my only problem is idevicerestore compiling, everything works except for that and this in code is the errors i got:
Code:
 
MBP-di-Stefano-004:idevicerestore stefanoscalfari$ make
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in src
  CC       idevicerestore-idevicerestore.o
In file included from idevicerestore.c:41:
In file included from ./dfu.h:32:
./common.h:117:2: error: unknown type name 'irecv_device_event_context_t'
        irecv_device_event_context_t irecv_e_ctx;
        ^
idevicerestore.c:244:27: error: unknown type name 'irecv_device_event_t'; did
      you mean 'idevice_event_t'?
void irecv_event_cb(const irecv_device_event_t* event, void *userdata)
                          ^~~~~~~~~~~~~~~~~~~~
                          idevice_event_t
/usr/local/include/libimobiledevice/libimobiledevice.h:89:3: note:
      'idevice_event_t' declared here
} idevice_event_t;
  ^
idevicerestore.c:247:13: error: no member named 'type' in 'idevice_event_t'
        if (event->type == IRECV_DEVICE_ADD) {
            ~~~~~  ^
idevicerestore.c:247:21: error: use of undeclared identifier 'IRECV_DEVICE_ADD';
      did you mean 'IDEVICE_DEVICE_ADD'?
        if (event->type == IRECV_DEVICE_ADD) {
                           ^~~~~~~~~~~~~~~~
                           IDEVICE_DEVICE_ADD
/usr/local/include/libimobiledevice/libimobiledevice.h:78:2: note:
      'IDEVICE_DEVICE_ADD' declared here
        IDEVICE_DEVICE_ADD = 1,
        ^
idevicerestore.c:249:26: error: no member named 'device_info' in
      'idevice_event_t'
                        client->ecid = event->device_info->ecid;
                                       ~~~~~  ^
idevicerestore.c:251:30: error: no member named 'device_info' in
      'idevice_event_t'
                if (client->ecid && event->device_info->ecid == client->ecid) {
                                    ~~~~~  ^
idevicerestore.c:253:19: error: no member named 'mode' in 'idevice_event_t'
                        switch (event->mode) {
                                ~~~~~  ^
idevicerestore.c:273:20: error: no member named 'type' in 'idevice_event_t'
        } else if (event->type == IRECV_DEVICE_REMOVE) {
                   ~~~~~  ^
idevicerestore.c:273:28: error: use of undeclared identifier
      'IRECV_DEVICE_REMOVE'; did you mean 'IDEVICE_DEVICE_REMOVE'?
        } else if (event->type == IRECV_DEVICE_REMOVE) {
                                  ^~~~~~~~~~~~~~~~~~~
                                  IDEVICE_DEVICE_REMOVE
/usr/local/include/libimobiledevice/libimobiledevice.h:79:2: note:
      'IDEVICE_DEVICE_REMOVE' declared here
        IDEVICE_DEVICE_REMOVE,
        ^
idevicerestore.c:274:30: error: no member named 'device_info' in
      'idevice_event_t'
                if (client->ecid && event->device_info->ecid == client->ecid) {
                                    ~~~~~  ^
idevicerestore.c:311:2: warning: implicit declaration of function
      'irecv_device_event_subscribe' is invalid in C99
      [-Wimplicit-function-declaration]
        irecv_device_event_subscribe(&client->irecv_e_ctx, irecv_event_c...
        ^
idevicerestore.c:1409:3: warning: implicit declaration of function
      'irecv_device_event_unsubscribe' is invalid in C99
      [-Wimplicit-function-declaration]
                irecv_device_event_unsubscribe(client->irecv_e_ctx);
                ^
2 warnings and 10 errors generated.
make[2]: *** [idevicerestore-idevicerestore.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

really don't know why. There is a chance to have last futurerestore already compiled? cause i'm unable to do that?
with yours i got this error instead: 
Code:
 
MBP-di-Stefano-005:restore alla 13.1.3 stefanoscalfari$ ./futurerestore -t
dyld: Symbol not found: _irecv_device_event_subscribe
  Referenced from: /Users/stefanoscalfari/Desktop/restore alla 13.1.3/./futurerestore
  Expected in: /usr/local/lib/libirecovery.2.dylib
 in /Users/stefanoscalfari/Desktop/restore alla 13.1.3/./futurerestore
Abort trap: 6

I had the same problem, the solution is to compile first the libirecovery from libimobiledevice repository not from tihmstar which has that issue because is an old commit.sudo git clone --recursive https://github.com/libimobiledevice/libirecovery
Then you can compile without errors idevicerestore and futurerestore.

I followed this guide and after many pains i got everything working on Catalina:
http://thedarkenteztaz.blogspot.com/2018...tcher.html

Here I share all the files I used for compilation:

https://mega.nz/#!m4MjxQoI!7yR3pzrZMN5Sa...cB7WU_e5ng
Reply
#8
Hello all, 

I have iPhone XS Max - 12.4 

I can use FutureRestore to upgrade to 13.3 , saved ssh 13.3 ??

Tested with FutureRestore and upgraded successfully Smile , Thank a lot Mr. FutureRestore
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Star How To Edit & Record Videos Professionally With DemoCreator on macOS and Windows For Beginners GeoSn0w 0 1,644 11-26-2020, 04:12 AM
Last Post: GeoSn0w

Forum Jump:


Users browsing this thread: 1 Guest(s)

About Us
    Welcome to the Jailbreak Central Forum! Here you can get the latest iOS Jailbreak News from iDevice Central, ask your jailbreak questions and request help, and find the best iOS modding tools for downgrade, CFW iCloud Bypass, Jailbreak and so on. :-)