IRC Log Viewer » #firebreath » 2011-10-12

IRC Nick Time (GMT-7) Message
linearray 02:10 glad to hear that
mkoch 04:10 hi! should firebreath work on OS X Lion? I checked out the latest git source and could make until the "prepmac.sh examples", but xcodebuild failed with the following message on the example codes:
The following build commands failed: CompileC buildex/fblibs/log4cplus/FireBreath.build/Debug/log4cplus.build/Objects-normal/i386/configurator.o src/libs/log4cplus/src/configurator.cxx normal i386 c++ com.apple.compilers.llvmgcc42
linearray 04:10 hehe
this is being looked into
mkoch 04:10 you mean atm? :)
linearray 04:10 wait, so the prepmac script still finishes successfully
but when you try to build it, it fails. right?
mkoch 04:10 yes
linearray 04:10 I assume you try to build FBTestPlugin
mkoch 04:10 the prepmac tells no error
linearray 04:10 what you can do (for now) is switch the compiler to LLVM GCC 4.2
in the firebreath project settings
mkoch 04:10 okay, checking
linearray 04:10 in my experience this works better... you may have to delete buildex/ and do 'prepmac.sh examples' again
mkoch 04:10 it is already set to system default which is LLVM GCC 4.2
linearray 04:10 hmm
then try the other one ;)
taxilian_away: jira tells me my user does not exist. did you change something?
mkoch: it would be great if you could submit a ticket here: http://jira.firebreath.org/
once I get my account back I can amend it ;)
mkoch 04:10 linearray: sure, no problem
what should I write to the Affected version field? in the version file in the repo root the $ strings are not replaced I can't see any version info
linearray 04:10 it doesn't really matter
1.6 or 1.6RC2 is fine
or master or something
FireBreathBot 04:10 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-133 issue created by mkoch
mkoch 04:10 here you are :)
linearray 04:10 k thx
linearray 08:10 taxilian_away: if you can tell me exactly what the interface for FIREBREATH-1 should look like, I might be able to help out
FireBreathBot 08:10 FIREBREATH-1: Summary: Cross-platform timer abstraction.
FIREBREATH-1: Assigned To: [email protected]
FIREBREATH-1: Priority: Minor, Status: Open, http://jira.firebreath.org/browse/FIREBREATH-1
linearray 08:10 cause using boost::asio timers is real simple by itself... if it's really just about slapping an io_service onto a class and taking a callback for timers, I think I could do that
taxilian 08:10 linearray: someone actually started on FIREBREATH-1; I just haven't had time to look at it in awhile
FireBreathBot 08:10 FIREBREATH-1: Summary: Cross-platform timer abstraction.
FIREBREATH-1: Assigned To: [email protected]
FIREBREATH-1: Priority: Minor, Status: Open, http://jira.firebreath.org/browse/FIREBREATH-1
taxilian 08:10 linearray: you had two users; I deleted the one that wasn't attached to anything, I think. try adding antoher x at the end
linearray 08:10 hmm
will do later
taxilian 08:10 sorry if I did the wrong one :-/
on the timer, I only have a general idea of how I think it should work… :-/ we'll need to play with it / talk about it a bit
linearray 09:10 i guess the question is, what is the advantage to using boost asio directly
taxilian 09:10 the main advantage in this case is that I don't know of a better solution that isn't completely platform specific
linearray 09:10 hm? how is boost asio not platform-independent?
i mean
why do abstraction in fb at all
instead of letting users use asio
taxilian 09:10 no, I mean that boost *is* platform independant
the main reason is just because most users don't know how =]
myself included, actually
linearray 09:10 ok lets talk later, im currently mobile
taxilian 09:10 aight
FireBreathBot 10:10 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-133 issue commented by mkoch "FYI: I had the same issue with the 1.6 and the 1.5 but changing the compiler to Apple LLVM Compil..."
FireBreathBot 10:10 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-133 issue commented by richard "Interesting; I have been able to build just fine on two different machines running Lion. I'll lo..."
taxilian 10:10 other than the mac build issue, does anyone know of any issues with the latest 1.6?
has anyone tried it out?
someone-noone 11:10 me, not
taxilian 11:10 someone-noone: does that mean you did try it out, and no problems found?
Sudi 11:10 hi guys,, need your help :) I compiled firebreath and got myProject and myProjectAPI file... I am rename myProjectAPI.CPP to myProjectAPI.mm because I want to use some objective-c code there.. now I am not able to create a cpp pointer that has access to obj c code.. any ideas ?? I looked into WebViewMac.mm as well but no luck :(
*I am = I have
taxilian 11:10 Sudi: I don't understand; what error are you getting?
.pb
FireBreathBot 11:10 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin. http://fpaste.org, https://pzt.me/, and https://gist.github.com are all good options
Sudi 11:10 I am just trying to call small objective -c class method in myProjectAPI.CPP (which I renamed as myProjectAPI.mm) from C++ method.
taxilian 11:10 okay
and you say it doesn't work
that's not very useful
I need to know what happens when you try
what error message?
or pastebin your code so I can see what you're doing
based on the information you have given me, I don't know if your computer is trying to compile for ppc or if you thought objective c looks like fortran
I need more information
Sudi 11:10 ok.. just a min.. let me copy the code
taxilian 11:10 *and* the error message
Sudi 11:10 ok
I just wanted to use objective-c in firebreath .. can you show me a small example of how to do it
that is what I am looking for actually
taxilian 11:10 yes
I gave you one already
you said "but no luck"
I have no idea what that means
do a search in the source tree for .mm, there are several
!findfile .*.mm
FireBreathBot 11:10 Found 40 matching file(s) in the master branch. First 5 are:
Sudi 11:10 ok thanks
FireBreathBot 11:10 cmake/CommonPluginConfig.cmake http://goo.gl/IzcwI
taxilian 11:10 if you can ask a specific question, I might be able to help
heh. fbbot is really slow today
Sudi 11:10 ok thanks
FireBreathBot 11:10 cmake/common.cmake http://goo.gl/p7rCx
cmake/dummy.cpp http://goo.gl/bJQ7S
common.cmd http://goo.gl/XaDK3
common.sh http://goo.gl/QIy6X
taxilian 11:10 lol. and my search was not well worded
FireBreathBot 12:10 Commit 9f6daf8 on master by Richard Bateman: "Fixed build issue on mac" http://goo.gl/r9PdR
taxilian 12:10 linearray: can you check to see if my recent push has fixed your issue with building on mac?
FireBreathBot 12:10 Commit 9f6daf8 on firebreath-1.6 by Richard Bateman: "Fixed build issue on mac" http://goo.gl/r9PdR
FireBreathBot 12:10 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-133 issue resolved by richard "I believe that this is fixed; could you verify?"
linearray 12:10 re
FireBreathBot 13:10 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-133 issue commented by mkoch "I made a clear checkout on the dev branch, it works now! Thanks!"
JIRA issue http://jira.firebreath.org/browse/FIREBREATH-133 issue closed by richard
linearray 13:10 the particular error mr. koch reported is gone now
but the trouble with src/PluginAuto/Mac/np_macmain.cpp persists
taxilian 13:10 because you're trying to use llvm?
linearray 13:10 all i did was rm -rf buildex; ./prepmac.sh examples; cd buildex; xcodebuild
and yes, it is using LLVM
CompileC buildex/projects/BasicMediaPlayer/PluginAuto/FireBreath.build/Debug/BasicMediaPlayer_PluginAuto.build/Objects-normal/i386/np_macmain.o src/PluginAuto/Mac/np_macmain.cpp normal i386 c++ com.apple.compilers.llvm.clang.1_0.compiler
same error as yesterday http://pastebin.com/e2z61E6k
VJ_ 13:10 If FB::variableList declared in globalstaticInitiatilize()" function with multiple tabs or instances of the same browsers are present, then will it be thread safe? i.e. What will happen if two tabs try to write to the list at the same time?
anyone there?
taxilian 13:10 busy right now
VJ_ 13:10 ?
ok
linearray 13:10 VJ_: did you read http://www.firebreath.org/display/documentation/Plugin+Lifecycle ?
cause it says that globalPluginInitialize() is only called for the first instance
so, if there is nothing for me to test right now, I'll install the SSD in my mac
taxilian 13:10 *jealous*
linearray 13:10 which will probably knock me out for the rest of the day
VJ_ 13:10 Yes I have read that
To give a more specific example: globalstaticinitialize() has data structure, populated with some values. User can read from it and write to it. If there are two instances of firefox where both the users are accessing it to write to the Data Structure, then What will happen? FB will execute write() operation sync or asycn? As per my understanding it executes synch, where it will call the write() operation serially.
What will happen if the values are added after initialization to that DS?
I am sorry I am bit confused
taxilian 13:10 (I'm still on a call; maybe another 20 minutes)
VJ_ 13:10 ok I will wait
linearray 13:10 and I don't really know
VJ_ 13:10 :-(
lucho 13:10 hi, somebody knows how to use firebreath with visual studio?? i cant install it
VJ_ 13:10 http://www.firebreath.org/display/documentation/Windows+Video+Tutorial
VJ 13:10 hi
Re pasting my question
If FB::variableList declared in globalstaticInitiatilize() function, where multiple tabs or instances of the same browsers are present, then will it be thread safe? i.e. What will happen if two tabs try to write to the list at the same time?
To give a more specific example: globalstaticinitialize() has data structure, populated with some values. User can read from it and write to it. If there are two instances of firefox where both the users are accessing it to write to the Data Structure, then What will happen? FB will execute write() operation in sync or asycn mode? As per my understanding it executes synch, where it will call the write() operation serially. May I know
taxilian 14:10 I am back, finally
all calls from the browser occur on the same thread
unless you start another thread there is never an issue with thread safety
VJ 14:10 ok cool, that means if a JSAPI() method of one user adds some value to the data structure then it will be avaliable to the another user right?
taxilian 14:10 if it's global or static, yes
Sudi 14:10 taxilian.. I wrote a obj-c code in myPluginAPI.h.. I added the following -
#ifdef __OBJC__
@interface TestClassA { struct ObjCObjects { TestClassA* helper; };}
#else struct ObjCObjects; #endif
and on private: boost::scoped_ptr<ObjCObjects>o;
so now I should be able to use [o->helper someFunction]; from mm file right ?
am I missing something here ?
taxilian 14:10 you might be; it's hard to tell from your limited code sample. pastebin me the code you're using
and tell me what the error is
because you seem to think that I can guess
and I can't for sure
Sudi 14:10 ok.. I am in two different machine
wait .. let me try that
taxilian 14:10 one thing to consider is that unless you need to use it from a different .mm file there is no reason that you need to put any objective c code in the header
Sudi 14:10 I am in windows .. who you want me to send you the files ?
taxilian 14:10 .pb
FireBreathBot 14:10 When you need to share code, logs, or anything else longer than a couple of lines, use a pastebin. http://fpaste.org, https://pzt.me/, and https://gist.github.com are all good options
Sudi 14:10 ok.. I just pasted it
you should be seeing it from Sudi
taxilian 14:10 much easier would be to just paste the url here
Sudi 14:10 ok
https://pzt.me/9onk
taxilian 14:10 why do you even need an objective c object?
why not just make the calls in the C++ class?
and why do you need the objective c code in the header file?
Sudi 14:10 on echo method I am just trying to call [o->helper TestWithoutReturn];
taxilian 14:10 so there are a couple things here
Sudi 14:10 because I have a webkit plugin code already created in objective-c and just want to use it here because webkit is no longer supported and I dont want to rewrite all the obj-c code
I mean webkit plugin is no longer supported
taxilian 14:10 first, #ifdef __OBJC__ you're declaring the struct ObjCObjects inside your @interface
and #else you aren't
that doesn't make any sense at all
your struct should be outside of the interface declaration
Sudi 14:10 ok.. let me check on that
you are right.. thanks .. I didnt relalize that
:)
but still the problem is not solved.. it compiled well but at run time the plugin craches
crashes
taxilian 14:10 update the paste and I'll look again
most likely you have a memory issue
this isn't at all a firebreath related issue, btw; this is all understanding objective c
linearray 14:10 try the debugger
it's totally awesome
Sudi 14:10 this is the updated .h file https://pzt.me/34xw
taxilian 14:10 that's great, except that the issue is almost certainly in your .mm file
oh, I see. the only thing you changed was the .h
next time please set the syntax highlighting sytle
Sudi 14:10 sure
taxilian 14:10 scoped_ptr is still a pointer; you have to create the object
and you ha veto create the objective c object in o->helper
I dont' see that anywhere
so you're trying to call an undefined object on a null pointer
Sudi 15:10 this is what I am not able to.. can you give me some idea..
taxilian 15:10 sure. first, go learn how objects are created in C++. Then, go learn how objects are created in objective c.
then do it
I'm not trying to be rude, but I'm not going to teach you the basics of the language; I just don't have time
there have got to be a hundred websites that you can find on google that answer those questions
Sudi 15:10 thats ok.. thanks
taxilian 15:10 I will tell you that you can init the scoped pointer this way: o = boost::scoped_ptr<ObjCObjects>(new ObjCObjects)
in the contructor
because that's a boost thing, not a c++ thing
but you still need to learn the languages a bit better if you want to actually manage this plugin. you need to actually know the languages you are using
good luck!
linearray 15:10 alright, that was quicker than expected
taxilian 15:10 hehe
working well, then?
which one did you get?
linearray 15:10 I can tell you once spotlight is finished
`M4-CT256M4SSD2
taxilian 15:10 cool
is it fast?
linearray 15:10 I can tell you once spotlight is finished ;)
right now I'm rather disappointed by random 30 second hangs
taxilian 15:10 really? that's the same problem I had
Sudi 15:10 thanks taxilian for all your help.. really appriciated
taxilian 15:10 linearray: what firmware is it running?
Sudi: happy to help
linearray 15:10 installing smartmontools
Firmware Version: 0001
taxilian 15:10 linearray: that's probably the problem; update the firmware
from what the support guy told me 0002 solves several rpoblesm wtih that drive and mac
macs
linearray 15:10 oh nice, there is even version 0009 by now
taxilian 15:10 yeah
didn't help my problem, but sounds lke you were able to isntall at least
linearray 15:10 at least they support mac
taxilian 15:10 yeah
linearray 15:10 hahah
the crucial forums don't allow you to write 'bs'
which makes the dd instructions just a bit funny
taxilian 15:10 lol
linearray 16:10 much better
random read/write 170 MB/s
good enough
(sata2)
taxilian 16:10 =]
I'm kinda excited to see what mine will be like when I finally get it (maybe tomorrow? amazon says "shipping soon"). mine is 6mb/s sata, so should be pretty good
linearray 17:10 oh, boost::mpl is already in firebreath-boost
mind if I submit a ticket to include boost::phoenix the next time firebreath-boost is updated?
it should have no further dependencies
Sudi 18:10 finally able to run it withour error :)
ok guys.. good luck for what you all are doing
am_ 19:10 hi dougma
dougma 19:10 hi am_
am_ 19:10 I have a question about building plugin on Mac
dougma 19:10 maybe i can help
am_ 19:10 I have linked a dylib file to my plugin in the cmake before running the prep script, and then I have built it in xcode with no errors
then I created a link from my library/Internet plugins to my plugin , and as I checked it is installed in firefox
but it doesn't work, and I have tried to copy the dylib there as well but no good
it runs though without linking the dylib
what shall i do
dougma 19:10 i don't know, i'm not using dylibs in my project.
maybe someone else can help
am_ 20:10 i See anyone has got any idea?
do you know where I can find some docs about this?
coz I couldn't find any on FB web site
hello any help ? I am really stcuk in this
dougma thanks mate
cheers