Earlier quoted context omitted.
Your users have a right to get the full corresponding source of GPLed software you distribute to them, though.
They do have that right. Sometimes the legal office gets requests designed to check our GPL compliance. Every release, we file information on the distributions we use, their versions, which libraries we link to, which compiler versions we use, build instructions for any components that we did a custom compilation of, etc. The CYA paperwork is pretty extensive.
RemixOS – Android for the desktop
191–197 of 197 posts
Re: RemixOS – Android for the desktop
#192Earlier quoted context omitted.
http://www.bloomberg.com/bw/articles/2014-06-24/googles-sund... "And Pichai killed a project to develop a version of Android for touchscreen laptops—it overlapped with Chromebooks—shifting attention toward tablets and new categories such as smart TVs and wearable computers."
Thanks. The reasoning wasn't terribly sound. (Android and Chrome OS overlap regardless of the target hardware). But from a branding perspective it makes sense to distance a immature product from a widely popular product. (Obviously that wasn't the idea though since Android Auto, Android TV, Android Wear) I can also see why they wouldn't want to kill off Chrome OS since it allows them to experiment with a diverging se…
Soon it's going to be an expectation that your apps are available on someone's desktop and their phone. Google shot themselves in the foot here.
Re: RemixOS – Android for the desktop
#193Earlier quoted context omitted.
Isn't RemixOS required to release their source code? It's based on open source Android (incl GNU GPL parts) and yet doesn't publish the code. They shrug off such questions in their official forum.
A huge amount of OEMs in Android does this as well or release late. Let's not jump the gun on a company doing amazing things and give them some time to do it.
Count me out.
Re: RemixOS – Android for the desktop
#194Earlier quoted context omitted.
Early adopters in organisations are important. An .iso you can download gets you those without the 'corporate communications' problems you get when you have to fill out a form, use language like 'licencing' and then get the official IT department to install stuff.
i would early adopt the heck out of this in a VM but they had to get all weird about it. not interesting at all in 2016
Re: RemixOS – Android for the desktop
#195Why would I want this when I can just use OSX on the desktop ?
One big reason, at least for me: Because OS X is the least secure desktop OS - http://venturebeat.com/2015/12/31/software-with-the-most-vul... I also enjoy the openness of Android and the fact that it works on a large variety of hardware. In all seriousness though, if this works as well as their little launch video show it working, 2016 could REALLY be the year of desktop linux. 'This year / next year is the year of…
Re: RemixOS – Android for the desktop
#196Earlier quoted context omitted.
I wouldn't strictly blame the package managers. Last I checked, it's not straight-forward to link against any library version other than what the versionless .so symlink points to (-llibname will always use liblibname.so). The lame workaround is to move a portion of the version into the basename, and that's where you get libname2.so, so you can explicitly ask for it with -llibname2). You can specify the path of the l…
From my experience, as long as -soname is provided to ld, the rest should sort itself. At least it seems to work wonderfully for daily usage on Gobolinux.
The issue I described is during build time of a program that uses a shared library. Given this list of available libraries:
lrwxrwxrwx 21 Apr 20 2011 libevent.so.2 -> libevent.so.2.1.3
-rwxr-xr-x 106656 Aug 20 2010 libevent.so.2.1.3
lrwxrwxrwx 21 Jun 3 2012 libevent.so.5 -> libevent.so.5.1.3
-rwxr-xr-x 277760 Jun 3 2012 libevent.so.5.1.3
lrwxrwxrwx 21 Jun 3 2012 libevent.so -> libevent.so.5.1.3
there is no way to use the -levent option to gcc or ld to specify you want to link against libevent.so.2. If you just give it -levent, it will always link against libevent.so, which as these symlinks show, is pointing to libevent.so.5.1.3 (which is actually libevent-2.0) — this is documented in the ld man page under the -l option as for how "namespec" is resolved. Unfortunately, the APIs are different between 1.4 and 2.0, which is why this is necessary: not everyone who uses libevent has updated their code to use the new libevent API, yet we still want to use that software.The "fix" is to move some kind of "logical" version number into the filename (although, which is "logical" and which is "physical" becomes ambiguous), like so:
$ ll libevent[-.]*
lrwxrwxrwx 21 Apr 20 2011 libevent-1.4.so.2 -> libevent-1.4.so.2.1.3
-rwxr-xr-x 106656 Aug 20 2010 libevent-1.4.so.2.1.3
lrwxrwxrwx 21 Jun 3 2012 libevent-2.0.so.5 -> libevent-2.0.so.5.1.3
-rwxr-xr-x 277760 Jun 3 2012 libevent-2.0.so.5.1.3
lrwxrwxrwx 21 Jun 3 2012 libevent.so -> libevent-2.0.so.5.1.3
so you can obtain a linkage against 2.1.3 by specifying -levent-1.4. This "encourages" one to use the 2.0 API by using libevent-2.0 if you specify a bare -levent. The -devel package with the header files will usually be for the latest version anyway, complicating the build process on a single machine with both libraries available (you'd have to build against a local/non-system-include-tree copy of 1.4's headers). I know some redhat/centos packages do do this (which is why I have both libevent-1.4 and libevent-2.0 on my system, but I don't know how those packages' specifically do this.The other way around this is to explicitly link against the full path /usr/lib64/libevent.so.2.1.3 and not use the -l option at all for this library. This works in part because of the -soname option you pointed out. While this works, and produces the same output if one could use -l to select the correct library file, most of the build tools we have at our disposal prefer to use -l to select libraries at build time rather than full paths (because if you use -l to select a system installed library, ld does the work of searching its cache and standard paths for you; however, you can get around this with the :filename version of namespec to the -l option). This means that some programs' build processes would be different on systems that have only the old, only the new, or both libraries on the system, and a bunch of programs build processes might need to change once the new version comes out.
The problem here is that -l only lets you specify the name, not the version to link against, under the (arguably well-founded) assumption that old versions should not be used for new builds but you need to keep them around for already-built programs to link against (dynamically, at run time).