c***@exemail.com.au
2018-11-08 02:33:13 UTC
Hello,
This email is to tell about a problem in building vlc and how it could
be worked around.
I was just updating a system here (x86_64 with multilib), running
SlackBuilds manually to rebuild some old packages and experienced a
problem with the binary vlc generated, which gave segfaults
systematically.
I tried to analyze the problem and found a piece of code inside
pulseaudio which calls shm_open() (which is supplied from librt.so).
Going further, I found that shm_open() tries to call __shm_directory()
and this function - which is inside libpthread.so - is not correct
linked for some reason. When the call is tried, the segfault
happens.
(yes, to find it I have to google a little; this article showed the
https://stackoverflow.com/questions/47905554/segmentation-fault-appears-when-i-use-shared-memory-only-from-statically-build-p)
I could find a way to work around it. The vlc binary, as it was built in
the machine, required libpthread.so but not librt.so (verified by
calling objdump -x vlc). I managed to add librt.so in the final link
(using SLKLDFLAGS="-lrt") and the resulting vlc added librt.so as a
"NEEDED" dependency. Installing the package, the problem was gone.
Of course this is not happening in the majority of the installations,
but as it happened here, it can happen anywhere.
As I don't post here frequently, let me thank you contributors for the
time devoted to the project.
Many thanks!
Luiz Carlos Ramos
São Paulo - Brazil
_______________________________________________
SlackBuilds-users mailing list
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
Interesting. Ill look into this some more when Im able to.This email is to tell about a problem in building vlc and how it could
be worked around.
I was just updating a system here (x86_64 with multilib), running
SlackBuilds manually to rebuild some old packages and experienced a
problem with the binary vlc generated, which gave segfaults
systematically.
I tried to analyze the problem and found a piece of code inside
pulseaudio which calls shm_open() (which is supplied from librt.so).
Going further, I found that shm_open() tries to call __shm_directory()
and this function - which is inside libpthread.so - is not correct
linked for some reason. When the call is tried, the segfault
happens.
(yes, to find it I have to google a little; this article showed the
https://stackoverflow.com/questions/47905554/segmentation-fault-appears-when-i-use-shared-memory-only-from-statically-build-p)
I could find a way to work around it. The vlc binary, as it was built in
the machine, required libpthread.so but not librt.so (verified by
calling objdump -x vlc). I managed to add librt.so in the final link
(using SLKLDFLAGS="-lrt") and the resulting vlc added librt.so as a
"NEEDED" dependency. Installing the package, the problem was gone.
Of course this is not happening in the majority of the installations,
but as it happened here, it can happen anywhere.
As I don't post here frequently, let me thank you contributors for the
time devoted to the project.
Many thanks!
Luiz Carlos Ramos
São Paulo - Brazil
_______________________________________________
SlackBuilds-users mailing list
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/
chris
_______________________________________________
SlackBuilds-users mailing list
SlackBuilds-***@slackbuilds.org
https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users
Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/
FAQ - https://slackbuilds.org/faq/