Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I am trying to get Protractor working for performing e2e angular testing, but protractor requires Selenium which requires ChromeDriver which requires glibc 2.14. My current development box is running Debian Wheezy which comes with glibc 2.13. I have read that switching over to Debian's unstable branch would provide access to glib-2.14, but from what I have heard unstable is pretty...unstable.

Is there any way I can upgrade glibc to 2.14 or 2.15 without the risk of breaking everything? Or is it possible to switch back from the unstable Debian branch if things start to break?

12:15:22.784 INFO - Executing: [new session: {browserName=chrome}] at URL: /session)
12:15:22.796 INFO - Creating a new session for Capabilities [{browserName=chrome}]
/home/chris/projects/personal/woddy/client/selenium/chromedriver:     /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by      /home/chris/projects/personal/woddy/client/selenium/chromedriver)
/home/chris/projects/personal/woddy/client/selenium/chromedriver: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /home/chris/projects/personal/woddy/client/selenium/chromedriver)
12:15:43.032 WARN - Exception thrown
java.util.concurrent.ExecutionException: org.openqa.selenium.WebDriverException:  java.lang.reflect.InvocationTargetException
share|improve this question
    
Where does it say that ChromeDriver requires glibc 2.14? In general, high level packages don't have very narrow constraints on the C library. Does it say so somewhere in the documentation or the code, or is it simply listed as a dependency in some package? Be aware, if you are not already, that distribution packages may add overly strict dependencies for no good reason. –  Faheem Mitha Aug 5 '13 at 8:35
    
I added the terminal output above showing where 2.14 or 2.15 was required. However all is working now. –  chris Aug 5 '13 at 18:41
add comment

2 Answers 2

up vote 11 down vote accepted

You don't have to switch to the unstable to get glib >= 2.14. In fact, the testing branch has glib-2.17 which you can pick just adding the testing repository and launching:

sudo apt-get install libc6-dev=2.17-7

or,

sudo apt-get -t testing install libc6-dev

You can add the switch --dry-run to see what will being installed before hand. You can see the status of the glibc package in the Debian Package Tracker System.

share|improve this answer
2  
That did it. Following the debian instructions at debian.org/doc/manuals/apt-howto/… then running the second command you listed worked perfectly. Thanks for the help. BTW I had it in my head that unstable was the next step up instead of testing. –  chris Aug 5 '13 at 18:35
    
Thanks, but perhaps you should also set-up apt-pinning as explained in verahill.blogspot.ie/2014/03/… –  gatopeich Jul 10 at 8:37
add comment

I guess there are several options for you to try out the unstable branch "safely":

  • Virtualization
  • Chrooting whereby you choose an alternative directory as your apparent root directory. You can thus create a file system image and manually install the required packages. This is a complicated process and it is made much easier in Debian's case using:
  • deboostrap which, to quote the Debian Wiki article at this link, is

    a tool which will install a Debian base system into a subdirectory of another, already installed system. It doesn't require an installation CD, just access to a Debian repository.

    This is not to imply that debootstrap uses the chrooting technique; I'm not aware of its internal implementation.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.