Electron AppImage for linux doesn't start on systems with libgtk<3
it throws an error while starting that libgtk3 cannot be find.
Is it possible to build an electron app to work on systems with libgtk2?
Actually it would be perfect if AppImage included all nesessary lib dependencies(like fuse for example), even if it would be a big filesize of image.
electron electron-builder
add a comment |
it throws an error while starting that libgtk3 cannot be find.
Is it possible to build an electron app to work on systems with libgtk2?
Actually it would be perfect if AppImage included all nesessary lib dependencies(like fuse for example), even if it would be a big filesize of image.
electron electron-builder
Gtk+ is generally regarded as a component that comes with the system (distribution) by default and is managed by it. But you can make AppImages that bundle everything (down to glibc - even though it is generally not recommended). See github.com/AppImage/AppImageKit/issues/225 and github.com/AppImage/AppImages/issues/84
– probono
Nov 21 '18 at 20:31
add a comment |
it throws an error while starting that libgtk3 cannot be find.
Is it possible to build an electron app to work on systems with libgtk2?
Actually it would be perfect if AppImage included all nesessary lib dependencies(like fuse for example), even if it would be a big filesize of image.
electron electron-builder
it throws an error while starting that libgtk3 cannot be find.
Is it possible to build an electron app to work on systems with libgtk2?
Actually it would be perfect if AppImage included all nesessary lib dependencies(like fuse for example), even if it would be a big filesize of image.
electron electron-builder
electron electron-builder
asked Nov 15 '18 at 7:13
wolandecwolandec
87115
87115
Gtk+ is generally regarded as a component that comes with the system (distribution) by default and is managed by it. But you can make AppImages that bundle everything (down to glibc - even though it is generally not recommended). See github.com/AppImage/AppImageKit/issues/225 and github.com/AppImage/AppImages/issues/84
– probono
Nov 21 '18 at 20:31
add a comment |
Gtk+ is generally regarded as a component that comes with the system (distribution) by default and is managed by it. But you can make AppImages that bundle everything (down to glibc - even though it is generally not recommended). See github.com/AppImage/AppImageKit/issues/225 and github.com/AppImage/AppImages/issues/84
– probono
Nov 21 '18 at 20:31
Gtk+ is generally regarded as a component that comes with the system (distribution) by default and is managed by it. But you can make AppImages that bundle everything (down to glibc - even though it is generally not recommended). See github.com/AppImage/AppImageKit/issues/225 and github.com/AppImage/AppImages/issues/84
– probono
Nov 21 '18 at 20:31
Gtk+ is generally regarded as a component that comes with the system (distribution) by default and is managed by it. But you can make AppImages that bundle everything (down to glibc - even though it is generally not recommended). See github.com/AppImage/AppImageKit/issues/225 and github.com/AppImage/AppImages/issues/84
– probono
Nov 21 '18 at 20:31
add a comment |
1 Answer
1
active
oldest
votes
According to issue #10780 on GitHub, Electron upgraded back in 2017 to Chrome 61, which requires GTK+ 3. Therefore it is not possible to run Electron on a system with only GTK+ 2 installed.
The idea of AppImages is that an application should contain all libraries it needs to run. However, libraries like GTK+ need to integrate deeply into the system (GTK+ requires libXrandr.so
, libglib.so
, etc. just to name a few) and have a ton of dependencies which would blow the package up. It is therefore pretty difficult to build an app which contains all different dependencies it has (and even imagine having three or more AppImages containing GTK+ and dependencies sitting on your hard drive).
And in the case of GTK+, it is in most use-cases not enough to just install libgtk
(any version), because you might want to profit from dependencies which are just "recommended".
What if that old libs would lay in electron catalogue and it uses they instead of system libs?
– wolandec
Nov 15 '18 at 10:57
What do you mean with "electron catalogue"?
– Alexander Leithner
Nov 15 '18 at 13:31
Electron creates an image and include inside a couple of .so files(libffmpeg.so, libnode.so) why didn't he store another nesessary files there?
– wolandec
Nov 15 '18 at 14:04
I believe it includes the NodeJS and FFMpeg libraries because these need to be the exact version to which the app was compiled against, but including GTK+, for example, would blow up the image way too much (and because GTK+ depends on some other libraries, which go way deeper into the system). Btw, the LibreOffice AppImage also does not contain GTK+, most likely due to the integration issue.
– Alexander Leithner
Nov 15 '18 at 14:41
Thank you. Why does vscode not list gtk3 as a requirement? code.visualstudio.com/docs/supporting/requirements
– wolandec
Nov 15 '18 at 15:16
|
show 2 more comments
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53314165%2felectron-appimage-for-linux-doesnt-start-on-systems-with-libgtk3%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
According to issue #10780 on GitHub, Electron upgraded back in 2017 to Chrome 61, which requires GTK+ 3. Therefore it is not possible to run Electron on a system with only GTK+ 2 installed.
The idea of AppImages is that an application should contain all libraries it needs to run. However, libraries like GTK+ need to integrate deeply into the system (GTK+ requires libXrandr.so
, libglib.so
, etc. just to name a few) and have a ton of dependencies which would blow the package up. It is therefore pretty difficult to build an app which contains all different dependencies it has (and even imagine having three or more AppImages containing GTK+ and dependencies sitting on your hard drive).
And in the case of GTK+, it is in most use-cases not enough to just install libgtk
(any version), because you might want to profit from dependencies which are just "recommended".
What if that old libs would lay in electron catalogue and it uses they instead of system libs?
– wolandec
Nov 15 '18 at 10:57
What do you mean with "electron catalogue"?
– Alexander Leithner
Nov 15 '18 at 13:31
Electron creates an image and include inside a couple of .so files(libffmpeg.so, libnode.so) why didn't he store another nesessary files there?
– wolandec
Nov 15 '18 at 14:04
I believe it includes the NodeJS and FFMpeg libraries because these need to be the exact version to which the app was compiled against, but including GTK+, for example, would blow up the image way too much (and because GTK+ depends on some other libraries, which go way deeper into the system). Btw, the LibreOffice AppImage also does not contain GTK+, most likely due to the integration issue.
– Alexander Leithner
Nov 15 '18 at 14:41
Thank you. Why does vscode not list gtk3 as a requirement? code.visualstudio.com/docs/supporting/requirements
– wolandec
Nov 15 '18 at 15:16
|
show 2 more comments
According to issue #10780 on GitHub, Electron upgraded back in 2017 to Chrome 61, which requires GTK+ 3. Therefore it is not possible to run Electron on a system with only GTK+ 2 installed.
The idea of AppImages is that an application should contain all libraries it needs to run. However, libraries like GTK+ need to integrate deeply into the system (GTK+ requires libXrandr.so
, libglib.so
, etc. just to name a few) and have a ton of dependencies which would blow the package up. It is therefore pretty difficult to build an app which contains all different dependencies it has (and even imagine having three or more AppImages containing GTK+ and dependencies sitting on your hard drive).
And in the case of GTK+, it is in most use-cases not enough to just install libgtk
(any version), because you might want to profit from dependencies which are just "recommended".
What if that old libs would lay in electron catalogue and it uses they instead of system libs?
– wolandec
Nov 15 '18 at 10:57
What do you mean with "electron catalogue"?
– Alexander Leithner
Nov 15 '18 at 13:31
Electron creates an image and include inside a couple of .so files(libffmpeg.so, libnode.so) why didn't he store another nesessary files there?
– wolandec
Nov 15 '18 at 14:04
I believe it includes the NodeJS and FFMpeg libraries because these need to be the exact version to which the app was compiled against, but including GTK+, for example, would blow up the image way too much (and because GTK+ depends on some other libraries, which go way deeper into the system). Btw, the LibreOffice AppImage also does not contain GTK+, most likely due to the integration issue.
– Alexander Leithner
Nov 15 '18 at 14:41
Thank you. Why does vscode not list gtk3 as a requirement? code.visualstudio.com/docs/supporting/requirements
– wolandec
Nov 15 '18 at 15:16
|
show 2 more comments
According to issue #10780 on GitHub, Electron upgraded back in 2017 to Chrome 61, which requires GTK+ 3. Therefore it is not possible to run Electron on a system with only GTK+ 2 installed.
The idea of AppImages is that an application should contain all libraries it needs to run. However, libraries like GTK+ need to integrate deeply into the system (GTK+ requires libXrandr.so
, libglib.so
, etc. just to name a few) and have a ton of dependencies which would blow the package up. It is therefore pretty difficult to build an app which contains all different dependencies it has (and even imagine having three or more AppImages containing GTK+ and dependencies sitting on your hard drive).
And in the case of GTK+, it is in most use-cases not enough to just install libgtk
(any version), because you might want to profit from dependencies which are just "recommended".
According to issue #10780 on GitHub, Electron upgraded back in 2017 to Chrome 61, which requires GTK+ 3. Therefore it is not possible to run Electron on a system with only GTK+ 2 installed.
The idea of AppImages is that an application should contain all libraries it needs to run. However, libraries like GTK+ need to integrate deeply into the system (GTK+ requires libXrandr.so
, libglib.so
, etc. just to name a few) and have a ton of dependencies which would blow the package up. It is therefore pretty difficult to build an app which contains all different dependencies it has (and even imagine having three or more AppImages containing GTK+ and dependencies sitting on your hard drive).
And in the case of GTK+, it is in most use-cases not enough to just install libgtk
(any version), because you might want to profit from dependencies which are just "recommended".
edited Nov 15 '18 at 14:48
answered Nov 15 '18 at 7:48
Alexander LeithnerAlexander Leithner
817519
817519
What if that old libs would lay in electron catalogue and it uses they instead of system libs?
– wolandec
Nov 15 '18 at 10:57
What do you mean with "electron catalogue"?
– Alexander Leithner
Nov 15 '18 at 13:31
Electron creates an image and include inside a couple of .so files(libffmpeg.so, libnode.so) why didn't he store another nesessary files there?
– wolandec
Nov 15 '18 at 14:04
I believe it includes the NodeJS and FFMpeg libraries because these need to be the exact version to which the app was compiled against, but including GTK+, for example, would blow up the image way too much (and because GTK+ depends on some other libraries, which go way deeper into the system). Btw, the LibreOffice AppImage also does not contain GTK+, most likely due to the integration issue.
– Alexander Leithner
Nov 15 '18 at 14:41
Thank you. Why does vscode not list gtk3 as a requirement? code.visualstudio.com/docs/supporting/requirements
– wolandec
Nov 15 '18 at 15:16
|
show 2 more comments
What if that old libs would lay in electron catalogue and it uses they instead of system libs?
– wolandec
Nov 15 '18 at 10:57
What do you mean with "electron catalogue"?
– Alexander Leithner
Nov 15 '18 at 13:31
Electron creates an image and include inside a couple of .so files(libffmpeg.so, libnode.so) why didn't he store another nesessary files there?
– wolandec
Nov 15 '18 at 14:04
I believe it includes the NodeJS and FFMpeg libraries because these need to be the exact version to which the app was compiled against, but including GTK+, for example, would blow up the image way too much (and because GTK+ depends on some other libraries, which go way deeper into the system). Btw, the LibreOffice AppImage also does not contain GTK+, most likely due to the integration issue.
– Alexander Leithner
Nov 15 '18 at 14:41
Thank you. Why does vscode not list gtk3 as a requirement? code.visualstudio.com/docs/supporting/requirements
– wolandec
Nov 15 '18 at 15:16
What if that old libs would lay in electron catalogue and it uses they instead of system libs?
– wolandec
Nov 15 '18 at 10:57
What if that old libs would lay in electron catalogue and it uses they instead of system libs?
– wolandec
Nov 15 '18 at 10:57
What do you mean with "electron catalogue"?
– Alexander Leithner
Nov 15 '18 at 13:31
What do you mean with "electron catalogue"?
– Alexander Leithner
Nov 15 '18 at 13:31
Electron creates an image and include inside a couple of .so files(libffmpeg.so, libnode.so) why didn't he store another nesessary files there?
– wolandec
Nov 15 '18 at 14:04
Electron creates an image and include inside a couple of .so files(libffmpeg.so, libnode.so) why didn't he store another nesessary files there?
– wolandec
Nov 15 '18 at 14:04
I believe it includes the NodeJS and FFMpeg libraries because these need to be the exact version to which the app was compiled against, but including GTK+, for example, would blow up the image way too much (and because GTK+ depends on some other libraries, which go way deeper into the system). Btw, the LibreOffice AppImage also does not contain GTK+, most likely due to the integration issue.
– Alexander Leithner
Nov 15 '18 at 14:41
I believe it includes the NodeJS and FFMpeg libraries because these need to be the exact version to which the app was compiled against, but including GTK+, for example, would blow up the image way too much (and because GTK+ depends on some other libraries, which go way deeper into the system). Btw, the LibreOffice AppImage also does not contain GTK+, most likely due to the integration issue.
– Alexander Leithner
Nov 15 '18 at 14:41
Thank you. Why does vscode not list gtk3 as a requirement? code.visualstudio.com/docs/supporting/requirements
– wolandec
Nov 15 '18 at 15:16
Thank you. Why does vscode not list gtk3 as a requirement? code.visualstudio.com/docs/supporting/requirements
– wolandec
Nov 15 '18 at 15:16
|
show 2 more comments
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53314165%2felectron-appimage-for-linux-doesnt-start-on-systems-with-libgtk3%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Gtk+ is generally regarded as a component that comes with the system (distribution) by default and is managed by it. But you can make AppImages that bundle everything (down to glibc - even though it is generally not recommended). See github.com/AppImage/AppImageKit/issues/225 and github.com/AppImage/AppImages/issues/84
– probono
Nov 21 '18 at 20:31