Skip to contentSkip to conversation

Static build of kmod

DISCUSSION Rolf Eike Beer 2 participants 3 messages Mar 19, 2020 – Mar 23, 2020

lore
Share & tools
lore
#0 lore raw

Greetings,

since commit b7016153ec87dba2b0f0d182cc8f1e3b12f4dfaf building static kmod is disabled. I would like to question that decision.

My use case is as follows: I build a custom BSP and would like to provide statically linked host tools. That makes it easy to deploy them at any location, and that these tools do not pick up random shared libraries of the underlying Linux system when executed. Currently kmod is one of the few packages that are not able to build in that way.

I understand that you may want to prevent other tools (e.g. sytemd was mentioned in that commit) to link against a static libkmod, and that is fine with me. What I would like to get is static kmod tools. For the BSP host tools case I don't mind if a libkmod does not exist at all, only the tools are of interest.

What do you think?

Regards,

Eike

Signature · 7 lines
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source
#1 lore raw
Quoted 12 lines · Rolf Eike Beer

Greetings,

since commit b7016153ec87dba2b0f0d182cc8f1e3b12f4dfaf building static kmod is disabled. I would like to question that decision.

My use case is as follows: I build a custom BSP and would like to provide statically linked host tools. That makes it easy to deploy them at any location, and that these tools do not pick up random shared libraries of the underlying Linux system when executed. Currently kmod is one of the few packages that are not able to build in that way.

Quoted 7 lines

I understand that you may want to prevent other tools (e.g. sytemd was mentioned in that commit) to link against a static libkmod, and that is fine with me. What I would like to get is static kmod tools. For the BSP host tools case I don't mind if a libkmod does not exist at all, only the tools are of interest.

What do you think?

It's a build system limitation:

./configure -h| grep static
--enable-static[=PKGS] build static libraries [default=no]

The --enable-static switch is about building static libraries, and as a consequence linking the binaries statically.
We don't want libkmod to be built statically because its symbols will conflict with other libraries
as you mentioned.

If we had a --enable-static-tools switch that made only the tools static (default false), I think it would be acceptable.

And since you are going to mess with the build system, if you want to convert kmod to meson it would be very
appreciated :)

thanks
Lucas De Marchi

Quoted 12 lines

Regards,

Eike
--
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160 Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source

Signature · 1 line
Lucas De Marchi
#2 lore raw

Am Freitag, 20. März 2020, 17:41:18 CET schrieb Lucas De Marchi:

Quoted 22 lines · Rolf Eike Beer
Quoted 11 lines

Greetings,

since commit b7016153ec87dba2b0f0d182cc8f1e3b12f4dfaf building static kmod is disabled. I would like to question that decision.

My use case is as follows: I build a custom BSP and would like to provide statically linked host tools. That makes it easy to deploy them at any location, and that these tools do not pick up random shared libraries of the underlying Linux system when executed. Currently kmod is one of the few packages that are not able to build in that way.

Quoted 7 lines

I understand that you may want to prevent other tools (e.g. sytemd was mentioned in that commit) to link against a static libkmod, and that is fine with me. What I would like to get is static kmod tools. For the BSP host tools case I don't mind if a libkmod does not exist at all, only the tools are of interest.

What do you think?

It's a build system limitation:

Quoted 8 lines

./configure -h| grep static
--enable-static[=PKGS] build static libraries [default=no]

The --enable-static switch is about building static libraries, and as a consequence linking the binaries statically.
We don't want libkmod to be built statically because its symbols will conflict with other libraries
as you mentioned.

Yes, for now I simply patch that check out there.

Quoted 6 lines

If we had a --enable-static-tools switch that made only the tools static (default false), I think it would be acceptable.

And since you are going to mess with the build system, if you want to convert kmod to meson it would be very
appreciated :)

If I change any build system the target is CMake.

Eike

Signature · 7 lines
Rolf Eike Beer, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11
Gothaer Platz 3, 37083 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführung: Heike Jordan, Dr. Uwe Kracke – Ust-IdNr.: DE 205 198 055

emlix - smart embedded open source