All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Libpng missing a link dependency in 2017-08?
@ 2017-10-29 20:36 Steve Kenton
  2017-10-29 22:56 ` Steve Kenton
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Steve Kenton @ 2017-10-29 20:36 UTC (permalink / raw)
  To: buildroot

I recently began evaluating a switch to buildroot-2017.08 and started 
getting the following message (transcribed from a screen shot)

ffprobe: Relink `/usr/lib64/libpng16.so.16' with 
`/lib64/libpthread.so.0' for IFUNC symbol `longjmp'

As far as I can determine it is because libpng 1.6.31 uses longjmp() and 
it needs another link dependency to avoid the runtime fixup above.

I did not see anything on the list about this and buildroot 2017-08.1 
did not switch to libpng 1.6.32 although I'm building it anyway on 
general principles.

So, is this likely a libpng build issue or should I start digging into? 
ffmpeg?

Thanks,

Steve Kenton

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-10-29 20:36 [Buildroot] Libpng missing a link dependency in 2017-08? Steve Kenton
@ 2017-10-29 22:56 ` Steve Kenton
  2017-10-30 10:36 ` Thomas Petazzoni
  2017-10-31 20:42 ` Thomas Petazzoni
  2 siblings, 0 replies; 11+ messages in thread
From: Steve Kenton @ 2017-10-29 22:56 UTC (permalink / raw)
  To: buildroot

As expected, same behavior with Buildroot 2017-08.1 and with 2017-08.

FYI Steve


On 10/29/2017 03:36 PM, Steve Kenton wrote:
> I recently began evaluating a switch to buildroot-2017.08 and started 
> getting the following message (transcribed from a screen shot)
>
> ffprobe: Relink `/usr/lib64/libpng16.so.16' with 
> `/lib64/libpthread.so.0' for IFUNC symbol `longjmp'
>
> As far as I can determine it is because libpng 1.6.31 uses longjmp() 
> and it needs another link dependency to avoid the runtime fixup above.
>
> I did not see anything on the list about this and buildroot 2017-08.1 
> did not switch to libpng 1.6.32 although I'm building it anyway on 
> general principles.
>
> So, is this likely a libpng build issue or should I start digging 
> into? ffmpeg?
>
> Thanks,
>
> Steve Kenton
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-10-29 20:36 [Buildroot] Libpng missing a link dependency in 2017-08? Steve Kenton
  2017-10-29 22:56 ` Steve Kenton
@ 2017-10-30 10:36 ` Thomas Petazzoni
  2017-10-31  1:53   ` Steve Kenton
  2017-10-31 20:42 ` Thomas Petazzoni
  2 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2017-10-30 10:36 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 29 Oct 2017 15:36:37 -0500, Steve Kenton wrote:
> I recently began evaluating a switch to buildroot-2017.08 and started 
> getting the following message (transcribed from a screen shot)
> 
> ffprobe: Relink `/usr/lib64/libpng16.so.16' with 
> `/lib64/libpthread.so.0' for IFUNC symbol `longjmp'
> 
> As far as I can determine it is because libpng 1.6.31 uses longjmp() and 
> it needs another link dependency to avoid the runtime fixup above.
> 
> I did not see anything on the list about this and buildroot 2017-08.1 
> did not switch to libpng 1.6.32 although I'm building it anyway on 
> general principles.
> 
> So, is this likely a libpng build issue or should I start digging into? 
> ffmpeg?

Could you provide a minimal .config that exhibits the problem you're
seeing ?

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-10-30 10:36 ` Thomas Petazzoni
@ 2017-10-31  1:53   ` Steve Kenton
  0 siblings, 0 replies; 11+ messages in thread
From: Steve Kenton @ 2017-10-31  1:53 UTC (permalink / raw)
  To: buildroot

On 10/30/2017 05:36 AM, Thomas Petazzoni wrote:Hello,

> On Sun, 29 Oct 2017 15:36:37 -0500, Steve Kenton wrote:
>> I recently began evaluating a switch to buildroot-2017.08 and started
>> getting the following message (transcribed from a screen shot)
>>
>> ffprobe: Relink `/usr/lib64/libpng16.so.16' with
>> `/lib64/libpthread.so.0' for IFUNC symbol `longjmp'
>>
>> As far as I can determine it is because libpng 1.6.31 uses longjmp() and
>> it needs another link dependency to avoid the runtime fixup above.
>>
>> I did not see anything on the list about this and buildroot 2017-08.1
>> did not switch to libpng 1.6.32 although I'm building it anyway on
>> general principles.
>>
>> So, is this likely a libpng build issue or should I start digging into
>> ffmpeg?
> Could you provide a minimal .config that exhibits the problem you're
> seeing ?
>
> Best regards,
>
> Thomas
>
>
Here you go, the small sample jpeg file attached is the one I used for 
testing.
I needed to add USB3 support for my motherboard or I could not login, 
hence the script
Just untar buildroot-2017.08.1 then copy in the jpeg file and the script 
and run it
The resulting bzImage file will illustrate the problem. See comments in 
the script

Steve Kenton

#! /bin/bash
# buildme.sh - Reproduce the following message with a minimal 
configuration for buildroot-2017-08.1 to simplify troubleshooting
# Relink /usr/lib64/libpng16.so.16 with /lib64/libpthread.so.0 for IFUNC 
symbol longjmp
# The most applicable Google hit I found is:
# 
http://lists.openembedded.org/pipermail/openembedded-core/2017-January/130983.html
# "> > > The gdk-pixbuf link does use -lpthread, is this saying that libpng
# should be linked against pthread too?? I can replicate on demand if
# you have any suggestions.
# >
# >
# That's what it's saying, and this was introduced by the fix for:"
#
make clean # nothing up my sleeve
# This is the minimal config resulting from "make savedefconfig"
cat > .config <<'EOF'
BR2_x86_64=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
BR2_PACKAGE_FFMPEG=y
BR2_PACKAGE_FREETYPE=y
BR2_PACKAGE_LIBPNG=y
BR2_TARGET_ROOTFS_INITRAMFS=y
EOF
make olddefconfig # fill out buildroot .config file
make # build the base buildroot system
cp --force Splash.jpg output/target/root/ # the jpeg file used for testing
# Tweak the kernel config for USB support to allow login with my motherboard
eval $(grep BR2_LINUX_KERNEL_VERSION .config) # grab the kernel config 
variable
kernelver=$BR2_LINUX_KERNEL_VERSION # what kernel are we using
kerneldir=$(readlink -e output/build/linux-$kernelver) # convert 
relative path to absolute
configscript=$kerneldir/scripts/config # a handy utility shipped with 
the kernel source
$configscript --file $kerneldir/.config --enable CONFIG_USB_XHCI_HCD # 
USB 3.x support
make --directory=$kerneldir olddefconfig # change to kernel source 
directory to fill out the kernel .config file
make linux-rebuild # rebuild a bit of stuff due to the kernel config changes
make
# output/images/bzImage should be ready to boot up if copied to 
/boot/bzImage on another system
# login as root with no password and run "ffmpeg -i Splash.jpg junk.jpg"
# The message of interest will be near the top of the FFmpeg output

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Splash.jpg
Type: image/jpeg
Size: 40354 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20171030/f165fce6/attachment-0001.jpg>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-10-29 20:36 [Buildroot] Libpng missing a link dependency in 2017-08? Steve Kenton
  2017-10-29 22:56 ` Steve Kenton
  2017-10-30 10:36 ` Thomas Petazzoni
@ 2017-10-31 20:42 ` Thomas Petazzoni
  2017-10-31 22:22   ` Romain Naour
  2 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2017-10-31 20:42 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 29 Oct 2017 15:36:37 -0500, Steve Kenton wrote:
> I recently began evaluating a switch to buildroot-2017.08 and started 
> getting the following message (transcribed from a screen shot)
> 
> ffprobe: Relink `/usr/lib64/libpng16.so.16' with 
> `/lib64/libpthread.so.0' for IFUNC symbol `longjmp'
> 
> As far as I can determine it is because libpng 1.6.31 uses longjmp() and 
> it needs another link dependency to avoid the runtime fixup above.
> 
> I did not see anything on the list about this and buildroot 2017-08.1 
> did not switch to libpng 1.6.32 although I'm building it anyway on 
> general principles.
> 
> So, is this likely a libpng build issue or should I start digging into? 
> ffmpeg?

It seems to be a glibc issue. Very similar to the report at
https://sourceware.org/bugzilla/show_bug.cgi?id=21041, which says the
bug is fixed by
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=fc5ad7024c620cdfe9b76e94638aac83b99c5bf8
in glibc.

However, this patch is only available in glibc's master branch. It has
not been backported to the 2.25 and 2.26 branches apparently.

It would be nice to see if the patch fixes the problem on glibc 2.25
(which Buildroot 2017.08 is using).

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-10-31 20:42 ` Thomas Petazzoni
@ 2017-10-31 22:22   ` Romain Naour
  2017-11-01  1:01     ` Steve Kenton
  2017-11-01  9:29     ` Thomas Petazzoni
  0 siblings, 2 replies; 11+ messages in thread
From: Romain Naour @ 2017-10-31 22:22 UTC (permalink / raw)
  To: buildroot

Hi Steve, Thomas,

Le 31/10/2017 ? 21:42, Thomas Petazzoni a ?crit?:
> Hello,
> 
> On Sun, 29 Oct 2017 15:36:37 -0500, Steve Kenton wrote:
>> I recently began evaluating a switch to buildroot-2017.08 and started 
>> getting the following message (transcribed from a screen shot)
>>
>> ffprobe: Relink `/usr/lib64/libpng16.so.16' with 
>> `/lib64/libpthread.so.0' for IFUNC symbol `longjmp'
>>
>> As far as I can determine it is because libpng 1.6.31 uses longjmp() and 
>> it needs another link dependency to avoid the runtime fixup above.
>>
>> I did not see anything on the list about this and buildroot 2017-08.1 
>> did not switch to libpng 1.6.32 although I'm building it anyway on 
>> general principles.
>>
>> So, is this likely a libpng build issue or should I start digging into? 
>> ffmpeg?
> 
> It seems to be a glibc issue. Very similar to the report at
> https://sourceware.org/bugzilla/show_bug.cgi?id=21041, which says the
> bug is fixed by
> https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=fc5ad7024c620cdfe9b76e94638aac83b99c5bf8
> in glibc.
> 
> However, this patch is only available in glibc's master branch. It has
> not been backported to the 2.25 and 2.26 branches apparently.
> 
> It would be nice to see if the patch fixes the problem on glibc 2.25
> (which Buildroot 2017.08 is using).

I'm able to reproduce this issue with my latest bleeding edge toolchain (gcc
7.2, glibc 2.26-73

# ffmpeg -i Splash.jpg junk.jpg
ffmpeg: Relink `/usr/lib64/libpng16.so.16' with `/lib64/libpthread.so.0' for
IFUNC symbol `longjmp'
ffmpeg version 3.3.5 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (Buildroot 2017.11-git-00863-g82f356d)
  configuration: --enable-cross-compile
--cross-prefix=/home/naourr/buildroot-test/test/arete/host/bin/x86_64-linux-
--sysroot=/home/naourr/buildroot-test/test/arete/host/x86_64-buildroot-linux-gnu/sysroot
--host-cc=/usr/bin/gcc --arch=x86_64 --target-os=linux --disable-stripping
--pkg-config=/home/naourr/buildroot-test/test/arete/host/bin/pkg-config
--disable-static --enable-shared --prefix=/usr --enable-avfilter
--disable-version3 --enable-logging --enable-optimizations
--disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat
--enable-network --disable-gray --enable-swscale-alpha --disable-small
--enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd
--disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables
--disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels
--disable-cuda --disable-cuvid --disable-nvenc --disable-avisynth
--disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb
--disable-libcdio --disable-libdc1394 --disable-libgsm --disable-libilbc
--disable-libnut --disable-libopenjpeg --disable-libschroedinger
--disable-libvo-amrwbenc --disable-symver --disable-doc --disable-gpl
--disable-nonfree --enable-ffmpeg --disable-ffplay --disable-ffserver
--disable-avresample --disable-ffprobe --disable-postproc --disable-swscale
--enable-indevs --enable-outdevs --enable-pthreads --enable-zlib --enable-bzlib
--disable-libfdk-aac --disable-gnutls --enable-openssl --disable-libopenh264
--enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis --enable-vaapi
--enable-vdpau --disable-mmal --disable-omx --disable-omx-rpi
--disable-libopencv --disable-libopus --disable-libvpx --disable-libass
--disable-libbluray --disable-librtmp --disable-libmp3lame --enable-libmodplug
--enable-libspeex --enable-libtheora --disable-libwavpack --enable-libfreetype
--enable-fontconfig --disable-libx264 --disable-libx265 --enable-yasm
--enable-sse --enable-sse2 --enable-sse3 --disable-ssse3 --disable-sse4
--disable-sse42 --disable-avx --disable-avx2 --disable-armv6 --disable-armv6t2
--disable-vfp --disable-neon --disable-altivec --extra-libs=-latomic
--enable-pic --cpu=nocona
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libswresample   2.  7.100 /  2.  7.100
Input #0, image2, from 'Splash.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 8070 kb/s
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 720x486
[SAR 28:28 DAR 40:27], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'junk.jpg':
  Metadata:
    encoder         : Lavf57.71.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 720x486 [SAR 28:28 DAR 40:27],
q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.89.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    1 fps=0.0 q=5.5 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.636x
video:27kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: unknown


And with the same toolchain + the patch [1] applied:

[1]
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=fc5ad7024c620cdfe9b76e94638aac83b99c5bf8


# ffmpeg -i Splash.jpg junk.jpg
ffmpeg version 3.3.5 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (Buildroot 2017.11-git-00942-g79922c1)
  configuration: --enable-cross-compile
--cross-prefix=/home/naourr/buildroot-test/test/random/host/bin/x86_64-linux-
--sysroot=/home/naourr/buildroot-test/test/random/host/x86_64-buildroot-linux-gnu/sysroot
--host-cc=/usr/bin/gcc --arch=x86_64 --target-os=linux --disable-stripping
--pkg-config=/home/naourr/buildroot-test/test/random/host/bin/pkg-config
--disable-static --enable-shared --prefix=/usr --enable-avfilter
--disable-version3 --enable-logging --enable-optimizations
--disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat
--enable-network --disable-gray --enable-swscale-alpha --disable-small
--enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd
--disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables
--disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels
--disable-cuda --disable-cuvid --disable-nvenc --disable-avisynth
--disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb
--disable-libcdio --disable-libdc1394 --disable-libgsm --disable-libilbc
--disable-libnut --disable-libopenjpeg --disable-libschroedinger
--disable-libvo-amrwbenc --disable-symver --disable-doc --disable-gpl
--disable-nonfree --enable-ffmpeg --disable-ffplay --disable-ffserver
--disable-avresample --disable-ffprobe --disable-postproc --disable-swscale
--enable-indevs --enable-outdevs --enable-pthreads --enable-zlib --disable-bzlib
--disable-libfdk-aac --disable-gnutls --disable-openssl --disable-libopenh264
--disable-vaapi --disable-vdpau --disable-mmal --disable-omx --disable-omx-rpi
--disable-libopencv --disable-libopus --disable-libvpx --disable-libass
--disable-libbluray --disable-librtmp --disable-libmp3lame --disable-libmodplug
--disable-libspeex --disable-libtheora --disable-libwavpack --enable-libfreetype
--disable-fontconfig --disable-libx264 --disable-libx265 --enable-yasm
--enable-sse --enable-sse2 --enable-sse3 --disable-ssse3 --disable-sse4
--disable-sse42 --disable-avx --disable-avx2 --disable-armv6 --disable-armv6t2
--disable-vfp --disable-neon --disable-altivec --extra-libs=-latomic
--enable-pic --cpu=nocona
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libswresample   2.  7.100 /  2.  7.100
Input #0, image2, from 'Splash.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 8070 kb/s
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 720x486
[SAR 28:28 DAR 40:27], 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Output #0, image2, to 'junk.jpg':
  Metadata:
    encoder         : Lavf57.71.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 720x486 [SAR 28:28 DAR 40:27],
q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.89.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    1 fps=0.0 q=5.5 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=2.05x
video:27kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: unknown

I don't know why this patch is not backported to 2.26 stable branch (and other
branch).

Steve, can you ask on the glibc mailing list ?

Thanks for the report!

Best regards,
Romain

> 
> Best regards,
> 
> Thomas
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-10-31 22:22   ` Romain Naour
@ 2017-11-01  1:01     ` Steve Kenton
  2017-11-01  9:29     ` Thomas Petazzoni
  1 sibling, 0 replies; 11+ messages in thread
From: Steve Kenton @ 2017-11-01  1:01 UTC (permalink / raw)
  To: buildroot

On 10/31/2017 05:22 PM, Romain Naour wrote:
> Hi Steve, Thomas,
>
> Le 31/10/2017 ? 21:42, Thomas Petazzoni a ?crit?:
>> Hello,
>>
>> On Sun, 29 Oct 2017 15:36:37 -0500, Steve Kenton wrote:
>>> I recently began evaluating a switch to buildroot-2017.08 and started
>>> getting the following message (transcribed from a screen shot)
>>>
>>> ffprobe: Relink `/usr/lib64/libpng16.so.16' with
>>> `/lib64/libpthread.so.0' for IFUNC symbol `longjmp'
>>>
>>> As far as I can determine it is because libpng 1.6.31 uses longjmp() and
>>> it needs another link dependency to avoid the runtime fixup above.
>>>
>>> I did not see anything on the list about this and buildroot 2017-08.1
>>> did not switch to libpng 1.6.32 although I'm building it anyway on
>>> general principles.
>>>
>>> So, is this likely a libpng build issue or should I start digging into
>>> ffmpeg?
>> It seems to be a glibc issue. Very similar to the report at
>> https://sourceware.org/bugzilla/show_bug.cgi?id=21041, which says the
>> bug is fixed by
>> https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=fc5ad7024c620cdfe9b76e94638aac83b99c5bf8
>> in glibc.
>>
>> However, this patch is only available in glibc's master branch. It has
>> not been backported to the 2.25 and 2.26 branches apparently.
>>
>> It would be nice to see if the patch fixes the problem on glibc 2.25
>> (which Buildroot 2017.08 is using).
> I'm able to reproduce this issue with my latest bleeding edge toolchain (gcc
> 7.2, glibc 2.26-73
>
> # ffmpeg -i Splash.jpg junk.jpg
> ffmpeg: Relink `/usr/lib64/libpng16.so.16' with `/lib64/libpthread.so.0' for
> IFUNC symbol `longjmp'
> ffmpeg version 3.3.5 Copyright (c) 2000-2017 the FFmpeg developers
>    built with gcc 7.2.0 (Buildroot 2017.11-git-00863-g82f356d)
>    configuration: --enable-cross-compile
> --cross-prefix=/home/naourr/buildroot-test/test/arete/host/bin/x86_64-linux-
> --sysroot=/home/naourr/buildroot-test/test/arete/host/x86_64-buildroot-linux-gnu/sysroot
> --host-cc=/usr/bin/gcc --arch=x86_64 --target-os=linux --disable-stripping
> --pkg-config=/home/naourr/buildroot-test/test/arete/host/bin/pkg-config
> --disable-static --enable-shared --prefix=/usr --enable-avfilter
> --disable-version3 --enable-logging --enable-optimizations
> --disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat
> --enable-network --disable-gray --enable-swscale-alpha --disable-small
> --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd
> --disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables
> --disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels
> --disable-cuda --disable-cuvid --disable-nvenc --disable-avisynth
> --disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb
> --disable-libcdio --disable-libdc1394 --disable-libgsm --disable-libilbc
> --disable-libnut --disable-libopenjpeg --disable-libschroedinger
> --disable-libvo-amrwbenc --disable-symver --disable-doc --disable-gpl
> --disable-nonfree --enable-ffmpeg --disable-ffplay --disable-ffserver
> --disable-avresample --disable-ffprobe --disable-postproc --disable-swscale
> --enable-indevs --enable-outdevs --enable-pthreads --enable-zlib --enable-bzlib
> --disable-libfdk-aac --disable-gnutls --enable-openssl --disable-libopenh264
> --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis --enable-vaapi
> --enable-vdpau --disable-mmal --disable-omx --disable-omx-rpi
> --disable-libopencv --disable-libopus --disable-libvpx --disable-libass
> --disable-libbluray --disable-librtmp --disable-libmp3lame --enable-libmodplug
> --enable-libspeex --enable-libtheora --disable-libwavpack --enable-libfreetype
> --enable-fontconfig --disable-libx264 --disable-libx265 --enable-yasm
> --enable-sse --enable-sse2 --enable-sse3 --disable-ssse3 --disable-sse4
> --disable-sse42 --disable-avx --disable-avx2 --disable-armv6 --disable-armv6t2
> --disable-vfp --disable-neon --disable-altivec --extra-libs=-latomic
> --enable-pic --cpu=nocona
>    libavutil      55. 58.100 / 55. 58.100
>    libavcodec     57. 89.100 / 57. 89.100
>    libavformat    57. 71.100 / 57. 71.100
>    libavdevice    57.  6.100 / 57.  6.100
>    libavfilter     6. 82.100 /  6. 82.100
>    libswresample   2.  7.100 /  2.  7.100
> Input #0, image2, from 'Splash.jpg':
>    Duration: 00:00:00.04, start: 0.000000, bitrate: 8070 kb/s
>      Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 720x486
> [SAR 28:28 DAR 40:27], 25 tbr, 25 tbn, 25 tbc
> Stream mapping:
>    Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
> Press [q] to stop, [?] for help
> Output #0, image2, to 'junk.jpg':
>    Metadata:
>      encoder         : Lavf57.71.100
>      Stream #0:0: Video: mjpeg, yuvj420p(pc), 720x486 [SAR 28:28 DAR 40:27],
> q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
>      Metadata:
>        encoder         : Lavc57.89.100 mjpeg
>      Side data:
>        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
> frame=    1 fps=0.0 q=5.5 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.636x
> video:27kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
> overhead: unknown
>
>
> And with the same toolchain + the patch [1] applied:
>
> [1]
> https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=fc5ad7024c620cdfe9b76e94638aac83b99c5bf8
>
>
> # ffmpeg -i Splash.jpg junk.jpg
> ffmpeg version 3.3.5 Copyright (c) 2000-2017 the FFmpeg developers
>    built with gcc 7.2.0 (Buildroot 2017.11-git-00942-g79922c1)
>    configuration: --enable-cross-compile
> --cross-prefix=/home/naourr/buildroot-test/test/random/host/bin/x86_64-linux-
> --sysroot=/home/naourr/buildroot-test/test/random/host/x86_64-buildroot-linux-gnu/sysroot
> --host-cc=/usr/bin/gcc --arch=x86_64 --target-os=linux --disable-stripping
> --pkg-config=/home/naourr/buildroot-test/test/random/host/bin/pkg-config
> --disable-static --enable-shared --prefix=/usr --enable-avfilter
> --disable-version3 --enable-logging --enable-optimizations
> --disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat
> --enable-network --disable-gray --enable-swscale-alpha --disable-small
> --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd
> --disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables
> --disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels
> --disable-cuda --disable-cuvid --disable-nvenc --disable-avisynth
> --disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb
> --disable-libcdio --disable-libdc1394 --disable-libgsm --disable-libilbc
> --disable-libnut --disable-libopenjpeg --disable-libschroedinger
> --disable-libvo-amrwbenc --disable-symver --disable-doc --disable-gpl
> --disable-nonfree --enable-ffmpeg --disable-ffplay --disable-ffserver
> --disable-avresample --disable-ffprobe --disable-postproc --disable-swscale
> --enable-indevs --enable-outdevs --enable-pthreads --enable-zlib --disable-bzlib
> --disable-libfdk-aac --disable-gnutls --disable-openssl --disable-libopenh264
> --disable-vaapi --disable-vdpau --disable-mmal --disable-omx --disable-omx-rpi
> --disable-libopencv --disable-libopus --disable-libvpx --disable-libass
> --disable-libbluray --disable-librtmp --disable-libmp3lame --disable-libmodplug
> --disable-libspeex --disable-libtheora --disable-libwavpack --enable-libfreetype
> --disable-fontconfig --disable-libx264 --disable-libx265 --enable-yasm
> --enable-sse --enable-sse2 --enable-sse3 --disable-ssse3 --disable-sse4
> --disable-sse42 --disable-avx --disable-avx2 --disable-armv6 --disable-armv6t2
> --disable-vfp --disable-neon --disable-altivec --extra-libs=-latomic
> --enable-pic --cpu=nocona
>    libavutil      55. 58.100 / 55. 58.100
>    libavcodec     57. 89.100 / 57. 89.100
>    libavformat    57. 71.100 / 57. 71.100
>    libavdevice    57.  6.100 / 57.  6.100
>    libavfilter     6. 82.100 /  6. 82.100
>    libswresample   2.  7.100 /  2.  7.100
> Input #0, image2, from 'Splash.jpg':
>    Duration: 00:00:00.04, start: 0.000000, bitrate: 8070 kb/s
>      Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 720x486
> [SAR 28:28 DAR 40:27], 25 tbr, 25 tbn, 25 tbc
> Stream mapping:
>    Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
> Press [q] to stop, [?] for help
> Output #0, image2, to 'junk.jpg':
>    Metadata:
>      encoder         : Lavf57.71.100
>      Stream #0:0: Video: mjpeg, yuvj420p(pc), 720x486 [SAR 28:28 DAR 40:27],
> q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
>      Metadata:
>        encoder         : Lavc57.89.100 mjpeg
>      Side data:
>        cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
> frame=    1 fps=0.0 q=5.5 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=2.05x
> video:27kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
> overhead: unknown
>
> I don't know why this patch is not backported to 2.26 stable branch (and other
> branch).
>
> Steve, can you ask on the glibc mailing list ?
>
> Thanks for the report!
>
> Best regards,
> Romain
>
>> Best regards,
>>
>> Thomas
>>
Progress,

I downloaded the indicated patch and tried it with buildroot-2017-08.1 
using glibc-2.25
The first hunk did not apply, but since it was just the change log I 
deleted it and the other hunks applied without error as a test
Then I dropped that modified patch into my buildroot tree as:
buildroot-2017.08.1/package/glibc/0008-glibc.git-fc5ad7024c620cdfe9b76e94638aac83b99c5bf8.patch
There being two 0005 patches I opted for 0008 :-)
When I did a clean build there was no "Relink" error and everything 
seemed to work with light testing.
Whether it is a correct fix with no side effects is beyond me so say, 
someone *WAY* more familiar with glibc is needed

Steve Kenton


 From fc5ad7024c620cdfe9b76e94638aac83b99c5bf8 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Tue, 8 Aug 2017 16:21:58 +0200
Subject: [PATCH] Don't use IFUNC resolver for longjmp or system in 
libpthread
 ?(bug 21041)

Unlike the vfork forwarder and like the fork forwarder as in bug 19861,
there won't be a problem when the compiler does not turn this into a tail
call.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-10-31 22:22   ` Romain Naour
  2017-11-01  1:01     ` Steve Kenton
@ 2017-11-01  9:29     ` Thomas Petazzoni
  2017-11-01 13:33       ` Romain Naour
  1 sibling, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2017-11-01  9:29 UTC (permalink / raw)
  To: buildroot

Hello,

Romain: thanks a lot for looking into this issue!

On Tue, 31 Oct 2017 23:22:19 +0100, Romain Naour wrote:

> I don't know why this patch is not backported to 2.26 stable branch (and other
> branch).
> 
> Steve, can you ask on the glibc mailing list ?

Romain, since you're already on the glibc mailing list, and have
already interacted with glibc developers, perhaps you could take care
of this?

In the mean time, we should backport this fix to our glibc 2.26+
version, and possibly also to glibc 2.25 (used in 2017.08). Checking
whether 2017.02 is affected as well would be useful.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-11-01  9:29     ` Thomas Petazzoni
@ 2017-11-01 13:33       ` Romain Naour
  2017-11-01 13:51         ` Steve Kenton
  2017-11-01 14:07         ` Thomas Petazzoni
  0 siblings, 2 replies; 11+ messages in thread
From: Romain Naour @ 2017-11-01 13:33 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Le 01/11/2017 ? 10:29, Thomas Petazzoni a ?crit?:
> Hello,
> 
> Romain: thanks a lot for looking into this issue!

You're welcome.

> 
> On Tue, 31 Oct 2017 23:22:19 +0100, Romain Naour wrote:
> 
>> I don't know why this patch is not backported to 2.26 stable branch (and other
>> branch).
>>
>> Steve, can you ask on the glibc mailing list ?
> 
> Romain, since you're already on the glibc mailing list, and have
> already interacted with glibc developers, perhaps you could take care
> of this?

See: https://sourceware.org/ml/libc-alpha/2017-11/msg00018.html

> 
> In the mean time, we should backport this fix to our glibc 2.26+
> version, and possibly also to glibc 2.25 (used in 2017.08). Checking
> whether 2017.02 is affected as well would be useful.

I'll wait for upstream feedback before doing anything.

Best regards,
Romain

> 
> Thanks!
> 
> Thomas
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-11-01 13:33       ` Romain Naour
@ 2017-11-01 13:51         ` Steve Kenton
  2017-11-01 14:07         ` Thomas Petazzoni
  1 sibling, 0 replies; 11+ messages in thread
From: Steve Kenton @ 2017-11-01 13:51 UTC (permalink / raw)
  To: buildroot

On 11/01/2017 08:33 AM, Romain Naour wrote:

> Hi Thomas,
>
> Le 01/11/2017 ? 10:29, Thomas Petazzoni a ?crit?:
>> Hello,
>>
>> Romain: thanks a lot for looking into this issue!
> You're welcome.
>
>> On Tue, 31 Oct 2017 23:22:19 +0100, Romain Naour wrote:
>>
>>> I don't know why this patch is not backported to 2.26 stable branch (and other
>>> branch).
>>>
>>> Steve, can you ask on the glibc mailing list ?
>> Romain, since you're already on the glibc mailing list, and have
>> already interacted with glibc developers, perhaps you could take care
>> of this?
> See: https://sourceware.org/ml/libc-alpha/2017-11/msg00018.html
>
Thanks Romain,

I was just tracking down the mailing list this morning ...

Steve Kenton

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] Libpng missing a link dependency in 2017-08?
  2017-11-01 13:33       ` Romain Naour
  2017-11-01 13:51         ` Steve Kenton
@ 2017-11-01 14:07         ` Thomas Petazzoni
  1 sibling, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2017-11-01 14:07 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 1 Nov 2017 14:33:51 +0100, Romain Naour wrote:

> > Romain, since you're already on the glibc mailing list, and have
> > already interacted with glibc developers, perhaps you could take care
> > of this?  
> 
> See: https://sourceware.org/ml/libc-alpha/2017-11/msg00018.html

Thanks.

> I'll wait for upstream feedback before doing anything.

Sounds good.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-11-01 14:07 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-29 20:36 [Buildroot] Libpng missing a link dependency in 2017-08? Steve Kenton
2017-10-29 22:56 ` Steve Kenton
2017-10-30 10:36 ` Thomas Petazzoni
2017-10-31  1:53   ` Steve Kenton
2017-10-31 20:42 ` Thomas Petazzoni
2017-10-31 22:22   ` Romain Naour
2017-11-01  1:01     ` Steve Kenton
2017-11-01  9:29     ` Thomas Petazzoni
2017-11-01 13:33       ` Romain Naour
2017-11-01 13:51         ` Steve Kenton
2017-11-01 14:07         ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.