LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 01-11-2015, 06:00 AM   #1
moesasji
Member
 
Registered: May 2008
Distribution: Slackware Current / OpenBSD
Posts: 322

Rep: Reputation: 104Reputation: 104
makemkv immediately segfaults on both 14.1 and current (multilib)


I'm trying to get makemkv from Slackbuilds to work on a multilib system. It builds fine, both on 14.1 as well as on current. However on running it triggers an immediate segmentation fault on both 14.1 and current. Below a stacktrace from 14.1, which seems to point to libQtGui as the culprit?

Anyone any suggestions on how to get makemkv to run and/or further debug this?

Code:
hge@pulsar:~$ makemkv
Segmentation fault
hge@pulsar:~$ gdb makemkv
GNU gdb (GDB) 7.6.1
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-slackware-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/makemkv...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/bin/makemkv 
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib64/libgobject-2.0.so.0.3600.4-gdb.py", line 9, in <module>
    from gobject import register
  File "/usr/share/glib-2.0/gdb/gobject.py", line 3, in <module>
    import gdb.backtrace
ImportError: No module named backtrace

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6c1b783 in ?? () from /usr/lib64/libQtGui.so.4
(gdb) bt full
#0  0x00007ffff6c1b783 in ?? () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#1  0x00007ffff6ddb650 in ?? () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#2  0x00007ffff6de257b in ?? () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#3  0x00007ffff6d6b451 in QPainter::drawPixmap(QRectF const&, QPixmap const&, QRectF const&) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#4  0x00007ffff6f0c074 in QStyle::drawItemPixmap(QPainter*, QRect const&, int, QPixmap const&) const () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#5  0x00007ffff6f2c911 in QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#6  0x00007ffff6fbc5e5 in QWindowsStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#7  0x00007ffff6fa8887 in QCleanlooksStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#8  0x00007ffff6f8c58b in QGtkStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#9  0x00007ffff6f89acf in QGtkStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#10 0x00007ffff7084ac9 in QToolButton::paintEvent(QPaintEvent*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#11 0x00007ffff6c71f74 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#12 0x00007ffff6c22c5c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#13 0x00007ffff6c29220 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#14 0x00007ffff66b5c5d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
No symbol table info available.
#15 0x00007ffff6c6c681 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#16 0x00007ffff6c6d0b0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#17 0x00007ffff6c6cf1f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#18 0x00007ffff6c6cf1f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#19 0x00007ffff6c6cf1f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#20 0x00007ffff6c6cf1f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#21 0x00007ffff6c6c23c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#22 0x00007ffff6c6d0b0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#23 0x00007ffff6c6cf1f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#24 0x00007ffff6c6c23c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#25 0x00007ffff6c6d0b0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#26 0x00007ffff6c6c23c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#27 0x00007ffff6c6d0b0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#28 0x00007ffff6c6cf1f in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib64/libQtGui.so.4
No symbol table info available.
#29 0x00007ffff6c6c23c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#30 0x00007ffff6e29919 in ?? () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#31 0x00007ffff6e29c95 in ?? () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#32 0x00007ffff6c8c948 in ?? () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#33 0x00007ffff6c999fb in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#34 0x00007ffff6cbf6f2 in ?? () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#35 0x00007ffff5274316 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#36 0x00007ffff5274668 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#37 0x00007ffff527470c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#38 0x00007ffff66e2795 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
No symbol table info available.
#39 0x00007ffff6cbf786 in ?? () from /usr/lib64/libQtGui.so.4
No symbol table info available.
#40 0x00007ffff66b48bf in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
No symbol table info available.
#41 0x00007ffff66b4bb5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
No symbol table info available.
#42 0x00007ffff66b9ccb in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
No symbol table info available.
#43 0x0000000000412664 in ?? ()
No symbol table info available.
#44 0x00007ffff7a30d05 in __libc_start_main () from /lib64/libc.so.6
No symbol table info available.
#45 0x000000000040efa5 in ?? ()
No symbol table info available.
(gdb)
 
Old 01-11-2015, 12:06 PM   #2
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,367

Rep: Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843
I have no idea if this is the problem or not, but someone else reported that makemkv was failing on their system (but not on a clean VM) when compiled with -fPIC. This may be completely unrelated but can you try the following patch to the SlackBuild?
Code:
--- makemkv.SlackBuild.orig	2015-01-11 12:58:29.551420736 -0500
+++ makemkv.SlackBuild	2015-01-11 12:58:49.042066125 -0500
@@ -86,8 +86,6 @@
  \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
   -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
 
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
   --libdir=/usr/lib${LIBDIRSUFFIX} \
If it works, even though I'm not able to reproduce it here, I may just drop the CFLAGS and let makemkv's configure script figure it out, even though it should work fine as is (and does for me).

If that *doesn't* help, then I'm really not sure what the problem is. The output of the following commands may help:
Code:
$ ldd /usr/bin/makemkv
$ file /usr/bin/makemkv
Is this a full Slackware installation?
 
2 members found this post helpful.
Old 01-11-2015, 12:59 PM   #3
fskmh
Member
 
Registered: Jun 2002
Location: South Africa
Distribution: Custom slackware64-current
Posts: 307

Rep: Reputation: 92
@T3slider

Cheers, that fixed the problem for me.
 
Old 01-11-2015, 04:07 PM   #4
moesasji
Member
 
Registered: May 2008
Distribution: Slackware Current / OpenBSD
Posts: 322

Original Poster
Rep: Reputation: 104Reputation: 104
@T3slider:

1) Yes removing the setting of the CFLAGS and CXXFLAGS from the script removes the segfault. Weird but true. Thanks!

2) This is a stripped minimal install using the 3.12 kernel, but that in itself wouldn't explain a segfault. If I compared the config logs with and without the standard CFLAGS and CXXFLAGS there are more changes then just -FPIC. At several places the O2 optimization is removed and the g option to keep symbol information gets added. Complete diff for the config lows below in case it provides any insight.

Code:
hge@pulsar:~$ diff config_removed.log config_clean.log 
83c83
< configure:3049: gcc    conftest.c  >&5
---
> configure:3049: gcc -O2 -fPIC   conftest.c  >&5
89c89
< configure:3119: gcc -o conftest    conftest.c  >&5
---
> configure:3119: gcc -o conftest -O2 -fPIC   conftest.c  >&5
93c93
< configure:3175: gcc -o conftest    conftest.c  >&5
---
> configure:3175: gcc -o conftest -O2 -fPIC   conftest.c  >&5
99c99
< configure:3232: gcc -c   conftest.c >&5
---
> configure:3232: gcc -c -O2 -fPIC  conftest.c >&5
103c103
< configure:3280: gcc -c   conftest.c >&5
---
> configure:3280: gcc -c -O2 -fPIC  conftest.c >&5
111c111
< configure:3439: gcc  -c -g -O2  conftest.c >&5
---
> configure:3439: gcc  -c -O2 -fPIC  conftest.c >&5
145c145
< configure:3627: g++ -c   conftest.cpp >&5
---
> configure:3627: g++ -c -O2 -fPIC  conftest.cpp >&5
207c207
< configure:4289: gcc -c -g -O2  conftest.c >&5
---
> configure:4289: gcc -c -O2 -fPIC  conftest.c >&5
209c209
< configure:4362: gcc -o conftest -g -O2   conftest.c  >&5
---
> configure:4362: gcc -o conftest -O2 -fPIC   conftest.c  >&5
215c215
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
219c219
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
223c223
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
227c227
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
231c231
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
235c235
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
239c239
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
243c243
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
247c247
< configure:4386: gcc -c -g -O2  conftest.c >&5
---
> configure:4386: gcc -c -O2 -fPIC  conftest.c >&5
251c251
< configure:4400: gcc -c -g -O2  conftest.c >&5
---
> configure:4400: gcc -c -O2 -fPIC  conftest.c >&5
261c261
< configure:4442: gcc -o conftest -g -O2   conftest.c -lz   >&5
---
> configure:4442: gcc -o conftest -O2 -fPIC   conftest.c -lz   >&5
265c265
< configure:4473: gcc -c -g -O2  conftest.c >&5
---
> configure:4473: gcc -c -O2 -fPIC  conftest.c >&5
275c275
< configure:4515: gcc -o conftest -g -O2   conftest.c -lcrypto  -lz  >&5
---
> configure:4515: gcc -o conftest -O2 -fPIC   conftest.c -lcrypto  -lz  >&5
279c279
< configure:4546: gcc -c -g -O2  conftest.c >&5
---
> configure:4546: gcc -c -O2 -fPIC  conftest.c >&5
289c289
< configure:4588: gcc -o conftest -g -O2   conftest.c -lexpat  -lcrypto -lz  >&5
---
> configure:4588: gcc -o conftest -O2 -fPIC   conftest.c -lexpat  -lcrypto -lz  >&5
304c304
< configure:4813: gcc -c -g -O2    conftest.c >&5
---
> configure:4813: gcc -c -O2 -fPIC    conftest.c >&5
308c308
< configure:4829: gcc -o conftest -g -O2     conftest.c -lexpat -lcrypto -lz  -lavcodec -lavutil   -lrt >&5
---
> configure:4829: gcc -o conftest -O2 -fPIC     conftest.c -lexpat -lcrypto -lz  -lavcodec -lavutil   -lrt >&5
314c314
< configure:4848: gcc -c -g -O2    conftest.c >&5
---
> configure:4848: gcc -c -O2 -fPIC    conftest.c >&5
318c318
< configure:4860: gcc -c -g -O2    conftest.c >&5
---
> configure:4860: gcc -c -O2 -fPIC    conftest.c >&5
322c322
< configure:4872: gcc -o conftest -g -O2     conftest.c -lexpat -lcrypto -lz  -lavcodec -lavutil   -lrt >&5
---
> configure:4872: gcc -o conftest -O2 -fPIC     conftest.c -lexpat -lcrypto -lz  -lavcodec -lavutil   -lrt >&5
326c326
< configure:4887: gcc -c -g -O2    conftest.c >&5
---
> configure:4887: gcc -c -O2 -fPIC    conftest.c >&5
330c330
< configure:4898: gcc -c -g -O2    conftest.c >&5
---
> configure:4898: gcc -c -O2 -fPIC    conftest.c >&5
334c334
< configure:4909: gcc -c -g -O2    conftest.c >&5
---
> configure:4909: gcc -c -O2 -fPIC    conftest.c >&5
338c338
< configure:4920: gcc -o conftest -g -O2     conftest.c -lexpat -lcrypto -lz  -lavcodec -lavutil   -lrt >&5
---
> configure:4920: gcc -o conftest -O2 -fPIC     conftest.c -lexpat -lcrypto -lz  -lavcodec -lavutil   -lrt >&5
342c342
< configure:4930: gcc -c -g -O2    conftest.c >&5
---
> configure:4930: gcc -c -O2 -fPIC    conftest.c >&5
344c344
< configure:4930: gcc -c -g -O2    conftest.c >&5
---
> configure:4930: gcc -c -O2 -fPIC    conftest.c >&5
391c391
< configure:4954: gcc -c -g -O2    conftest.c >&5
---
> configure:4954: gcc -c -O2 -fPIC    conftest.c >&5
395c395
< configure:4978: gcc -c -g -O2    conftest.c >&5
---
> configure:4978: gcc -c -O2 -fPIC    conftest.c >&5
399c399
< configure:4989: gcc -c -g -O2    conftest.c >&5
---
> configure:4989: gcc -c -O2 -fPIC    conftest.c >&5
403c403
< configure:5000: gcc -c -g -O2    conftest.c >&5
---
> configure:5000: gcc -c -O2 -fPIC    conftest.c >&5
407c407
< configure:5011: gcc -c -g -O2    conftest.c >&5
---
> configure:5011: gcc -c -O2 -fPIC    conftest.c >&5
411c411
< configure:5022: gcc -c -g -O2    conftest.c >&5
---
> configure:5022: gcc -c -O2 -fPIC    conftest.c >&5
445,446c445,446
< ac_cv_env_CFLAGS_set=
< ac_cv_env_CFLAGS_value=
---
> ac_cv_env_CFLAGS_set=set
> ac_cv_env_CFLAGS_value='-O2 -fPIC'
451,452c451,452
< ac_cv_env_CXXFLAGS_set=
< ac_cv_env_CXXFLAGS_value=
---
> ac_cv_env_CXXFLAGS_set=set
> ac_cv_env_CXXFLAGS_value='-O2 -fPIC'
531,532c531,532
< CFLAGS='-g -O2  '
< CFLAGS_OPT='-g -O2'
---
> CFLAGS='-O2 -fPIC  '
> CFLAGS_OPT='-O2 -fPIC'
536c536
< CXXFLAGS='-g -O2'
---
> CXXFLAGS='-O2 -fPIC'
 
Old 01-11-2015, 04:39 PM   #5
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,367

Rep: Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843
The libraries (libdriveio.so, libmmbd.so and libmakemkv.so) have -fPIC hard-coded in the Makefile (as they should) but I'm guessing there is some symbol overlap or something similarly odd with the main makemkv binary so it's probably easiest just to compile it without -fPIC. So I'll update the SlackBuild within a few days, since I believe it segfaults on -current even if it works fine on a stock 14.1 install.
 
Old 01-11-2015, 05:10 PM   #6
moesasji
Member
 
Registered: May 2008
Distribution: Slackware Current / OpenBSD
Posts: 322

Original Poster
Rep: Reputation: 104Reputation: 104
Quote:
Originally Posted by T3slider View Post
So I'll update the SlackBuild within a few days, since I believe it segfaults on -current even if it works fine on a stock 14.1 install.
I had tried it on a pretty clean current + multilib install before posting and there it indeed also segfaults.
 
Old 01-11-2015, 05:29 PM   #7
willysr
Senior Member
 
Registered: Jul 2004
Location: Jogja, Indonesia
Distribution: Slackware-Current
Posts: 4,661

Rep: Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784Reputation: 1784
T3slider:
if it's only a simple edit, just post the diff here and i will edit it directly in my branch
 
Old 01-11-2015, 06:29 PM   #8
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,367

Rep: Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843
Quote:
Originally Posted by willysr View Post
T3slider:
if it's only a simple edit, just post the diff here and i will edit it directly in my branch
Doesn't get much simpler.
Code:
diff --git a/makemkv.SlackBuild b/makemkv.SlackBuild
index 05c3fdb..3cc8f8f 100755
--- a/makemkv.SlackBuild
+++ b/makemkv.SlackBuild
@@ -24,7 +24,7 @@
 
 PRGNAM=makemkv
 VERSION=${VERSION:-1.9.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
 TAG=${TAG:-_SBo}
 
 if [ -z "$ARCH" ]; then
@@ -49,7 +49,7 @@ elif [ "$ARCH" = "i686" ]; then
   ARCHDIR=i386
   LIBDIRSUFFIX=""
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2 -fPIC"
+  SLKCFLAGS="-O2"
   ARCHDIR=amd64
   LIBDIRSUFFIX="64"
 else
Thanks, willysr.

[edit] On second thought, that should really be tested -- it could also be the O2 optimization that's breaking it. Not being able to reproduce the segfault here, I can't test it myself; if someone who *did* experience the crash could test the above patch and confirm if it works or not, that would be great. If it still doesn't work then CFLAGS/CXXFLAGS should just be scrapped entirely (for x86 and x86_64), which would look like this:
Code:
diff --git a/makemkv.SlackBuild b/makemkv.SlackBuild
index 05c3fdb..3d673bf 100755
--- a/makemkv.SlackBuild
+++ b/makemkv.SlackBuild
@@ -24,7 +24,7 @@
 
 PRGNAM=makemkv
 VERSION=${VERSION:-1.9.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
 TAG=${TAG:-_SBo}
 
 if [ -z "$ARCH" ]; then
@@ -41,19 +41,15 @@ PKG=$TMP/package-$PRGNAM
 OUTPUT=${OUTPUT:-/tmp}
 
 if [ "$ARCH" = "i486" ]; then
-  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
   ARCHDIR=i386
   LIBDIRSUFFIX=""
 elif [ "$ARCH" = "i686" ]; then
-  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
   ARCHDIR=i386
   LIBDIRSUFFIX=""
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2 -fPIC"
   ARCHDIR=amd64
   LIBDIRSUFFIX="64"
 else
-  SLKCFLAGS="-O2"
   ARCHDIR=i386
   LIBDIRSUFFIX=""
 fi
@@ -86,8 +82,6 @@ find -L . \
  \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
   -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
 
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
 ./configure \
   --prefix=/usr \
   --libdir=/usr/lib${LIBDIRSUFFIX} \

Last edited by T3slider; 01-11-2015 at 06:40 PM.
 
Old 01-12-2015, 03:10 AM   #9
fskmh
Member
 
Registered: Jun 2002
Location: South Africa
Distribution: Custom slackware64-current
Posts: 307

Rep: Reputation: 92
Quote:
Originally Posted by T3slider View Post
[edit] On second thought, that should really be tested -- it could also be the O2 optimization that's breaking it. Not being able to reproduce the segfault here, I can't test it myself; if someone who *did* experience the crash could test the above patch and confirm if it works or not, that would be great. If it still doesn't work then CFLAGS/CXXFLAGS should just be scrapped entirely (for x86 and x86_64), which would look like this:
I just edited the SlackBuild manually and removed -fPIC, so this is what I have now:

Code:
if [ "$ARCH" = "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
  ARCHDIR=i386
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
  SLKCFLAGS="-O2 -march=i686 -mtune=i686"
  ARCHDIR=i386
  LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
  SLKCFLAGS="-O2"
  ARCHDIR=amd64
  LIBDIRSUFFIX="64"
else
  SLKCFLAGS="-O2"
  ARCHDIR=i386
  LIBDIRSUFFIX=""
fi
 
Old 01-12-2015, 12:42 PM   #10
T3slider
Senior Member
 
Registered: Jul 2007
Distribution: Slackware64-14.1
Posts: 2,367

Rep: Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843Reputation: 843
Great, thanks. So that first patch from my last post should be sufficient.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
rdesktop segfaults in current cmyster Slackware 5 10-21-2013 10:19 PM
[SOLVED] 64-current 2010-08-27 - segfaults - zlib? no: libxml2 ponce Slackware 13 06-21-2011 11:18 AM
upgrading slackware64 13.1 multilib to slackware64 -current multilib Cultist Slackware 4 03-12-2011 09:04 AM
[SOLVED] Ash segfaults on second backspace 64-current GazL Slackware 15 04-02-2010 04:40 AM
I bricked my NAS? :( aptitude, apt-get, apt-cache segfaults immediately omegaworks Linux - Server 5 11-07-2009 08:21 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 05:35 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration