Skip to content
This repository has been archived by the owner on Sep 6, 2021. It is now read-only.

Brackets can't run on Debian 7 (Wheezy) #4816

Open
tranduyhung opened this issue Aug 18, 2013 · 104 comments
Open

Brackets can't run on Debian 7 (Wheezy) #4816

tranduyhung opened this issue Aug 18, 2013 · 104 comments
Assignees

Comments

@tranduyhung
Copy link

Update from @jasonsanjose:

A fix for this issue requires an update to CEF https://code.google.com/p/chromiumembedded/ to fix the glib dependency. A story for this issue is logged here https://trello.com/c/CySUsuf4.

Original Message

Hi,

I get the following error when run Brackets sprint 29 on my Debian 64bit:

/opt/brackets/Brackets: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /opt/brackets/Brackets).

I have tried to applied the solutions in #4720 ln -s libudev.so.1 libudev.so.0, however libudev.so.0 has already existed in my system.

$ ls -al libudev.*
lrwxrwxrwx 1 root root 17 Jul 20 11:38 libudev.so.0 -> libudev.so.0.13.0
-rw-r--r-- 1 root root 59992 Apr 29 05:36 libudev.so.0.13.0

@favadi
Copy link

favadi commented Aug 18, 2013

This bug is also happend for me on Debian 7 64 bit.

@thefirstofthe300
Copy link
Contributor

Try reinstalling libc6 on your system and see what happens. Also, please be sure you have the dev libraries also installed.

If that doesn't work, just for kicks and giggles, try:

sudo ln -s /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libc-2.17.so

And please post the output of any errors thrown by Brackets afterwards? Of course, if the above doesn't work, delete the symlink (after letting me know what the output is). :)

The libudev problem doesn't seem to pertain to this.

@larsemil
Copy link

Duplicate of #4720

@tranduyhung
Copy link
Author

Hi @DaBungalow for your suggestion. libc-2.17.so is only available in Debian Jessie and Sid, we are using Debian Wheezy. In Debian Wheezy libc6 package provides glibc 2.13 while Brackets requires 2.14. I guess this is the problem.

I don't think this issue is duplicated with #4720, Ubuntu Raring have already had glibc 2.17 in their repository. Softwares in Ubuntu are newer than softwares in Debian.

I will try Brackets on Debian Jessie with glib 2.17 to see how it goes.

@tranduyhung
Copy link
Author

Ok, I can confirm that Brackets can run on Debian Jessie with no problem. This issue only exists in Debian Wheezy where the libc is "out-of-date".

@jasonsanjose
Copy link
Member

We get this dependency from Chromium and it appears they have the same issue https://code.google.com/p/chromium/issues/detail?id=222038 and they've marked it "won't fix". It's not likely that we would fix this on our own.

Closing.

@bkconrad
Copy link

I just ran into this error as well. After reviewing the issue you linked to, I'd like to quote from the person who marked that chromium issue as WontFix:

Who build your copy of Chromium? The ones from chromium.org's continuous build recently switched from Lucid to Precise. Thus it is built against Ubuntu Precise's glibc (2.15) whereas Debian 7 has glibc 2.13.

The particular issue is reported against the continuous chromium build. chromium from the Debian 7 repo uses the default glibc (2.13) as evidenced by the following terminal output:

kaen@debian ~ $ ldd /usr/lib/chromium/chromium | grep libc.so
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbb950ae000)
kaen@debian ~ $ /lib/x86_64-linux-gnu/libc.so.6
GNU C Library (Debian EGLIBC 2.13-38) stable release version 2.13, by Roland McGrath et al.

So this error is not a hard limit of the chromium dependency, it is a result of inattention by the packager.

It would be a shame for Brackets to support Windows XP but not Debian 7. Debian users kind of have a thing for open source software.

@bkconrad
Copy link

I've just successfully built and run Brackets (and brackets-shell) on Debian 7 with the default libc6 and it works fine as far as I can tell.

sprint 30 development build 0.30.0-0 (master 60dc6b7)

I hope this issue will be fixed in the next sprint, as it is a fairly trivial fix.

@jasonsanjose
Copy link
Member

Thanks @kaen. Reopening to investigate. Are you running from a dev build or did you build an installer with grunt installer?

We recently changed our Debian packaging to match chrome's. The libc6 dependency for Chrome lists libc6 >= 2.11 https://github.com/adobe/brackets-shell/blob/master/installer/linux/debian/control#L8. This is what will be released shortly for the sprint 30 build. I'd be curious if this fixes the problem or if we need to change our build environment.

@jasonsanjose jasonsanjose reopened this Aug 29, 2013
@bkconrad
Copy link

I was originally just using a dev build, but I just ran grunt installer and the generated .deb file installed happily on my system.

@jasonsanjose
Copy link
Member

Ok great. Sounds like we can close this issue for real now. Thanks!

@metala
Copy link

metala commented Sep 10, 2013

Same issue here with Sprint 30 on Linux Mint Debian.
My build of the shell (git master) segfaults, when I open the plugins directory. I also experience #5135

@carragom
Copy link

Same problem here with sprint 30 and 31. Is there any documentation describing the steps to compile Brackets?, I tried cloning the git repo and doing grunt installer but the installer task does not exists.

@peterflynn
Copy link
Member

@carragom https://github.com/adobe/brackets-shell/wiki/Building-Brackets-Shell. Make sure you've cloned brackets-shell too, not just brackets.

@carragom
Copy link

@peterflynn No wonder it was not working for me, was missing a whole repo, thanks will give a try.

@carragom
Copy link

Well I tried that and I got an error when running npm install:

Running "build-linux" task
>> Release/libcef.so: undefined reference to `__fdelt_chk@GLIBC_2.15'
>> Release/libcef.so: undefined reference to `memcpy@GLIBC_2.14'
>> collect2: error: ld returned 1 exit status
>> make: * [out/Release/Brackets] Error 1
Warning: Task "build-linux" failed. Use --force to continue.

Aborted due to warnings.
npm ERR! weird error 3
npm ERR! not ok code 0

Looks like libcef comes in binary form and linked against GLIBC_2.14 which is not available in Debian stable. Is there a target to build libcef from source or a branch where libcef.so works with GLIBC_2.13 ?.

@c2c533c4f237
Copy link

What is the status of this issue? I still cannot run it on sprint 31 or 30. Is the only fix to compile it yourself? It would be great if the 64bit debs were distributed with the fix. Does anyone have an unofficial deb that I could install?

@ghost
Copy link

ghost commented Oct 19, 2013

@Stacia I downloaded sprint 32 and the bug still exists.

@c2c533c4f237
Copy link

Is there any way to prioritize this bug? It shouldn't be hard to fix. This makes it unusable on my PC and an upcoming class I'm taking is using Brackets as part of the curriculum. I don't want to have to install a different OS to use it!

@jasonsanjose
Copy link
Member

@kaen what was involved in your fix? It sounds like it's just a build environment issue and not an issue with our packaging script? Do you think there's a workaround without changing the build environment?

@Stacia we're near the end of Sprint 33, so it's likely not going to be fixed by this release. If you're able to build brackets-shell on your own like @kaen did, it may work. We're not 100% clear on the fix yet. I'm curious though, what's the class you're taking and how is Brackets involved?

@darkgamer120
Copy link

I get this error on Debian 7 32bit. Any updates on fixing this bug?

@ashickurnoor
Copy link

I am facing the same problem, any fix of it?

@felipehw
Copy link

felipehw commented Nov 8, 2013

Same problem here, any fix of it?

@bkconrad
Copy link

bkconrad commented Nov 9, 2013

Hi guys, when I got brackets to run, all I had to do was build brackets-shell myself on Debian 7. I'm pretty positive the issue can be fixed by building the packaged executable on a Debian 7 machine instead of whatever it's built on now (apparently either Ubuntu or Debian Jessie). You could also probably just install the older glibc (2.13) on the build machine and build against that instead of the later glibc it has.

This really shouldn't have been an issue for three months running ...

@peterflynn
Copy link
Member

Removed "64bit" from title since comments above indicate this affects 32-bit as well

@neriberto
Copy link

The same issue here with the Brackets.Release.0.44.64-bit.deb and Debian wheezy

@frankgerhardt
Copy link

One month later, over a year after the issue was opened.

Bracket does not run on Wheezy. WHAT!?

@soyuka
Copy link

soyuka commented Nov 27, 2014

👯

@sikker
Copy link

sikker commented Dec 2, 2014

It is a pretty severe problem for a project this size to not have prioritized this issue in over a year. Node and Chromium works just fine on Debian Wheezy, using Brackets in Google Chrome as an extension also works (using Quickfire, which however is buggy for a whole slew of reasons I suspect are specific to the shaky territory of using Brackets in the browser). There is no reason Brackets should depend on glibc > 2.13 when the components it depends on verifiably work just fine with the 2.13 found in Wheezy. For that reason alone, this issue should have been resolved aeons ago. Debian isn't a small, unknown distribution, especially not to developers, even if Ubuntu is larger these days.

I use Brackets on Windows and like it a lot, but it is an understatement that I find the longevity of this issue disappointing.

@Asenar
Copy link

Asenar commented Dec 2, 2014

+1

@peterflynn
Copy link
Member

@sikker The problem is not Chromium, but rather the build packaging of the CEF library that wraps it (fallout from working around an older Chrome bug. See details in the thread above, starting here: #4816 (comment).

We're in the process of moving to a newer CEF version now (finally), which may fix this problem entirely. However, we've been unable to build with the new CEF on Linux so far. If anyone is able to help us resolve the build problems and get this working with Linux, here are the details: https://groups.google.com/forum/#!topic/brackets-dev/0dXM-I3CzRk.

@sikker
Copy link

sikker commented Dec 4, 2014

Well given that Debian 8 is currently in soft freeze, and the final, hard freeze seems scheduled to happen sometime in February, it's likely that people will be upgrading their way out of the Debian 7 problem naturally in a few months. For this reason I certainly wouldn't allot time and resources to finding a specific fix for the Debian 7 version at this point. I'm merely expressing disappointment in how an issue of this severity hasn't been handled in the first place for a year and a half, and would like to encourage the team to prioritize these kinds of issues in the future. You do good work and you make a solid editor.

I'm afraid solving the current general Linux build problems you mention is a bit outside my field of expertise (if it weren't I'd of course have put my money where my mouth is and submitted a fix myself for this issue), but I trust the Ubuntu community will deliver ample support for at least getting Brackets to build on that OS.

@ResetOnset
Copy link

@sikker I will not be upgrading to Debian 8. I am philosophocally opposed to systemd, and want to avoid systemd at all costs, and I'll stay with 7 as long as I can (I'm even considering moving to one of the BSDs like FreeBSD or OpenBSD), so I for one would love it if Brackets would work on Debian 7 - although, to be fair, I can't ever see that happening

@peterflynn
Copy link
Member

@sikker If you search for "CEF" in our issue database here, hopefully it's clear that we've actually poured a lot of effort into trying to upgrade to a newer Chromium build, which is really the only way to fix this (along with a number of other important issues). As I said above, we're finally now very close to getting it working.

I'll post a note here once a build is available for testing, so everyone can test whether it does indeed resolve the issue as expected.

@ResetOnset
Copy link

@peterflynn - thanks for all your hard work. I really like Brackets and would love to use it

@peterflynn
Copy link
Member

Btw @sikker Can you suggest any place we could ask for help from the Ubuntu community? Several people have told us "oh, the community will definitely help you out" -- but despite our repeated pleas for help no one has ever stepped up to help us resolve Linux build issues :-/

@amoilanen
Copy link

Experiencing the same issue

/usr/bin/brackets: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /usr/bin/brackets)
/usr/bin/brackets: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /opt/brackets/lib/libcef.so)
/usr/bin/brackets: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by /opt/brackets/lib/libcef.so)

I tried to install an older version of Brackets down to Sprint 32 but that did not help. I also tried to build Brackets from sources as described here https://github.com/adobe/brackets-shell/wiki/Building-Brackets-Shell but then also ran into some issues.

Workaround

I found a workaround http://stackoverflow.com/questions/10863613/how-to-upgrade-glibc-from-version-2-13-to-2-15-on-debian for Debian Wheezy. Upgrading glibc from 2.13 to 2.19 worked for me. Now Brackets starts up and I can use it.

IMPORTANT After done updating libc6, restart computer, and you should comment out or remove the sid source you just added (deb http://ftp.debian.org/debian sid main), or else you risk upgrading your whole distro to sid.

Very likely that other applications that depend on glibc should run fine with its newer version but not sure about this, did not check it fully http://stackoverflow.com/questions/11107263/how-compatible-are-different-versions-of-glibc

Steps I performed:

  • Add line deb http://ftp.debian.org/debian jessie main to /etc/apt/sources.list
  • Execute sudo apt-get update
  • Execute sudo apt-get -t jessie install libc6 libc6-dev libc6-dbg
  • Remove line deb http://ftp.debian.org/debian jessie main from /etc/apt/sources.list
  • Restart the machine, Brackets should now start without errors

@alexgv99
Copy link

alexgv99 commented Jan 6, 2015

Thanks antivanov... that's worked just fine... brackets working now.

@laakal
Copy link

laakal commented Mar 16, 2015

Download

libc6 :http://packages.ubuntu.com/precise-updates/libc6
libc6-dev : http://packages.ubuntu.com/precise/libc6-dev

then create a folder anywhere (ex:/home/newlib)
*Not :i386 is 32 -bit your system maybe 64 bit *

$sudo dpkg -x libc6-dev_2.15-0ubuntu10.11_i386.deb /home/newlib
$sudo dpkg -x libc6_2.15-0ubuntu10.11_i386.deb /home/newlib

Then

vim /home/.bashrc

if LD_LIBRARY_PATH value already written add :/home/newlib/lib/i386-linux-gnu end of line.

else add fallowing value
LD_LIBRARY_PATH=/home/newlib/lib/i386-linux-gnu

save/close.

update

source /home/.bashrc

Start Brackets on console.
Enjoy.

@yomatias
Copy link

@shujarafi
Copy link

Thanks antivanov , That's work

@ghost
Copy link

ghost commented Oct 1, 2015

Thank you antivanov : )

@e-ruiz
Copy link

e-ruiz commented Oct 21, 2015

Thank you @antivanov : )

Happy Back To The Future / Flux Capacitor Day!

eric@flux-capacitor:Desktop $ cat /etc/issue
Debian GNU/Linux 7 \n \l

eric@flux-capacitor:Desktop $ uname -a
Linux flux-capacitor 3.2.0-4-rt-amd64 #1 SMP PREEMPT RT Debian 3.2.68-1+deb7u5 x86_64 GNU/Linux

@manish-agnisys
Copy link

Is there a way to run Brackets on centos6.5? I am getting the following errors when i run it:
/usr/bin/brackets: /lib64/libc.so.6: version GLIBC_2.14′ not found (required by /usr/bin/brackets)
/usr/bin/brackets: /lib64/libc.so.6: version GLIBC_2.14? not found (required by /opt/brackets/lib/libcef.so)
/usr/bin/brackets: /lib64/libc.so.6: version GLIBC_2.15′ not found (required by /opt/brackets/lib/libcef.so)
/usr/bin/brackets: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.15? not found (required by /opt/brackets/lib/libcef.so)

@greguric
Copy link

@thefirstofthe300 the trick with the symbolic links works like a charm 🥇 tnx a lot! Brackets finally working on Wheezy!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests