FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 10-27-2010, 10:49 AM
"Paweł Hajdan, Jr."
 
Default dev-lang/v8 SONAME

There is one issue that keeps dev-lang/v8 in hard mask and prevents its
broader usage (I think www-client/chromium could start using it). I hope
you'll help me find the best solution.

Some context first. Upstream does not promise any binary compatibility
between releases, so each version has a different SONAME, if any.

Currently dev-lang/v8 does not use SONAME (I think that's the default),
because I'm not sure what's the best way to handle it.

When present, the SONAME will look like libv8-1.2.3.so, and the
resulting shared library will be named the same way, i.e. libv8-1.2.3.so.

Without SONAME, it's just libv8.so, so when linking it's sufficient to
pass -lv8 to the linker.

With the SONAME-d library, I guess I'd need to pass -lv8-1.2.3. I was
thinking about making a symlink libv8.so -> libv8-1.2.3.so, but I'm not
sure if that's the right thing to do.

What do you think? Do you need some more details?
 
Old 10-27-2010, 11:05 AM
Diego Elio Pettenò
 
Default dev-lang/v8 SONAME

Il giorno mer, 27/10/2010 alle 12.49 +0200, "Paweł Hajdan, Jr." ha
scritto:
> Some context first. Upstream does not promise any binary compatibility
> between releases, so each version has a different SONAME, if any.

That's a good approach (although a bothersome for its users)..

> Currently dev-lang/v8 does not use SONAME (I think that's the default),
> because I'm not sure what's the best way to handle it.

That's bad, it _has_ to have a SONAME, otherwise you're indicating that
al the versions have the same ABI (which as you just said is not the
case).

> When present, the SONAME will look like libv8-1.2.3.so, and the
> resulting shared library will be named the same way, i.e. libv8-1.2.3.so.

Technically, not needed, but let's move on.

> Without SONAME, it's just libv8.so, so when linking it's sufficient to
> pass -lv8 to the linker.
>
> With the SONAME-d library, I guess I'd need to pass -lv8-1.2.3. I was
> thinking about making a symlink libv8.so -> libv8-1.2.3.so, but I'm not
> sure if that's the right thing to do.

Okay now you're confusing the two concepts. The DT_SONAME tag has
nothing to do with the name on the filesystem for what concerns the link
editor, it's used by the dynamic loader.

The link above would be fine though, just let it link as libv8.so, and
then be loaded as libv8-1.2.3.so.

References:

http://blog.flameeyes.eu/2009/10/27/a-shared-library-by-any-other-name
http://blog.flameeyes.eu/2010/10/08/linkers-and-names


--
Diego Elio Pettenò — “Flameeyes”
http://blog.flameeyes.eu/

If you found a .asc file in this mail and know not what it is,
it's a GnuPG digital signature: http://www.gnupg.org/
 
Old 10-27-2010, 06:59 PM
James Rowe
 
Default dev-lang/v8 SONAME

* "Paweł Hajdan, Jr." (phajdan.jr@gentoo.org) wrote:
> There is one issue that keeps dev-lang/v8 in hard mask and prevents its
> broader usage (I think www-client/chromium could start using it).

Thanks for working on this. I use v8 quite a bit, and being able to
simply depend on the ebuilds would make life easier.

One question: Are the v8 ebuilds going to be switched to use some kind
of snapshot tarballs before they're unmasked?

Thanks,

James
 
Old 10-29-2010, 09:02 AM
"Paweł Hajdan, Jr."
 
Default dev-lang/v8 SONAME

On 10/27/10 1:05 PM, Diego Elio Pettenò wrote:
> Il giorno mer, 27/10/2010 alle 12.49 +0200, "Paweł Hajdan, Jr." ha
> scritto:
>> Some context first. Upstream does not promise any binary compatibility
>> between releases, so each version has a different SONAME, if any.
>
> That's a good approach (although a bothersome for its users)..

By the way, what do you think about
<http://ispras.linux-foundation.org/index.php/ABI_compliance_checker> ?

>> Currently dev-lang/v8 does not use SONAME (I think that's the default),
>> because I'm not sure what's the best way to handle it.
>
> That's bad, it _has_ to have a SONAME, otherwise you're indicating that
> al the versions have the same ABI (which as you just said is not the
> case).

That's one of the reasons it's still hard masked.

> Okay now you're confusing the two concepts. The DT_SONAME tag has
> nothing to do with the name on the filesystem for what concerns the link
> editor, it's used by the dynamic loader.
>
> The link above would be fine though, just let it link as libv8.so, and
> then be loaded as libv8-1.2.3.so.

Ah, thanks! I think I understand it much better now. Bumped v8, now with
SONAME and a symlink. I was able to compile www-client/chromium against
that, and added an experimental system-v8 USE flag to it.
 
Old 10-29-2010, 09:05 AM
"Paweł Hajdan, Jr."
 
Default dev-lang/v8 SONAME

On 10/27/10 8:59 PM, James Rowe wrote:
> * "Paweł Hajdan, Jr." (phajdan.jr@gentoo.org) wrote:
>> There is one issue that keeps dev-lang/v8 in hard mask and prevents its
>> broader usage (I think www-client/chromium could start using it).
>
> Thanks for working on this. I use v8 quite a bit, and being able to
> simply depend on the ebuilds would make life easier.

You're welcome! I started the work because people asked for it.

I'm curious: do you have some more ebuilds using v8? It'd be great to
add them to the portage tree at some point, if possible. Or maybe
sunrise overlay...

> One question: Are the v8 ebuilds going to be switched to use some kind
> of snapshot tarballs before they're unmasked?

Yes, I think it's going to stay hard masked until I resolve issues like
this. subversion shouldn't be required to install v8.
 
Old 10-29-2010, 09:33 AM
James Rowe
 
Default dev-lang/v8 SONAME

* "Paweł Hajdan, Jr." (phajdan.jr@gentoo.org) wrote:
> I'm curious: do you have some more ebuilds using v8? It'd be great to
> add them to the portage tree at some point, if possible. Or maybe
> sunrise overlay...

We took the easy way out and chose Debian because v8/nodejs were
packaged when we needed them, but we'd prefer to be using Gentoo. That
is the reason I jumped straight in when I saw the mail subject.

Thanks,

James
 
Old 10-29-2010, 03:56 PM
Diego Elio Pettenò
 
Default dev-lang/v8 SONAME

Il giorno ven, 29/10/2010 alle 11.02 +0200, "Paweł Hajdan, Jr." ha
scritto:
>
> By the way, what do you think about
> <http://ispras.linux-foundation.org/index.php/ABI_compliance_checker> ?

Last I checked it was unfortunately unreliable because it still relied
on developers describing their interface separately.

Since there are way too many details that are "hidden" with ABIs, it's a
bit complex dealing with it; and with C++ the problems are tenfold big.

It can help of course, but I have serious doubts in relying _solely_ on
that.

--
Diego Elio Pettenò — “Flameeyes”
http://blog.flameeyes.eu/

If you found a .asc file in this mail and know not what it is,
it's a GnuPG digital signature: http://www.gnupg.org/
 
Old 11-23-2010, 02:01 PM
"Paweł Hajdan, Jr."
 
Default dev-lang/v8 SONAME

On 10/29/10 11:33 AM, James Rowe wrote:
> * "Paweł Hajdan, Jr." (phajdan.jr@gentoo.org) wrote:
>> I'm curious: do you have some more ebuilds using v8? It'd be great to
>> add them to the portage tree at some point, if possible. Or maybe
>> sunrise overlay...
>
> We took the easy way out and chose Debian because v8/nodejs were
> packaged when we needed them, but we'd prefer to be using Gentoo. That
> is the reason I jumped straight in when I saw the mail subject.

FYI, dev-lang/v8 is now in ~arch. If you'd like some additional packages
in portage like nodejs, please file bugs. Feel free to CC me.

Also, let me know if the v8 support in Gentoo can be somehow improved,
even if you're not using it yet. I'd like to get feedback from people
who are using it for other applications than www-client/chromium.

Paweł Hajdan, Jr.
 

Thread Tools




All times are GMT. The time now is 05:26 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org