emacs.js.art

May 17th, 2013

I’m still trying to figure out how I should be using my wiki and my blog – what content goes where?

I’ve been putting a lot more this-is-what-I-did notes into the wiki, and cleaning them up as I redo it/find other/better ways.

I’m going to try putting them HERE in the blog first (in pmwiki-markup), and then clean them up a bit for the wiki.

 

That’s the idea, anyway….

 

This is Part One; read Part Two

 


 

So, I decided to test-install emacs.js

 

NOTE: the installation instructions presume Linux. Because: 1337. Because: Us windows users suck.

Or something like that.

 

NOTE: the notes below are pretty much unedited transcripts of my attempts to get this to work. They are more a reflection on my unfamiliarity with cygwin than they are of the lack of Windows installation docs. Although making this into an ELPA package would solve this problem in one fell swoop.

First — git clone the repo

Only… that doesn’t work for me:

 

d:home>git clone https://github.com/azer/emacs.js

Cloning into emacs.js…

error: SSL certificate problem, verify that the CA cert is OK. Details:

error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while accessing https://github.com/azer/emacs.js/info/refs

 

fatal: HTTP request failed

 

AH! I’m using the wrong version of git in a standard windows shell:

 

d:home>where git

D:devcygwinbingit.exe

 

so, over to cygwin bash

Oh, same error.

To StackOverflow!:

 

he problem is that you do not have any of Certification Authority certificates installed on your system. And these certs cannot be installed with cygwin’s setup.exe.

 

There are two solutions: 1. Ignore ssl certificate verification:

 

$ env GIT_SSL_NO_VERIFY=true git clone https://github

 

2. Actually install root certificates. Curl guys extracted for you certificates from mozilla:

 

http://curl.haxx.se/docs/caextract.html

 

cacert.pem file is what you are looking for. This file contains > 250 CA certs (don’t know how to trust this number of ppl). You need to download this file, split it to individual certificates put them to /usr/ssl/certs (your CApath) and index them.

 

Here is how to do it: With cygwin setup.exe install curl and openssl packages Execute:

 

 

$ cd /usr/ssl/certs
$  curl http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
$ c_rehash

 

alternatively, a comment point out:

 

You don’t need to install curl, just use wget: wget -O - http://curl.haxx.se/ca/cacert.pem | awk ‘split_after==1{n++;split_a fter=0} /-----END CERTIFICATE-----/ {split_after=1} {print › “cert” n “.pem”}’

 

(yes, those long lines look like crap, here; I need to work on embedding then differently).

 

NOW, cygwin it seems doesn’t have those installed

So, setup.exe and find curl and wget …..

 

[…. some time passes ….]

 

Postinstall script errors: These do not necessarily mean that affected packages will fail to function properly, but please check /var/log/setup.log.full and report any problems.

 

AAARGH!

Anyway, the curl line now works.

But:

$ c_rehash
bash: c_rehash: command not found

 

Back to setup.exe where… c_rehash is not found?

So, back to Stack Overflow, where the comments indicate that openssl is the package that supplies that. BLARG.

[….. time passes ….]

Okay, it’s installed, so I run it:

 

$ c_rehash
bash: /usr/bin/c_rehash: /usr/local/bin/perl: bad interpreter: Permission denied

 

 

WTF. I give up on the right way.

Off to the short-but-not-the-best-way:

 

$ env GIT_SSL_NO_VERIFY=true git clone https://github.com/azer/emacs.js
Cloning into 'emacs.js'...
remote: Counting objects: 360, done.
remote: Compressing objects: 100% (173/173), done.
remote: Total 360 (delta 186), reused 344 (delta 171)
Receiving objects: 100% (360/360), 109.09 KiB | 173 KiB/s, done.
Resolving deltas: 100% (186/186), done.

 

HOORAY!

Okay, I also needed to install make

… got it ….

make

[…. time passes ….]

AAARGH:

 

$ make

Initializing submodules

Submodule ‘libs/auto-complete’ (https://github.com/azer/auto-complete.git) registered for path ‘libs/auto-comp

lete’

Submodule ‘libs/coffee-mode’ (https://github.com/azer/coffee-mode.git) registered for path ‘libs/coffee-mode’

Submodule ‘libs/expand-region’ (https://github.com/magnars/expand-region.el.git) registered for path ‘libs/exp

and-region’

[…submodules snipped…]

Cloning into ‘libs/auto-complete’…

error: error setting certificate verify locations:

  CAfile: /usr/ssl/certs/ca-bundle.crt

  CApath: none while accessing https://github.com/azer/auto-complete.git/info/refs

fatal: HTTP request failed

Clone of ‘https://github.com/azer/auto-complete.git’ into submodule path ‘libs/auto-complete’ failed

Makefile:16: recipe for target `init-submodules’ failed

make: *** [init-submodules] Error 1

 

so. instead:

export GIT_SSL_NO_VERIFY=true
make

 

NOW IT WORKS

 


 

End Part One  

 

read Part Two

2 comments

  1. pingback by your interference patterns BETA » Archive on Friday, May 17th, 2013 2:16 pm

    […] See Part One […]

  2. pingback by your interference patterns BETA » Archive » emacs.js.third.p.art on Tuesday, Jul 16th, 2013 9:27 pm

    […] Also: part 1, part […]

comments RSS trackBack identifier URI

leave a comment

  • syndicate

    • Add to MyMSN
    • Add to MyYahoo
    • Add to Google Reader
    • Add to Bloglines
    • Add to Newsgator
    • Add to NewsIsFree