There's a small bug with respect to an Internet Explorer corner case in the openssl dependency package. I'd like to modify one of the openssl C files but I'm at a loss as to how to recompile this package so that node can use my updates. Any help would be greatly appreciated!
On Fri, Oct 5, 2012 at 4:13 AM, Justin Meltzer <jus...@airtimehq.com> wrote:
> There's a small bug with respect to an Internet Explorer corner case in the
> openssl dependency package. I'd like to modify one of the openssl C files
> but I'm at a loss as to how to recompile this package so that node can use
> my updates. Any help would be greatly appreciated!
I assume that you mean the bundled version that lives in deps/openssl?
It should be trivial, just edit the file and run make, gyp (the build
system) will pick up the changes and recompile the required files.
On Thursday, October 4, 2012 10:32:43 PM UTC-4, Ben Noordhuis wrote:
> On Fri, Oct 5, 2012 at 4:13 AM, Justin Meltzer <jus...@airtimehq.com<javascript:>> > wrote: > > There's a small bug with respect to an Internet Explorer corner case in > the > > openssl dependency package. I'd like to modify one of the openssl C > files > > but I'm at a loss as to how to recompile this package so that node can > use > > my updates. Any help would be greatly appreciated!
> I assume that you mean the bundled version that lives in deps/openssl? > It should be trivial, just edit the file and run make, gyp (the build > system) will pick up the changes and recompile the required files.
Actually yes, node is already built. I'm just looking to recompile the openssl dependency inside node/deps/openssl.
I tried running make inside node/deps/openssl/openssl but unfortunately it threw an error related to the linker (there was some undefined reference or something). I then noticed that each openssl sub-package (ssl, crytpo etc.) has its own Makefile. Since I only updated a fie inside the ssl package of openssl, I ran
make clean all
inside that directory and it seemed to finish with no errors.
So the main thing I'd like to understand is which packages can I recompile so that node will pick up these openssl modifications? Is recompiling just the ssl package of the openssl package sufficient? Or do I have to recompile the entire openssl package? Will recompiling node as a whole also dynamically recompile the openssl package and pick up those changes?
On Friday, October 5, 2012 7:51:56 AM UTC-4, Ben Noordhuis wrote:
> On Fri, Oct 5, 2012 at 6:10 AM, Justin Meltzer <jus...@airtimehq.com<javascript:>> > wrote: > > Yeah exactly, the bundled version in deps/openssl.
> > Thanks! Do I need to run ./configure? or just make? what about make > install?
> Right, I assumed you had already built node. You don't have to > reinstall it on every compile, the binary is quite self-contained. > Here, try this:
> $ export JOBS=<num-cpus> # speed up build > $ ./configure > $ make BUILDTYPE=Release > $ out/Release/node # starts the REPL
> If you want debug builds, repeat the last two steps with s/Release/Debug/
On Fri, Oct 5, 2012 at 6:44 PM, Justin Meltzer <jus...@airtimehq.com> wrote:
> Actually yes, node is already built. I'm just looking to recompile the
> openssl dependency inside node/deps/openssl.
> I tried running make inside node/deps/openssl/openssl but unfortunately it
> threw an error related to the linker (there was some undefined reference or
> something). I then noticed that each openssl sub-package (ssl, crytpo etc.)
> has its own Makefile. Since I only updated a fie inside the ssl package of
> openssl, I ran
> make clean all
> inside that directory and it seemed to finish with no errors.
> So the main thing I'd like to understand is which packages can I recompile
> so that node will pick up these openssl modifications? Is recompiling just
> the ssl package of the openssl package sufficient? Or do I have to recompile
> the entire openssl package? Will recompiling node as a whole also
> dynamically recompile the openssl package and pick up those changes?
Are you working with 0.6 or 0.8?
If you get a linker error with 0.8, you either had an error somewhere
in your code or you need to add the missing dependencies or defines to
deps/openssl/openssl.gyp and run configure again. In any case, you
shouldn't use any of the Makefiles in deps/openssl - node doesn't and
won't pick up your changes.
The story is different for 0.6 but you shouldn't be using that anyway. :-)
On Friday, October 5, 2012 4:07:37 PM UTC-4, Ben Noordhuis wrote:
> On Fri, Oct 5, 2012 at 6:44 PM, Justin Meltzer <jus...@airtimehq.com<javascript:>> > wrote: > > Actually yes, node is already built. I'm just looking to recompile the > > openssl dependency inside node/deps/openssl.
> > I tried running make inside node/deps/openssl/openssl but unfortunately > it > > threw an error related to the linker (there was some undefined reference > or > > something). I then noticed that each openssl sub-package (ssl, crytpo > etc.) > > has its own Makefile. Since I only updated a fie inside the ssl package > of > > openssl, I ran
> > make clean all
> > inside that directory and it seemed to finish with no errors.
> > So the main thing I'd like to understand is which packages can I > recompile > > so that node will pick up these openssl modifications? Is recompiling > just > > the ssl package of the openssl package sufficient? Or do I have to > recompile > > the entire openssl package? Will recompiling node as a whole also > > dynamically recompile the openssl package and pick up those changes?
> Are you working with 0.6 or 0.8?
> If you get a linker error with 0.8, you either had an error somewhere > in your code or you need to add the missing dependencies or defines to > deps/openssl/openssl.gyp and run configure again. In any case, you > shouldn't use any of the Makefiles in deps/openssl - node doesn't and > won't pick up your changes.
> The story is different for 0.6 but you shouldn't be using that anyway. :-)
On Friday, October 5, 2012 4:07:37 PM UTC-4, Ben Noordhuis wrote:
> On Fri, Oct 5, 2012 at 6:44 PM, Justin Meltzer <jus...@airtimehq.com<javascript:>> > wrote: > > Actually yes, node is already built. I'm just looking to recompile the > > openssl dependency inside node/deps/openssl.
> > I tried running make inside node/deps/openssl/openssl but unfortunately > it > > threw an error related to the linker (there was some undefined reference > or > > something). I then noticed that each openssl sub-package (ssl, crytpo > etc.) > > has its own Makefile. Since I only updated a fie inside the ssl package > of > > openssl, I ran
> > make clean all
> > inside that directory and it seemed to finish with no errors.
> > So the main thing I'd like to understand is which packages can I > recompile > > so that node will pick up these openssl modifications? Is recompiling > just > > the ssl package of the openssl package sufficient? Or do I have to > recompile > > the entire openssl package? Will recompiling node as a whole also > > dynamically recompile the openssl package and pick up those changes?
> Are you working with 0.6 or 0.8?
> If you get a linker error with 0.8, you either had an error somewhere > in your code or you need to add the missing dependencies or defines to > deps/openssl/openssl.gyp and run configure again. In any case, you > shouldn't use any of the Makefiles in deps/openssl - node doesn't and > won't pick up your changes.
> The story is different for 0.6 but you shouldn't be using that anyway. :-)
Btw, node.js packages for Fedora systems (http://nodejs.tchol.org/) are out of date. Thought I'd give you a heads up. Looks like I'll have to install from source now.
On Friday, October 5, 2012 4:35:52 PM UTC-4, Ben Noordhuis wrote:
> On Fri, Oct 5, 2012 at 10:29 PM, Justin Meltzer <jus...@airtimehq.com<javascript:>> > wrote: > > I suppose you highly recommend upgrading to v. 0.8 then haha
> > Just to be clear, in v. 0.8 any time I run
> > $ make && sudo make install
> > for node, any changes to the deps/openssl dependency package will be > picked > > up?
On Fri, Oct 5, 2012 at 1:45 PM, Justin Meltzer <jus...@airtimehq.com> wrote:
> Cool.
> Btw, node.js packages for Fedora systems (http://nodejs.tchol.org/) are out
> of date. Thought I'd give you a heads up. Looks like I'll have to install
> from source now.
> On Friday, October 5, 2012 4:35:52 PM UTC-4, Ben Noordhuis wrote:
>> On Fri, Oct 5, 2012 at 10:29 PM, Justin Meltzer <jus...@airtimehq.com>
>> wrote:
>> > I suppose you highly recommend upgrading to v. 0.8 then haha
>> > Just to be clear, in v. 0.8 any time I run
>> > $ make && sudo make install
>> > for node, any changes to the deps/openssl dependency package will be
>> > picked
>> > up?
On Friday, October 5, 2012 4:35:52 PM UTC-4, Ben Noordhuis wrote:
> On Fri, Oct 5, 2012 at 10:29 PM, Justin Meltzer <jus...@airtimehq.com<javascript:>> > wrote: > > I suppose you highly recommend upgrading to v. 0.8 then haha
> > Just to be clear, in v. 0.8 any time I run
> > $ make && sudo make install
> > for node, any changes to the deps/openssl dependency package will be > picked > > up?
> On Fri, Oct 5, 2012 at 1:45 PM, Justin Meltzer <jus...@airtimehq.com<javascript:>> > wrote: > > Cool.
> > Btw, node.js packages for Fedora systems (http://nodejs.tchol.org/) are > out > > of date. Thought I'd give you a heads up. Looks like I'll have to > install > > from source now.
> > On Friday, October 5, 2012 4:35:52 PM UTC-4, Ben Noordhuis wrote:
> >> On Fri, Oct 5, 2012 at 10:29 PM, Justin Meltzer <jus...@airtimehq.com> > >> wrote: > >> > I suppose you highly recommend upgrading to v. 0.8 then haha
> >> > Just to be clear, in v. 0.8 any time I run
> >> > $ make && sudo make install
> >> > for node, any changes to the deps/openssl dependency package will be > >> > picked > >> > up?
On Fri, Oct 5, 2012 at 11:29 PM, Justin Meltzer <jus...@airtimehq.com> wrote:
> Ok and although you don't recommend it, what about with 0.6?
Well, for one it doesn't use the bundled openssl. :-)
You'd have to build openssl yourself, then pass include and library
paths to the configure script. `./configure --help | grep openssl`
shows an overview.