Skip to contentSkip to conversation

skeleton: ld.so.conf include ld.so.conf.d/*.conf

PATCH New Jérôme Pouiller 3 participants 13 messages Oct 13, 2014 – Oct 25, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

---
 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
system/skeleton/etc/ld.so.conf new file +1 -0
new file mode 100644
index 0000000..83327c0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf
Signature · 1 line
1.9.1
#1 lore raw

PATCH 2/2 gst-fsl-plugins: fix plugin loading

Problem was reported :
http://lists.busybox.net/pipermail/buildroot/2014-July/101566.html
http://lists.busybox.net/pipermail/buildroot/2014-October/107613.html

---
 package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk             | 9 +++++++++
 .../gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf  | 5 +++++
 2 files changed, 14 insertions(+)
 create mode 100644 package/gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf
package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +9 -0
index 8d8b8b4..21046fc 100644
@@ -40,4 +40,13 @@ endef
 
 GST_FSL_PLUGINS_POST_PATCH_HOOKS += GST_FSL_PLUGINS_PATCH_M4
 
+define GST_FSL_PLUGINS_FIX_LD_PATH
+	$(INSTALL) -d $(TARGET_DIR)/etc/ld.so.conf.d
+	$(INSTALL) -m 644 \
+		package/gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf \
+		$(TARGET_DIR)/etc/ld.so.conf.d
+endef
+
+GST_FSL_PLUGINS_POST_INSTALL_TARGET_HOOKS += GST_FSL_PLUGINS_FIX_LD_PATH
+
 $(eval $(autotools-package))
package/gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf new file +5 -0
new file mode 100644
index 0000000..325fbf1
@@ -0,0 +1,5 @@
+# cf. https://community.freescale.com/thread/300387
+/usr/lib/imx-mm/audio-codec
+/usr/lib/imx-mm/video-codec
+/usr/lib/imx-mm/parser
+
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/2 gst-fsl-plugins: fix plugin loading

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 16 lines

Problem was reported :
http://lists.busybox.net/pipermail/buildroot/2014-July/101566.html
http://lists.busybox.net/pipermail/buildroot/2014-October/107613.html

---
 package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk             | 9 +++++++++
 .../gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf  | 5 +++++
 2 files changed, 14 insertions(+)
 create mode 100644 package/gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf
package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +0 -0
index 8d8b8b4..21046fc 100644

package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk endef · line 47

Quoted 8 lines
package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +5 -0
@@ -40,4 +40,13 @@ endef
 
 GST_FSL_PLUGINS_POST_PATCH_HOOKS += GST_FSL_PLUGINS_PATCH_M4
 
+define GST_FSL_PLUGINS_FIX_LD_PATH
+	$(INSTALL) -d $(TARGET_DIR)/etc/ld.so.conf.d
+	$(INSTALL) -m 644 \
+		package/gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf \
+		$(TARGET_DIR)/etc/ld.so.conf.d

I'd prefer you do it in one command:

    $(INSTALL) -D -m 0644 \
        package/gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf \
        $(TARGET_DIR)/etc/ld.so.conf.d/gst-fsl-plugins.conf

That way, the directory is created in case it is missing. Also, the name of the install file is shorter and more meaningful.

Regards,
Yann E. MORIN.

Quoted 23 lines
package/gstreamer/gst-fsl-plugins/gst-fsl-plugins.mk +4 -0
+endef
+
+GST_FSL_PLUGINS_POST_INSTALL_TARGET_HOOKS += GST_FSL_PLUGINS_FIX_LD_PATH
+
 $(eval $(autotools-package))
package/gstreamer/gst-fsl-plugins/ld.so.conf.d-gst-fsl-plugins.conf new file +5 -0
new file mode 100644
index 0000000..325fbf1
@@ -0,0 +1,5 @@
+# cf. https://community.freescale.com/thread/300387
+/usr/lib/imx-mm/audio-codec
+/usr/lib/imx-mm/video-codec
+/usr/lib/imx-mm/parser
+
Signature · 6 lines
1.9.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

In reply to Jérôme Pouiller

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

system/skeleton/etc/ld.so.conf line 1

Quoted 13 lines
---
 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
system/skeleton/etc/ld.so.conf new file +1 -0
new file mode 100644
index 0000000..83327c0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf

Are you sure this works with uClibc? Looking at the code of ldconfig from uClibc seems to imply it does not support including files.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

Quoted 10 lines · On Tuesday 14 October 2014 10:03:41 Yann E. MORIN wrote:

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 7 lines

---

 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
Quoted 10 lines

system/skeleton/etc/ld.so.conf line 1

Quoted 7 lines
(quoted diff) +0 -0

b/system/skeleton/etc/ld.so.conf new file mode 100644 index 0000000..83327c0

system/skeleton/etc/ld.so.conf new file +1 -0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf

Are you sure this works with uClibc? Looking at the code of ldconfig from uClibc seems to imply it does not support including files.

I admit I have not tested with uclibc.

hmm... Suddenly, it is more complex to implement. I see two options:
* Provide /etc/ld.so.conf during toolchain build depending of libc.
* Add extra library paths directly in /etc/ld.so.conf instead of adding a
file in /etc/ld.so.conf.d. However, modifying files during install step is error prone.

Any preference?

Signature · 3 lines
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr
#5 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

Quoted 21 lines · J?r?me Pouiller
Quoted 10 lines · On Tuesday 14 October 2014 10:03:41 Yann E. MORIN wrote:

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 7 lines

---

 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
Quoted 10 lines

system/skeleton/etc/ld.so.conf line 1

Quoted 7 lines
(quoted diff) +0 -0

b/system/skeleton/etc/ld.so.conf new file mode 100644 index 0000000..83327c0

system/skeleton/etc/ld.so.conf new file +1 -0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf

Are you sure this works with uClibc? Looking at the code of ldconfig from uClibc seems to imply it does not support including files.

Quoted 8 lines

I admit I have not tested with uclibc.

hmm... Suddenly, it is more complex to implement. I see two options:
* Provide /etc/ld.so.conf during toolchain build depending of libc.
* Add extra library paths directly in /etc/ld.so.conf instead of adding a
file in /etc/ld.so.conf.d. However, modifying files during install step is error prone.

or add a post-build hook for uclibc, which does:
cat <target>/etc/ld.conf.d/* >> <target>/etc/ld.conf

Quoted 11 lines

Any preference?

--
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Signature · 1 line
Samuel
#6 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

Quoted 30 lines · On Tuesday 14 October 2014 10:33:16 Samuel Martin wrote:
Quoted 29 lines · J?r?me Pouiller
Quoted 10 lines · On Tuesday 14 October 2014 10:03:41 Yann E. MORIN wrote:

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 7 lines

---

 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
Quoted 10 lines

system/skeleton/etc/ld.so.conf line 1

Quoted 7 lines
(quoted diff) +0 -0

b/system/skeleton/etc/ld.so.conf new file mode 100644 index 0000000..83327c0

system/skeleton/etc/ld.so.conf new file +1 -0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf

Are you sure this works with uClibc? Looking at the code of ldconfig from uClibc seems to imply it does not support including files.

I admit I have not tested with uclibc.

hmm... Suddenly, it is more complex to implement. I see two options:
* Provide /etc/ld.so.conf during toolchain build depending of libc.
* Add extra library paths directly in /etc/ld.so.conf instead of adding a

Quoted 5 lines
Quoted 2 lines

file in /etc/ld.so.conf.d. However, modifying files during install step is error prone.

or add a post-build hook for uclibc, which does:
cat <target>/etc/ld.conf.d/* >> <target>/etc/ld.conf

This will not been executed if an external toolchain is used.

Signature · 3 lines
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr
#7 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

Quoted 31 lines · J?r?me Pouiller
Quoted 30 lines · On Tuesday 14 October 2014 10:33:16 Samuel Martin wrote:
Quoted 29 lines · J?r?me Pouiller
Quoted 10 lines · On Tuesday 14 October 2014 10:03:41 Yann E. MORIN wrote:

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 7 lines

---

 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
Quoted 10 lines

system/skeleton/etc/ld.so.conf line 1

Quoted 7 lines
(quoted diff) +0 -0

b/system/skeleton/etc/ld.so.conf new file mode 100644 index 0000000..83327c0

system/skeleton/etc/ld.so.conf new file +1 -0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf

Are you sure this works with uClibc? Looking at the code of ldconfig from uClibc seems to imply it does not support including files.

I admit I have not tested with uclibc.

hmm... Suddenly, it is more complex to implement. I see two options:
* Provide /etc/ld.so.conf during toolchain build depending of libc.
* Add extra library paths directly in /etc/ld.so.conf instead of adding a

Quoted 6 lines
Quoted 5 lines
Quoted 2 lines

file in /etc/ld.so.conf.d. However, modifying files during install step is error prone.

or add a post-build hook for uclibc, which does:
cat <target>/etc/ld.conf.d/* >> <target>/etc/ld.conf

This will not been executed if an external toolchain is used.

Why not?
In case of external toolchain, we have to select what libc is used in the toolchain; so it should be ok.

Quoted 6 lines

--
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr

Signature · 1 line
Samuel
#8 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

Quoted 3 lines · On Tuesday 14 October 2014 10:44:48 Samuel Martin wrote:
Quoted 2 lines · J?r?me Pouiller
Quoted 1 line · On Tuesday 14 October 2014 10:33:16 Samuel Martin wrote:

On Tue, Oct 14, 2014 at 10:24 AM, J?r?me Pouiller <[email protected]>

Quoted 34 lines · wrote:
Quoted 34 lines
Quoted 34 lines
Quoted 33 lines · On Tuesday 14 October 2014 10:03:41 Yann E. MORIN wrote:
Quoted 10 lines

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 7 lines

---

 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
Quoted 10 lines

system/skeleton/etc/ld.so.conf line 1

Quoted 7 lines
(quoted diff) +0 -0

b/system/skeleton/etc/ld.so.conf new file mode 100644 index 0000000..83327c0

system/skeleton/etc/ld.so.conf new file +1 -0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf

Are you sure this works with uClibc? Looking at the code of ldconfig from uClibc seems to imply it does not support including files.

I admit I have not tested with uclibc.

hmm... Suddenly, it is more complex to implement. I see two options:
* Provide /etc/ld.so.conf during toolchain build depending of libc.
* Add extra library paths directly in /etc/ld.so.conf instead of adding
a

file in /etc/ld.so.conf.d. However, modifying files during install step is
error prone.

Quoted 8 lines
Quoted 4 lines
Quoted 2 lines

or add a post-build hook for uclibc, which does:
cat <target>/etc/ld.conf.d/* >> <target>/etc/ld.conf

This will not been executed if an external toolchain is used.

Why not?
In case of external toolchain, we have to select what libc is used in the toolchain; so it should be ok.

Ok. I understood a "package post build hook", but you mean a "target finalize hook".

Signature · 3 lines
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr
#9 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

Quoted 42 lines · J?r?me Pouiller
Quoted 3 lines · On Tuesday 14 October 2014 10:44:48 Samuel Martin wrote:
Quoted 2 lines · J?r?me Pouiller
Quoted 1 line · On Tuesday 14 October 2014 10:33:16 Samuel Martin wrote:

On Tue, Oct 14, 2014 at 10:24 AM, J?r?me Pouiller <[email protected]>

Quoted 37 lines · wrote:
Quoted 37 lines
Quoted 36 lines
Quoted 30 lines · On Tuesday 14 October 2014 10:03:41 Yann E. MORIN wrote:
Quoted 10 lines

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 7 lines

---

 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
Quoted 10 lines

system/skeleton/etc/ld.so.conf line 1

Quoted 7 lines
(quoted diff) +0 -0

b/system/skeleton/etc/ld.so.conf new file mode 100644 index 0000000..83327c0

system/skeleton/etc/ld.so.conf new file +1 -0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf

Are you sure this works with uClibc? Looking at the code of ldconfig from uClibc seems to imply it does not support including files.

I admit I have not tested with uclibc.

hmm... Suddenly, it is more complex to implement. I see two options:
* Provide /etc/ld.so.conf during toolchain build depending of libc.
* Add extra library paths directly in /etc/ld.so.conf instead of adding
a

Quoted 3 lines

file in /etc/ld.so.conf.d. However, modifying files during install step is
error prone.

or add a post-build hook for uclibc, which does:
cat <target>/etc/ld.conf.d/* >> <target>/etc/ld.conf

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

This will not been executed if an external toolchain is used.

Why not?
In case of external toolchain, we have to select what libc is used in the toolchain; so it should be ok.

Ok. I understood a "package post build hook", but you mean a "target finalize hook".

Yes exactly.
Sorry for the confusion.

Quoted 6 lines

--
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr

Signature · 1 line
Samuel
#10 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

In reply to Jérôme Pouiller

J?r?me, Maxime, All,

On 2014-10-14 10:24 +0200, J?r?me Pouiller spake thusly:

Quoted 23 lines · On Tuesday 14 October 2014 10:03:41 Yann E. MORIN wrote:
Quoted 10 lines

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 7 lines

---

 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
Quoted 10 lines

system/skeleton/etc/ld.so.conf line 1

Quoted 7 lines
(quoted diff) +0 -0

b/system/skeleton/etc/ld.so.conf new file mode 100644 index 0000000..83327c0

system/skeleton/etc/ld.so.conf new file +1 -0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf

Are you sure this works with uClibc? Looking at the code of ldconfig from uClibc seems to imply it does not support including files.

I admit I have not tested with uclibc.

Quoted 7 lines

hmm... Suddenly, it is more complex to implement. I see two options:
* Provide /etc/ld.so.conf during toolchain build depending of libc.
* Add extra library paths directly in /etc/ld.so.conf instead of adding a
file in /etc/ld.so.conf.d. However, modifying files during install step is error prone.

Any preference?

Adding MAxime in the loop, since he's working on making the skeleton a generic package.

Probably, at install time of the skeleton package, we could shoe-horn this depending on whether this is glibc, uClibc or musl.

Maxime, thoughts?

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#11 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

In reply to Jérôme Pouiller

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 1 line

Given the feedback given in the thread, I've marked this patch "Changes Requested" in patchwork.

Are you working on an updated patch?

Regards,
Yann E. MORIN.

Quoted 19 lines
---
 system/skeleton/etc/ld.so.conf | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 system/skeleton/etc/ld.so.conf
system/skeleton/etc/ld.so.conf new file +1 -0
new file mode 100644
index 0000000..83327c0
@@ -0,0 +1 @@
+include /etc/ld.so.conf.d/*.conf
Signature · 6 lines
1.9.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#12 lore raw

PATCH 1/2 skeleton: ld.so.conf include ld.so.conf.d/*.conf

Quoted 9 lines · On Friday 24 October 2014 16:53:23 Yann E. MORIN wrote:

J?r?me, All,

On 2014-10-13 09:55 +0200, J?r?me Pouiller spake thusly:

Quoted 1 line

Given the feedback given in the thread, I've marked this patch "Changes Requested" in patchwork.

Are you working on an updated patch?

I will do next week I think.

Signature · 3 lines
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr