Release c_src dependencies

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Release c_src dependencies

Albin Stigö-2
Hi,

I have an application with a bundled fairly complex cnode linked
against GNURadio (that in itself has a lot of dependencies libboost
among others). I'm now in the process of creating a release and
thinking about ways to satisfy dependencies with minimal fuss. I can
think about a few ways but am unsure about the best option.

1. Is there some kind of tool to also bundle c libraries into a release?
2. Should I statically link the c node?
3. Should I use something like docker..?

Any suggestions?


--Albin
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Release c_src dependencies

Roger Lipscombe-2
On Sat, 13 Apr 2019 at 11:59, Albin Stigö <[hidden email]> wrote:
> I have an application with a bundled fairly complex cnode linked
> against GNURadio (that in itself has a lot of dependencies libboost
> among others). I'm now in the process of creating a release and
> thinking about ways to satisfy dependencies with minimal fuss. I can
> think about a few ways but am unsure about the best option.

What's your target OS (and distribution)? Since we target Ubuntu, we
just package our Erlang releases as deb files and make sure the deb's
dependencies are set correctly. This includes packaging various other
components (the cnode in your example, I guess) as separate debs.

For packaging the deb, you could use the Debian packaging scripts,
which are kinda awkward to use, or you could just use the fpm gem.
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Release c_src dependencies

Albin Stigö-2
We are targeting the Raspberry Pi (raspbian), if you are curious you
can check out the project here, http://tujasdr.com.

I was thinking about creating deb(s) but then I would have to also
create a custom GNURadio deb as well (and probably others) because
raspbian is behind and you never know when it will get updated. It's
quite a large undertaking. I'm currently thinking it would be easier
to distribute everything as a big blob.

Actually when I think about it maybe I could put everything in one deb...


--Albin

On Sat, Apr 13, 2019 at 1:08 PM Roger Lipscombe <[hidden email]> wrote:

>
> On Sat, 13 Apr 2019 at 11:59, Albin Stigö <[hidden email]> wrote:
> > I have an application with a bundled fairly complex cnode linked
> > against GNURadio (that in itself has a lot of dependencies libboost
> > among others). I'm now in the process of creating a release and
> > thinking about ways to satisfy dependencies with minimal fuss. I can
> > think about a few ways but am unsure about the best option.
>
> What's your target OS (and distribution)? Since we target Ubuntu, we
> just package our Erlang releases as deb files and make sure the deb's
> dependencies are set correctly. This includes packaging various other
> components (the cnode in your example, I guess) as separate debs.
>
> For packaging the deb, you could use the Debian packaging scripts,
> which are kinda awkward to use, or you could just use the fpm gem.
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Release c_src dependencies

Vance Shipley
In reply to this post by Albin Stigö-2
We use GNU autotools to create and package portable code. We use libtool for our linked in drivers and NIFs. In the past I've used this approach to build drivers for 32 & 64 bit, little and big endian platforms. 

We currently build Debian packages.

Check out GitHub.com:sigscale/ocs for an example.


On Sat, Apr 13, 2019, 4:29 PM Albin Stigö <[hidden email]> wrote:
Hi,

I have an application with a bundled fairly complex cnode linked
against GNURadio (that in itself has a lot of dependencies libboost
among others). I'm now in the process of creating a release and
thinking about ways to satisfy dependencies with minimal fuss. I can
think about a few ways but am unsure about the best option.

1. Is there some kind of tool to also bundle c libraries into a release?
2. Should I statically link the c node?
3. Should I use something like docker..?

Any suggestions?


--Albin
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Release c_src dependencies

Max Lapshin-2
In reply to this post by Roger Lipscombe-2

On Sat, Apr 13, 2019 at 2:08 PM Roger Lipscombe <[hidden email]> wrote:
On Sat, 13 Apr 2019 at 11:59, Albin Stigö <[hidden email]> wrote:
> I have an application with a bundled fairly complex cnode linked
> against GNURadio (that in itself has a lot of dependencies libboost
> among others). I'm now in the process of creating a release and
> thinking about ways to satisfy dependencies with minimal fuss. I can
> think about a few ways but am unsure about the best option.

What's your target OS (and distribution)? Since we target Ubuntu, we
just package our Erlang releases as deb files and make sure the deb's
dependencies are set correctly. This includes packaging various other
components (the cnode in your example, I guess) as separate debs.

For packaging the deb, you could use the Debian packaging scripts,
which are kinda awkward to use, or you could just use the fpm gem.
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Release c_src dependencies

Anthony Molinaro-4
Also I embed that (with many rpm packaging fixes) in


And gave a talk about packaging erlang projects at Beam.SF in 2018


Even though it says rpm it should be able to build a deb as well.

HTH,

-Anthony 



On Apr 13, 2019, at 6:15 PM, Max Lapshin <[hidden email]> wrote:


On Sat, Apr 13, 2019 at 2:08 PM Roger Lipscombe <[hidden email]> wrote:
On Sat, 13 Apr 2019 at 11:59, Albin Stigö <[hidden email]> wrote:
> I have an application with a bundled fairly complex cnode linked
> against GNURadio (that in itself has a lot of dependencies libboost
> among others). I'm now in the process of creating a release and
> thinking about ways to satisfy dependencies with minimal fuss. I can
> think about a few ways but am unsure about the best option.

What's your target OS (and distribution)? Since we target Ubuntu, we
just package our Erlang releases as deb files and make sure the deb's
dependencies are set correctly. This includes packaging various other
components (the cnode in your example, I guess) as separate debs.

For packaging the deb, you could use the Debian packaging scripts,
which are kinda awkward to use, or you could just use the fpm gem.
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Release c_src dependencies

PAILLEAU Eric
In reply to this post by Albin Stigö-2
Hi,
You may create source debian package for c_src dependencies depending
another debian package for your release.

You can use my project which is full Erlang and no need of tar, ar and
even fakeroot. Your can set root or another UID in tar with non root
rights while using debbie.

https://github.com/crownedgrouse/debbie

Regards



Le 13/04/2019 à 12:59, Albin Stigö a écrit :

> Hi,
>
> I have an application with a bundled fairly complex cnode linked
> against GNURadio (that in itself has a lot of dependencies libboost
> among others). I'm now in the process of creating a release and
> thinking about ways to satisfy dependencies with minimal fuss. I can
> think about a few ways but am unsure about the best option.
>
> 1. Is there some kind of tool to also bundle c libraries into a release?
> 2. Should I statically link the c node?
> 3. Should I use something like docker..?
>
> Any suggestions?
>
>
> --Albin
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
>



_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions