Nullability Specifier 'nonnull' conflicts with existing specifier 'nullable' AppDelegate+FCMPlugin.m - ionic-framework

cordova-plugin-fcm-with-dependecy-updated#6.4.1,7.0.8,7.8.0.
I have set IOS_FIREBASE_MESSAGING_VERSION => 7.0.0
"cordova-plugin-fcm-with-dependecy-updated": {
"FCM_VERSION": "19.0.0",
"GRADLE_TOOLS_VERSION": "3.5.3",
"GOOGLE_SERVICES_VERSION": "4.3.3",
"SUPPORT_LIBRARY_VERSION": "28.0.0",
"ANDROID_DEFAULT_NOTIFICATION_ICON": "#mipmap/ic_launcher",
"IOS_FIREBASE_MESSAGING_VERSION":"7.0.0"
}

Goto: project/platforms/ios/Hawks Out/Plugins/cordova-plugin-fcm-with-dependecy-updated/AppDelegate+FCMPlugin.m file Line number 190 or 191 this:
(void)messaging:(nonnull FIRMessaging *)messaging didReceiveRegistrationToken:(nonnull NSString *)deviceToken {
Change line into this:
(void)messaging:(nonnull FIRMessaging *)messaging didReceiveRegistrationToken:(NSString * _Nullable)deviceToken {

Related

Why do I get an error when I use DumpMachine in q#?

Here is my code:
using (q = Qubit()) {
Message("Input:");
Message("q = ∣0❭, index = 1");
Message("Requaired Output:");
Message("∣0❭: 0.707107 + 0.000000 i");
Message("∣1❭: 0.000000 + -0.707107 i");
Task12(q, 1);
Message("Your Output:");
DumpMachine();
Reset(q);
}
But I get this error:
The type or namespace name '_2e502c3cdee5457783e1ea9b1f54eb1b_DumpMachine' does not exist in the namespace 'Microsoft.Quantum.Diagnostics' (are you missing an assembly reference?)
Does anyone have an idea why?
Can you verify if you have open Microsoft.Quantum.Diagnostics; listed?
I copied your code and added the functions, it works for me, I use .NET Core 3.1 & VisualStudio 2019, here is my code, I also added it to GitHub https://github.com/nahidf-adventures/qsharp-adventures/tree/master/src/QbitSample:
namespace QbitSample {
open Microsoft.Quantum.Canon;
open Microsoft.Quantum.Intrinsic;
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Diagnostics;
#EntryPoint()
operation HelloQ() : Unit {
using (q = Qubit()) {
Message("Input:");
Message("q = ∣0❭, index = 1");
Message("Requaired Output:");
Message("∣0❭: 0.707107 + 0.000000 i");
Message("∣1❭: 0.000000 + -0.707107 i");
Task12(q, 1);
Message("Your Output:");
DumpMachine();
Reset(q);
}
}
operation Task12(q: Qubit, count : Int) : Unit {
}
}

running file diff on two files on Mac

Im comparing to files, but my understanding is that + signifies addition and - symbols deletion. The new file has a typo:
if (KEY_STATUS.spacr) {
The why is it represented by -. It should be +, right ? When I run diff -u game_new.js game_old.js:
--- game_new.js 2018-06-12 02:03:32.000000000 -0700
+++ game_old.js 2018-06-12 02:03:22.000000000 -0700
## -4,9 +4,9 ##
//
KEY_CODES = {
- 13: 'enter',
32: 'space',
37: 'left',
+ 38: 'up',
39: 'right',
40: 'down',
70: 'f',
## -392,7 +392,7 ##
this.vel.rot = 0;
}
- if (KEY_STATUS.spacr) {
+ if (KEY_STATUS.up) {
var rad = ((this.rot-90) * Math.PI)/180;
this.acc.x = 0.5 * Math.cos(rad);
this.acc.y = 0.5 * Math.sin(rad);
## -406,7 +406,7 ##
if (this.delayBeforeBullet > 0) {
this.delayBeforeBullet -= delta;
}
- if (KEY_STATUS.enter) {
+ if (KEY_STATUS.space) {
if (this.delayBeforeBullet <= 0) {
this.delayBeforeBullet = 10;
for (var i = 0; i < this.bullets.length; i++) {
## -919,7 +919,7 ##
waiting: function () {
Text.renderText(ipad ? 'Touch Sreen to Start' : 'Press Space to Start', 36, Game.canvasWidth/2 - 270, Game.canvasHeight/2);
if (KEY_STATUS.space || window.gameStart) {
- KEY_STATUS.space = false; // hack so we don't move right away
+ KEY_STATUS.space = false; // hack so we don't shoot right away
window.gameStart = false;
this.state = 'start';
}
I believe that when you run:
diff -u game_new.js game_old.js
The changes coming from the file on the left are interpreted as being the source, and marked with a minus, while the changes coming from the file on the right are treated as the destination, and marked with a plus.
If you want the - and + labels to appear as you want, then run diff with the files in the reverse order:
diff -u game_old.js game_new.js

Errors in codeigniter-restserver library

I want to use restful in my ci 3.03 application:
I found this tutplus tutorial
I downloaded codeigniter-restserver-master.zip file and copied Format.php and REST_Controller.php(#version 3.0.0) files into /application/libraries/REST directory
I created control application/controllers/api/Users.php :
require_once("application/libraries/REST/REST_Controller.php");
require_once("application/libraries/REST/Format.php");
class Users extends REST_Controller
{
//protected $rest_format = 'json';
function users_get()
{
//$users = $this->user_model->get_all();
$filter_username= $this->get('filter_username');
$filter_user_group= $this->get('filter_user_group');
$filter_active= $this->get('filter_active');
$sort= $this->get('sort');
$sort_direction= $this->get('sort_direction');
//, $filter_user_group, $filter_active, $sort, $sort_direction
$users_list = $this->muser->getUsersList(false, ''/*, $filter_username, $filter_user_group, $filter_active, $sort, $sort_direction, ''*/);
echo '<pre>'.count($users_list).'::$users_lists::'.print_r($users_list,true).'</pre>';
if($users_list)
{
$this->response($users, 200);
}
else
{
$this->response(NULL, 404);
}
}
AND RUNNING URL http://local-ci3.com/api/users I got many errors:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Users::$format
Filename: REST/REST_Controller.php
Line Number: 734
Backtrace:
File: /mnt/diskD_Work/wwwroot/ci3/application/libraries/REST/REST_Controller.php
Line: 734
Function: _error_handler
File: /mnt/diskD_Work/wwwroot/ci3/application/libraries/REST/REST_Controller.php
Line: 649
Function: response
File: /mnt/diskD_Work/wwwroot/ci3/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Users::$format
Filename: REST/REST_Controller.php
Line Number: 752
Backtrace:
File: /mnt/diskD_Work/wwwroot/ci3/application/libraries/REST/REST_Controller.php
Line: 752
Function: _error_handler
File: /mnt/diskD_Work/wwwroot/ci3/application/libraries/REST/REST_Controller.php
Line: 649
Function: response
File: /mnt/diskD_Work/wwwroot/ci3/index.php
Line: 292
Function: require_once
Actually I wanted to get some workable library to help me with REST api creation. I think that is preferable way istead of making from zero.
But is this library not workable or does it needs for some fixing? Sorry, what I missed is if this library only for ci 2?
I made search on this forum and found such hint :
I have the same problem when I load both Format.php and
Rest_Controller.php into a controller. After have a quick glance at
Format.php, it appears to be a standalone format conversion helper.
Try to just load Rest_Controller.php and see if your problem goes
away.
I commented line
//require_once("application/libraries/REST/Format.php");
in my controller, but I still get errors like :
Message: Undefined property: Users::$format.
I tried to review code of this library and see that invalid block when data are converted to json format, line 731-757 :
elseif ($data !== NULL)
{
// If the format method exists, call and return the output in that format
if (method_exists($this->format, 'to_' . $this->response->format))
{
// Set the format header
$this->output->set_content_type($this->_supported_formats[$this->response->format], strtolower($this->config->item('charset')));
$output = $this->format->factory($data)->{'to_' . $this->response->format}();
// An array must be parsed as a string, so as not to cause an array to string error
// Json is the most appropriate form for such a datatype
if ($this->response->format === 'array')
{
$output = $this->format->factory($output)->{'to_json'}();
}
}
else
{
// If an array or object, then parse as a json, so as to be a 'string'
if (is_array($data) || is_object($data))
{
$data = $this->format->factory($data)->{'to_json'}();
}
// Format is not supported, so output the raw data as a string
$output = $data;
}
}
If I tried to commented this block, but get error
Message: Array to string conversion
Looks like data are not converted in this case...
Is is possible to fix these errors?
Or can you, please, to tell me advice some codeigniter 3 REST api workable library with similar interface like library above?
Thanks!
I use that lib, work just fine. My suggestion is follow the more relevant installation instruction on github .
you also wrong place the lib file :
Tutorial say :
require(APPPATH'.libraries/REST_Controller.php');
You try :
require_once("application/libraries/REST/REST_Controller.php");
require_once("application/libraries/REST/Format.php");
No need to include the format because on line 407 the lib will load it. And also good to know on line 404 it will load the configuration (application/config/rest.php) it will be your default configuration, and also you can change it to suit your need.
Please let me know if you still got error using my answer :)

Eclipse Arduino Linker trouble

I have been trying to get my Arduino/Eclipse environment setup. For some reason I keep having trouble with the linker.
Here is the error I receive when trying to build.
So there is a conflict between libgcc and libc?
I have followed these instructions pretty close, but there are some nuances.
**** Build of configuration Debug for project CustomLEDPoi ****
make all
Building target: CustomLEDPoi.elf
Invoking: AVR C++ Linker
avr-gcc -Wl,-Map,CustomLEDPoi.map,--cref -Wl,--gc-sections -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino" -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src" -Xlinker -verbose -mmcu=atmega328p -o "CustomLEDPoi.elf" ./src/glowstick2.o ./lib/CShiftPWM.o ./lib/MeetAndroid.o ./lib/hsv2rgb.o ./arduinolib/HardwareSerial.o ./arduinolib/SPI.o -lArduinoCore
GNU ld (WinAVR 20081205) 2.19
Supported emulations:
avr2
avr1
avr25
avr3
avr31
avr35
avr4
avr5
avr51
avr6
avrxmega1
avrxmega2
avrxmega3
avrxmega4
avrxmega5
avrxmega6
avrxmega7
cannot find script file ldscripts/avr5.x
opened script file c:\users\justin\arduino\arduino-1.0\hardware\tools\avr\avr\bin\../lib\ldscripts/avr5.x
using external linker script:
==================================================
/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf32-avr","elf32-avr","elf32-avr")
OUTPUT_ARCH(avr:5)
MEMORY
{
text (rx) : ORIGIN = 0, LENGTH = 128K
data (rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0
eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 64K
fuse (rw!x) : ORIGIN = 0x820000, LENGTH = 1K
lock (rw!x) : ORIGIN = 0x830000, LENGTH = 1K
signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K
}
SECTIONS
{
/* Read-only sections, merged into text segment: */
.hash : { *(.hash) }
.dynsym : { *(.dynsym) }
.dynstr : { *(.dynstr) }
.gnu.version : { *(.gnu.version) }
.gnu.version_d : { *(.gnu.version_d) }
.gnu.version_r : { *(.gnu.version_r) }
.rel.init : { *(.rel.init) }
.rela.init : { *(.rela.init) }
.rel.text :
{
*(.rel.text)
*(.rel.text.*)
*(.rel.gnu.linkonce.t*)
}
.rela.text :
{
*(.rela.text)
*(.rela.text.*)
*(.rela.gnu.linkonce.t*)
}
.rel.fini : { *(.rel.fini) }
.rela.fini : { *(.rela.fini) }
.rel.rodata :
{
*(.rel.rodata)
*(.rel.rodata.*)
*(.rel.gnu.linkonce.r*)
}
.rela.rodata :
{
*(.rela.rodata)
*(.rela.rodata.*)
*(.rela.gnu.linkonce.r*)
}
.rel.data :
{
*(.rel.data)
*(.rel.data.*)
*(.rel.gnu.linkonce.d*)
}
.rela.data :
{
*(.rela.data)
*(.rela.data.*)
*(.rela.gnu.linkonce.d*)
}
.rel.ctors : { *(.rel.ctors) }
.rela.ctors : { *(.rela.ctors) }
.rel.dtors : { *(.rel.dtors) }
.rela.dtors : { *(.rela.dtors) }
.rel.got : { *(.rel.got) }
.rela.got : { *(.rela.got) }
.rel.bss : { *(.rel.bss) }
.rela.bss : { *(.rela.bss) }
.rel.plt : { *(.rel.plt) }
.rela.plt : { *(.rela.plt) }
/* Internal text space or external memory. */
.text :
{
*(.vectors)
KEEP(*(.vectors))
/* For data that needs to reside in the lower 64k of progmem. */
*(.progmem.gcc*)
*(.progmem*)
. = ALIGN(2);
__trampolines_start = . ;
/* The jump trampolines for the 16-bit limited relocs will reside here. */
*(.trampolines)
*(.trampolines*)
__trampolines_end = . ;
/* For future tablejump instruction arrays for 3 byte pc devices.
We don't relax jump/call instructions within these sections. */
*(.jumptables)
*(.jumptables*)
/* For code that needs to reside in the lower 128k progmem. */
*(.lowtext)
*(.lowtext*)
__ctors_start = . ;
*(.ctors)
__ctors_end = . ;
__dtors_start = . ;
*(.dtors)
__dtors_end = . ;
KEEP(SORT(*)(.ctors))
KEEP(SORT(*)(.dtors))
/* From this point on, we don't bother about wether the insns are
below or above the 16 bits boundary. */
*(.init0) /* Start here after reset. */
KEEP (*(.init0))
*(.init1)
KEEP (*(.init1))
*(.init2) /* Clear __zero_reg__, set up stack pointer. */
KEEP (*(.init2))
*(.init3)
KEEP (*(.init3))
*(.init4) /* Initialize data and BSS. */
KEEP (*(.init4))
*(.init5)
KEEP (*(.init5))
*(.init6) /* C++ constructors. */
KEEP (*(.init6))
*(.init7)
KEEP (*(.init7))
*(.init8)
KEEP (*(.init8))
*(.init9) /* Call main(). */
KEEP (*(.init9))
*(.text)
. = ALIGN(2);
*(.text.*)
. = ALIGN(2);
*(.fini9) /* _exit() starts here. */
KEEP (*(.fini9))
*(.fini8)
KEEP (*(.fini8))
*(.fini7)
KEEP (*(.fini7))
*(.fini6) /* C++ destructors. */
KEEP (*(.fini6))
*(.fini5)
KEEP (*(.fini5))
*(.fini4)
KEEP (*(.fini4))
*(.fini3)
KEEP (*(.fini3))
*(.fini2)
KEEP (*(.fini2))
*(.fini1)
KEEP (*(.fini1))
*(.fini0) /* Infinite loop after program termination. */
KEEP (*(.fini0))
_etext = . ;
} > text
.data : AT (ADDR (.text) + SIZEOF (.text))
{
PROVIDE (__data_start = .) ;
*(.data)
*(.data*)
*(.rodata) /* We need to include .rodata here if gcc is used */
*(.rodata*) /* with -fdata-sections. */
*(.gnu.linkonce.d*)
. = ALIGN(2);
_edata = . ;
PROVIDE (__data_end = .) ;
} > data
.bss : AT (ADDR (.bss))
{
PROVIDE (__bss_start = .) ;
*(.bss)
*(.bss*)
*(COMMON)
PROVIDE (__bss_end = .) ;
} > data
__data_load_start = LOADADDR(.data);
__data_load_end = __data_load_start + SIZEOF(.data);
/* Global data not cleared after reset. */
.noinit :
{
PROVIDE (__noinit_start = .) ;
*(.noinit*)
PROVIDE (__noinit_end = .) ;
_end = . ;
PROVIDE (__heap_start = .) ;
} > data
.eeprom :
{
*(.eeprom*)
__eeprom_end = . ;
} > eeprom
.fuse :
{
KEEP(*(.fuse))
KEEP(*(.lfuse))
KEEP(*(.hfuse))
KEEP(*(.efuse))
} > fuse
.lock :
{
KEEP(*(.lock*))
} > lock
.signature :
{
KEEP(*(.signature*))
} > signature
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) }
.stab.exclstr 0 : { *(.stab.exclstr) }
.stab.index 0 : { *(.stab.index) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.comment) }
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
}
==================================================
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5/crtm328p.o succeeded
c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5/crtm328p.o
attempt to open ./src/glowstick2.o succeeded
./src/glowstick2.o
attempt to open ./lib/CShiftPWM.o succeeded
./lib/CShiftPWM.o
attempt to open ./lib/MeetAndroid.o succeeded
./lib/MeetAndroid.o
attempt to open ./lib/hsv2rgb.o succeeded
./lib/hsv2rgb.o
attempt to open ./arduinolib/HardwareSerial.o succeeded
./arduinolib/HardwareSerial.o
attempt to open ./arduinolib/SPI.o succeeded
./arduinolib/SPI.o
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino/libArduinoCore.so failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\libArduinoCore.a failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src/libArduinoCore.so failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a succeeded
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)wiring.c.o
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)wiring_digital.c.o
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)main.cpp.o
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)new.cpp.o
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)Print.cpp.o
(C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libArduinoCore.a)WString.cpp.o
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino/libgcc.so failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\libgcc.a failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src/libgcc.so failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libgcc.a failed
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5/libgcc.so failed
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a succeeded
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_mulsi3.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_udivmodhi4.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_divmodhi4.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_udivmodsi4.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_exit.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_copy_data.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_clear_bss.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_ctors.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_dtors.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_fixunssfsi.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_addsub_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_mul_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_div_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_gt_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_ge_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_lt_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_si_to_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_sf_to_si.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_thenan_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_usi_to_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_prologue.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_epilogue.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_tablejump.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_clzsi2.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_pack_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_unpack_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_fpcmp_parts_sf.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a)_clz.o
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino/libc.so failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\libc.a failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src/libc.so failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libc.a failed
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5/libc.so failed
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libc.a failed
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5/libc.so failed
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a succeeded
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)malloc.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)realloc.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)atof.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)atoi.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)atol.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)isspace.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)tolower.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)toupper.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)memcpy.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)memmove.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strchr.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strcmp.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strcpy.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strncmp.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strncpy.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strrchr.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strstr.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)itoa.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)ltoa.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)mulsi10.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)mul10.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)ultoa.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)utoa.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strtod.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)cty_isfalse.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strncasecmp_P.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)strrev.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)cmpsf2.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)fp_cmp.o
(c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a)errno.o
c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr5\libc.a(cmpsf2.o): In function `__lesf2':
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino/libgcc.so failed
(.text.fplib+0x0): multiple definition of `__ltsf2'
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\libgcc.a failed
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src/libgcc.so failed
c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a(_lt_sf.o):(.text+0x0): first defined here
attempt to open C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src\libgcc.a failed
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5/libgcc.so failed
attempt to open c:/users/justin/arduino/arduino-1.0/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a succeeded
make: *** [CustomLEDPoi.elf] Error 1
**** Build Finished ****
I realized that I did not add the libary m. So I appended -lm using the add libraries option.
The make file now has this command.
avr-g++ -o"CustomLEDPoi.elf" ./src/glowstick2.o ./lib/CShiftPWM.o ./lib/MeetAndroid.o ./lib/hsv2rgb.o ./arduinolib/HardwareSerial.o ./arduinolib/SPI.o -larduino_core -lm -Wl,-Map,CustomLEDPoi.map,--cref -Wl,--gc-sections -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino" -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src" -Xlinker -verbose -mmcu=atmega328p
This still gave me the same issue.
Looking at the guide at http://arduino.cc/playground/Code/Eclipse
It says,
If you're using C++ then the hex file can get really big. In the
linker menu, change the command to avr-gcc and the command line
pattern to the following: ${COMMAND} --cref -s -Os
${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} -lm ${FLAGS}
My make file now has this command.
avr-g++ --cref -s -Os -o"CustomLEDPoi.elf" ./src/glowstick2.o ./lib/CShiftPWM.o ./lib/MeetAndroid.o ./lib/hsv2rgb.o ./arduinolib/HardwareSerial.o ./arduinolib/SPI.o -larduino_core -lm -lm -Wl,-Map,CustomLEDPoi.map,--cref -Wl,--gc-sections -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino" -L"C:\Users\Justin\workspaceArduino\arduino_core\328P_16MHz Arduino\src" -Xlinker -verbose -mmcu=atmega328p
here is catastrohic error for ATmega32 (avr5) in GCC linker script:
data (rw!x) : ORIGIN = 0x800060, LENGTH = 0xffa0
the manual declares:
(0xC6) UDR0 USART I/O Data Register
the at address (0xC6) will be owerwritten by by user .data

Mobilesubstrate MobileSafari tweak Logos compilation issue

I'm trying to trap the arguments of the function in bookmarking on MobileSafari. But I get compile errors. I suspect the WebBookmark class is undeclared and found none of the headers in Safari declaring the interface for it. So I added:
#import <WebKit/WebKit.h>
#import <WebCore/WebCore.h>
To my Tweak.mk. Does anyone know where to find their interfaces? Below are my makefiles, tweak and output. Thanks!
# output:
Making all for tweak TestingTweak...
Preprocessing Tweak.xm...
Compiling Tweak.xm...
In file included from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UITableView.h:11,
from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIPickerView.h:11,
from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibilityAdditions.h:10,
from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIAccessibility.h:12,
from /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIKit.h:10,
from /opt/theos/Prefix.pch:4,
from <command-line>:0:
/opt/theos/include/UIKit/UISwipeGestureRecognizer.h:6:26: error: Availability2.h: No such file or directory
Tweak.xm:30: error: ‘WebBookmark’ has not been declared
Tweak.xm:30: error: ‘WebBookmark’ has not been declared
Tweak.xm:30: error: expected initializer before ‘*’ token
Tweak.xm:30: error: expected initializer before ‘*’ token
Tweak.xm:30: error: ‘WebBookmark’ has not been declared
Tweak.xm:30: error: ‘WebBookmark’ has not been declared
Tweak.xm:30: error: expected initializer before ‘*’ token
Tweak.xm:30: error: expected initializer before ‘*’ token
Tweak.xm:464: error: ‘WebBookmark’ has not been declared
Tweak.xm:465: error: expected initializer before ‘*’ token
Tweak.xm:466: error: ‘WebBookmark’ has not been declared
Tweak.xm:467: error: expected initializer before ‘*’ token
Tweak.xm: In function ‘void _logosLocalInit()’:
Tweak.xm:2569: error: ‘_logos_method$_ungrouped$FolderPickerViewController$parentBookmark’ was not declared in this scope
Tweak.xm:2569: error: ‘_logos_orig$_ungrouped$FolderPickerViewController$parentBookmark’ was not declared in this scope
Tweak.xm:2569: error: ‘_logos_method$_ungrouped$FolderPickerViewController$movingBookmark’ was not declared in this scope
Tweak.xm:2569: error: ‘_logos_orig$_ungrouped$FolderPickerViewController$movingBookmark’ was not declared in this scope
make[2]: *** [obj/Tweak.xm.o] Error 1
make[1]: *** [internal-library-all_] Error 2
make: *** [TestingTweak.all.tweak.variables] Error 2
WHAt went in:
#import <UIKit/UIKit2.h>
%hook FolderPickerViewController
- (id)initWithDelegate:(id)arg1 bookmarkCollection:(id)arg2 { %log; id r = %orig; NSLog(#" = %#", r); return r; }
- (void)dealloc { %log; %orig; }
- (int)tableView:(id)arg1 numberOfRowsInSection:(int)arg2 { %log; int r = %orig; NSLog(#" = %d", r); return r; }
- (id)tableView:(id)arg1 cellForRowAtIndexPath:(id)arg2 { %log; id r = %orig; NSLog(#" = %#", r); return r; }
- (void)tableView:(id)arg1 didSelectRowAtIndexPath:(id)arg2 { %log; %orig; }
- (void)_cancel { %log; %orig; }
- (void)willShowForBookmark:(id)arg1 parent:(id)arg2 { %log; %orig; }
// the following properties seem to be the culprit
- (void)setParentBookmark:(WebBookmark *)parentBookmark { %log; %orig; }
- (WebBookmark *)parentBookmark { %log; WebBookmark * r = %orig; NSLog(#" = %#", r); return r; }
- (void)setMovingBookmark:(WebBookmark *)movingBookmark { %log; %orig; }
- (WebBookmark *)movingBookmark { %log; WebBookmark * r = %orig; NSLog(#" = %#", r); return r; }
%end
What's in the makefile:
SDKVERSION=5.0
include theos/makefiles/common.mk
TWEAK_NAME = TestingTweak
TestingTweak_FILES = Tweak.xm
include $(THEOS_MAKE_PATH)/tweak.mk
Filter:
{ Filter = { Bundles = ( "com.apple.mobilesafari" ); }; }
WebBookmark comes from WebBookmarks.framework. It's a private framework, you'll have to class-dump it.