Compile Qt program on Ubuntu 18.04 which will run on Ubuntu 14.04
up vote
-4
down vote
favorite
Interesting delema.
Trying to compile Qt program where Qt is build from source on 18.04 64-bit and run it on 14.04. The interesting part is trying to identify which libraries I need this time. The C++ ABI has changed.
Looking to see if anyone else has done this recently? Which libraries do I have to bring along? Yes, I know about ldd and readelf and have spent days trying this in various VMs. The problem is once you start bringing the C++ stuff over (because the ABI has changed yet again) you get to a point where your VM won't reboot.
Please don't suggest snappy, flatpak or one of those other new "container" solutions. Already wasted 3+ days on snappy. It's architecture specific and only supports building on 14.04 when it comes to Qt, at least the deployqt tool to make an AppImage does.
Did this years ago with this very program. Built a debian which would install on both 64-bit and 32-bit for every version from 12.04 to 15.04 including the short lived .10 and odd year versions.
I tried compiling QT with C++11 standard, but, it will no longer compile with that standard.
The incompatible ABI is the real killer.
It is more than one program so the hack of a shell script using LD_LIBRARY_PATH would bring considerable difficulty.
Appreciate insights.
Thank you.
c++ qt ubuntu-14.04 ubuntu-18.04
add a comment |
up vote
-4
down vote
favorite
Interesting delema.
Trying to compile Qt program where Qt is build from source on 18.04 64-bit and run it on 14.04. The interesting part is trying to identify which libraries I need this time. The C++ ABI has changed.
Looking to see if anyone else has done this recently? Which libraries do I have to bring along? Yes, I know about ldd and readelf and have spent days trying this in various VMs. The problem is once you start bringing the C++ stuff over (because the ABI has changed yet again) you get to a point where your VM won't reboot.
Please don't suggest snappy, flatpak or one of those other new "container" solutions. Already wasted 3+ days on snappy. It's architecture specific and only supports building on 14.04 when it comes to Qt, at least the deployqt tool to make an AppImage does.
Did this years ago with this very program. Built a debian which would install on both 64-bit and 32-bit for every version from 12.04 to 15.04 including the short lived .10 and odd year versions.
I tried compiling QT with C++11 standard, but, it will no longer compile with that standard.
The incompatible ABI is the real killer.
It is more than one program so the hack of a shell script using LD_LIBRARY_PATH would bring considerable difficulty.
Appreciate insights.
Thank you.
c++ qt ubuntu-14.04 ubuntu-18.04
1
Can you build statically? This is typically best solution to make backwards compatible executables.
– mvp
Nov 10 at 23:40
No. Uses QWebEngine. Static not possible due to plugins, et-al.
– user3450148
Nov 11 at 1:38
1
Well, I guess then you have to either build everything on old platform, or force upgrade to new one.
– mvp
Nov 11 at 2:41
add a comment |
up vote
-4
down vote
favorite
up vote
-4
down vote
favorite
Interesting delema.
Trying to compile Qt program where Qt is build from source on 18.04 64-bit and run it on 14.04. The interesting part is trying to identify which libraries I need this time. The C++ ABI has changed.
Looking to see if anyone else has done this recently? Which libraries do I have to bring along? Yes, I know about ldd and readelf and have spent days trying this in various VMs. The problem is once you start bringing the C++ stuff over (because the ABI has changed yet again) you get to a point where your VM won't reboot.
Please don't suggest snappy, flatpak or one of those other new "container" solutions. Already wasted 3+ days on snappy. It's architecture specific and only supports building on 14.04 when it comes to Qt, at least the deployqt tool to make an AppImage does.
Did this years ago with this very program. Built a debian which would install on both 64-bit and 32-bit for every version from 12.04 to 15.04 including the short lived .10 and odd year versions.
I tried compiling QT with C++11 standard, but, it will no longer compile with that standard.
The incompatible ABI is the real killer.
It is more than one program so the hack of a shell script using LD_LIBRARY_PATH would bring considerable difficulty.
Appreciate insights.
Thank you.
c++ qt ubuntu-14.04 ubuntu-18.04
Interesting delema.
Trying to compile Qt program where Qt is build from source on 18.04 64-bit and run it on 14.04. The interesting part is trying to identify which libraries I need this time. The C++ ABI has changed.
Looking to see if anyone else has done this recently? Which libraries do I have to bring along? Yes, I know about ldd and readelf and have spent days trying this in various VMs. The problem is once you start bringing the C++ stuff over (because the ABI has changed yet again) you get to a point where your VM won't reboot.
Please don't suggest snappy, flatpak or one of those other new "container" solutions. Already wasted 3+ days on snappy. It's architecture specific and only supports building on 14.04 when it comes to Qt, at least the deployqt tool to make an AppImage does.
Did this years ago with this very program. Built a debian which would install on both 64-bit and 32-bit for every version from 12.04 to 15.04 including the short lived .10 and odd year versions.
I tried compiling QT with C++11 standard, but, it will no longer compile with that standard.
The incompatible ABI is the real killer.
It is more than one program so the hack of a shell script using LD_LIBRARY_PATH would bring considerable difficulty.
Appreciate insights.
Thank you.
c++ qt ubuntu-14.04 ubuntu-18.04
c++ qt ubuntu-14.04 ubuntu-18.04
asked Nov 10 at 23:29
user3450148
134
134
1
Can you build statically? This is typically best solution to make backwards compatible executables.
– mvp
Nov 10 at 23:40
No. Uses QWebEngine. Static not possible due to plugins, et-al.
– user3450148
Nov 11 at 1:38
1
Well, I guess then you have to either build everything on old platform, or force upgrade to new one.
– mvp
Nov 11 at 2:41
add a comment |
1
Can you build statically? This is typically best solution to make backwards compatible executables.
– mvp
Nov 10 at 23:40
No. Uses QWebEngine. Static not possible due to plugins, et-al.
– user3450148
Nov 11 at 1:38
1
Well, I guess then you have to either build everything on old platform, or force upgrade to new one.
– mvp
Nov 11 at 2:41
1
1
Can you build statically? This is typically best solution to make backwards compatible executables.
– mvp
Nov 10 at 23:40
Can you build statically? This is typically best solution to make backwards compatible executables.
– mvp
Nov 10 at 23:40
No. Uses QWebEngine. Static not possible due to plugins, et-al.
– user3450148
Nov 11 at 1:38
No. Uses QWebEngine. Static not possible due to plugins, et-al.
– user3450148
Nov 11 at 1:38
1
1
Well, I guess then you have to either build everything on old platform, or force upgrade to new one.
– mvp
Nov 11 at 2:41
Well, I guess then you have to either build everything on old platform, or force upgrade to new one.
– mvp
Nov 11 at 2:41
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Please always develop applications on the oldest distribution you still want your application to run on. For example, if you want your application to run on all currently still-supported versions of Ubuntu, then develop your application on Ubuntu 14.04 and do not install any newer compilers or libraries than what it comes with.
This is how "backward compatibility" works.
While what you say about "backward compatibility" is true, since 2015 this has been building and deploying multiple times per day building on 15.10 and running on everything from 12.04 forward bringing very little along.
– user3450148
Nov 12 at 15:08
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Please always develop applications on the oldest distribution you still want your application to run on. For example, if you want your application to run on all currently still-supported versions of Ubuntu, then develop your application on Ubuntu 14.04 and do not install any newer compilers or libraries than what it comes with.
This is how "backward compatibility" works.
While what you say about "backward compatibility" is true, since 2015 this has been building and deploying multiple times per day building on 15.10 and running on everything from 12.04 forward bringing very little along.
– user3450148
Nov 12 at 15:08
add a comment |
up vote
0
down vote
Please always develop applications on the oldest distribution you still want your application to run on. For example, if you want your application to run on all currently still-supported versions of Ubuntu, then develop your application on Ubuntu 14.04 and do not install any newer compilers or libraries than what it comes with.
This is how "backward compatibility" works.
While what you say about "backward compatibility" is true, since 2015 this has been building and deploying multiple times per day building on 15.10 and running on everything from 12.04 forward bringing very little along.
– user3450148
Nov 12 at 15:08
add a comment |
up vote
0
down vote
up vote
0
down vote
Please always develop applications on the oldest distribution you still want your application to run on. For example, if you want your application to run on all currently still-supported versions of Ubuntu, then develop your application on Ubuntu 14.04 and do not install any newer compilers or libraries than what it comes with.
This is how "backward compatibility" works.
Please always develop applications on the oldest distribution you still want your application to run on. For example, if you want your application to run on all currently still-supported versions of Ubuntu, then develop your application on Ubuntu 14.04 and do not install any newer compilers or libraries than what it comes with.
This is how "backward compatibility" works.
answered Nov 11 at 12:38
probono
47734
47734
While what you say about "backward compatibility" is true, since 2015 this has been building and deploying multiple times per day building on 15.10 and running on everything from 12.04 forward bringing very little along.
– user3450148
Nov 12 at 15:08
add a comment |
While what you say about "backward compatibility" is true, since 2015 this has been building and deploying multiple times per day building on 15.10 and running on everything from 12.04 forward bringing very little along.
– user3450148
Nov 12 at 15:08
While what you say about "backward compatibility" is true, since 2015 this has been building and deploying multiple times per day building on 15.10 and running on everything from 12.04 forward bringing very little along.
– user3450148
Nov 12 at 15:08
While what you say about "backward compatibility" is true, since 2015 this has been building and deploying multiple times per day building on 15.10 and running on everything from 12.04 forward bringing very little along.
– user3450148
Nov 12 at 15:08
add a comment |
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%2f53244436%2fcompile-qt-program-on-ubuntu-18-04-which-will-run-on-ubuntu-14-04%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
1
Can you build statically? This is typically best solution to make backwards compatible executables.
– mvp
Nov 10 at 23:40
No. Uses QWebEngine. Static not possible due to plugins, et-al.
– user3450148
Nov 11 at 1:38
1
Well, I guess then you have to either build everything on old platform, or force upgrade to new one.
– mvp
Nov 11 at 2:41