LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   makemkv immediately segfaults on both 14.1 and current (multilib) (https://www.linuxquestions.org/questions/slackware-14/makemkv-immediately-segfaults-on-both-14-1-and-current-multilib-4175530675/)

moesasji 01-11-2015 06:00 AM

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)


T3slider 01-11-2015 12:06 PM

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?

fskmh 01-11-2015 12:59 PM

@T3slider

Cheers, that fixed the problem for me.

moesasji 01-11-2015 04:07 PM

@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'


T3slider 01-11-2015 04:39 PM

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.

moesasji 01-11-2015 05:10 PM

Quote:

Originally Posted by T3slider (Post 5299334)
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.

willysr 01-11-2015 05:29 PM

T3slider:
if it's only a simple edit, just post the diff here and i will edit it directly in my branch

T3slider 01-11-2015 06:29 PM

Quote:

Originally Posted by willysr (Post 5299366)
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} \


fskmh 01-12-2015 03:10 AM

Quote:

Originally Posted by T3slider (Post 5299392)
[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


T3slider 01-12-2015 12:42 PM

Great, thanks. So that first patch from my last post should be sufficient.


All times are GMT -5. The time now is 09:03 PM.