LinuxQuestions.org
Review your favorite Linux distribution.
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 08-04-2016, 02:04 AM   #16
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174

the 32bit static binary of 1.99.5 released seems to work only on a pure 64bit system, it doesn't work on a multilib system and neither on a 32bit system.

I suspect there's something screwy in the way the texmacs devs assemble the binary they redistribute that makes it segfault when it finds some 32bit stuff conflicting with what he has already compiled in statically.
 
1 members found this post helpful.
Old 08-04-2016, 08:52 AM   #17
twy
Member
 
Registered: Jun 2004
Distribution: Slackware64
Posts: 99

Original Poster
Rep: Reputation: Disabled
strace texmacs

Quote:
Originally Posted by Richard Cranium View Post
  1. So what is in 4.4.16 that wasn't in 4.4.14? (It's not that important, I am merely curious.)
  2. Did you try using strace on the texmacs binary?

Code:
/tmp/TeXmacs-1.99.5-10549M-i386-pc-linux-gnu $ export TEXMACS_PATH=/tmp/TeXmacs-1.99.5-10549M-i386-pc-linux-gnu
/tmp/TeXmacs-1.99.5-10549M-i386-pc-linux-gnu $ strace ./bin/texmacs
strace will print out a mind-boggling amount of stuff, but the last 100 lines or so of output may provide a clue when the segfault happens.
Here is "strace -ostrace.out texmacs" out file:
Code:
execve("/home/devel/texmacs-bin/texmacs-path/bin/texmacs", ["texmacs"], [/* 40 vars */]) = 0
brk(NULL)                               = 0x105c000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd74fd9f000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=372650, ...}) = 0
mmap(NULL, 372650, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd44000
close(3)                                = 0
open("/lib64/libtermcap.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\16\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=18436, ...}) = 0
mmap(NULL, 2108336, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd74f979000
mprotect(0x7fd74f97c000, 2093056, PROT_NONE) = 0
mmap(0x7fd74fb7b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fd74fb7b000
close(3)                                = 0
open("/lib64/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\r\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=18808, ...}) = 0
mmap(NULL, 2109680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd74f775000
mprotect(0x7fd74f778000, 2093056, PROT_NONE) = 0
mmap(0x7fd74f977000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fd74f977000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\10\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2076848, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd74fd43000
mmap(NULL, 3967456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fd74f3ac000
mprotect(0x7fd74f56c000, 2093056, PROT_NONE) = 0
mmap(0x7fd74f76b000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bf000) = 0x7fd74f76b000
mmap(0x7fd74f771000, 14816, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fd74f771000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd74fd42000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fd74fd41000
arch_prctl(ARCH_SET_FS, 0x7fd74fd42700) = 0
mprotect(0x7fd74f76b000, 16384, PROT_READ) = 0
mprotect(0x7fd74f977000, 4096, PROT_READ) = 0
mprotect(0x6f1000, 12288, PROT_READ)    = 0
mprotect(0x7fd74fda0000, 4096, PROT_READ) = 0
munmap(0x7fd74fd44000, 372650)          = 0
open("/dev/tty", O_RDWR|O_NONBLOCK)     = 3
close(3)                                = 0
brk(NULL)                               = 0x105c000
brk(0x105d000)                          = 0x105d000
open("/usr/lib64/locale/locale-archive", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
brk(0x105e000)                          = 0x105e000
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2997, ...}) = 0
brk(0x1060000)                          = 0x1060000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2997
brk(0x1061000)                          = 0x1061000
brk(0x1062000)                          = 0x1062000
read(3, "", 4096)                       = 0
close(3)                                = 0
open("/usr/lib64/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=361, ...}) = 0
mmap(NULL, 361, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd9e000
close(3)                                = 0
open("/usr/lib64/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib64/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=56095, ...}) = 0
read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096
brk(0x1063000)                          = 0x1063000
brk(0x1064000)                          = 0x1064000
read(3, "1002//\tJUS_I.B1.002//\nmodule\tJUS"..., 4096) = 4096
brk(0x1065000)                          = 0x1065000
brk(0x1066000)                          = 0x1066000
brk(0x1067000)                          = 0x1067000
brk(0x1068000)                          = 0x1068000
read(3, "ISO-IR-110//\t\tISO-8859-4//\nalias"..., 4096) = 4096
brk(0x1069000)                          = 0x1069000
brk(0x106a000)                          = 0x106a000
read(3, "\t\tISO-8859-14//\nalias\tISO_8859-1"..., 4096) = 4096
brk(0x106b000)                          = 0x106b000
brk(0x106c000)                          = 0x106c000
brk(0x106d000)                          = 0x106d000
brk(0x106e000)                          = 0x106e000
read(3, "IC-ES//\nalias\tEBCDICES//\t\tEBCDIC"..., 4096) = 4096
brk(0x106f000)                          = 0x106f000
brk(0x1070000)                          = 0x1070000
brk(0x1071000)                          = 0x1071000
read(3, "DIC-CP-ES//\t\tIBM284//\nalias\tCSIB"..., 4096) = 4096
brk(0x1072000)                          = 0x1072000
brk(0x1073000)                          = 0x1073000
brk(0x1074000)                          = 0x1074000
brk(0x1075000)                          = 0x1075000
read(3, "//\nalias\tCSIBM864//\t\tIBM864//\nal"..., 4096) = 4096
brk(0x1076000)                          = 0x1076000
brk(0x1077000)                          = 0x1077000
brk(0x1078000)                          = 0x1078000
read(3, "BM939//\nmodule\tIBM939//\t\tINTERNA"..., 4096) = 4096
brk(0x1079000)                          = 0x1079000
brk(0x107a000)                          = 0x107a000
brk(0x107b000)                          = 0x107b000
brk(0x107c000)                          = 0x107c000
read(3, "EUC-CN//\nalias\tCN-GB//\t\t\tEUC-CN/"..., 4096) = 4096
brk(0x107d000)                          = 0x107d000
brk(0x107e000)                          = 0x107e000
brk(0x107f000)                          = 0x107f000
read(3, "T//\nmodule\tISO-2022-CN-EXT//\tINT"..., 4096) = 4096
brk(0x1080000)                          = 0x1080000
brk(0x1081000)                          = 0x1081000
brk(0x1082000)                          = 0x1082000
read(3, "//\t\tISO_5428//\nalias\tISO_5428:19"..., 4096) = 4096
brk(0x1083000)                          = 0x1083000
brk(0x1084000)                          = 0x1084000
brk(0x1085000)                          = 0x1085000
read(3, "CII-8\t1\n\n#\tfrom\t\t\tto\t\t\tmodule\t\tc"..., 4096) = 4096
brk(0x1086000)                          = 0x1086000
brk(0x1087000)                          = 0x1087000
brk(0x1088000)                          = 0x1088000
read(3, "\tfrom\t\t\tto\t\t\tmodule\t\tcost\nalias\t"..., 4096) = 4096
brk(0x1089000)                          = 0x1089000
brk(0x108a000)                          = 0x108a000
brk(0x108b000)                          = 0x108b000
read(3, "712//\t\tINTERNAL\t\tIBM12712\t\t1\nmod"..., 4096) = 2847
brk(0x108c000)                          = 0x108c000
brk(0x108d000)                          = 0x108d000
read(3, "", 4096)                       = 0
close(3)                                = 0
open("/usr/lib64/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
mmap(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd9d000
close(3)                                = 0
open("/usr/lib64/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
mmap(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd9c000
close(3)                                = 0
brk(0x108e000)                          = 0x108e000
open("/usr/lib64/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
mmap(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd9b000
close(3)                                = 0
open("/usr/lib64/locale/en_US.UTF-8/LC_NAME", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_NAME", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
mmap(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd9a000
close(3)                                = 0
open("/usr/lib64/locale/en_US.UTF-8/LC_PAPER", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_PAPER", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
mmap(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd99000
close(3)                                = 0
brk(0x108f000)                          = 0x108f000
open("/usr/lib64/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_MESSAGES", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3)                                = 0
open("/usr/lib64/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=57, ...}) = 0
mmap(NULL, 57, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd98000
close(3)                                = 0
open("/usr/lib64/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_MONETARY", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0
mmap(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd97000
close(3)                                = 0
brk(0x1090000)                          = 0x1090000
open("/usr/lib64/locale/en_US.UTF-8/LC_TIME", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_TIME", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2454, ...}) = 0
mmap(NULL, 2454, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd96000
close(3)                                = 0
open("/usr/lib64/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_NUMERIC", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0
mmap(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd95000
close(3)                                = 0
brk(0x1091000)                          = 0x1091000
open("/usr/lib64/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=317692, ...}) = 0
mmap(NULL, 317692, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fd47000
close(3)                                = 0
brk(0x1092000)                          = 0x1092000
getuid()                                = 1001
getgid()                                = 100
geteuid()                               = 1001
getegid()                               = 100
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
brk(0x1093000)                          = 0x1093000
sysinfo({uptime=59997, loads=[37920, 23904, 23712], totalram=8417202176, freeram=1285373952, sharedram=51552256, bufferram=833581056, totalswap=34393288704, freeswap=34393288704, procs=471, totalhigh=0, freehigh=0, mem_unit=1}) = 0
brk(0x1094000)                          = 0x1094000
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigaction(SIGQUIT, {SIG_IGN, [], SA_RESTORER, 0x7fd74f3e1480}, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, 8) = 0
uname({sysname="Linux", nodename="xeon", ...}) = 0
brk(0x1095000)                          = 0x1095000
brk(0x1096000)                          = 0x1096000
brk(0x1097000)                          = 0x1097000
brk(0x1098000)                          = 0x1098000
stat("/home/devel", {st_mode=S_IFDIR|0711, st_size=4096, ...}) = 0
stat(".", {st_mode=S_IFDIR|0711, st_size=4096, ...}) = 0
getpid()                                = 24180
getppid()                               = 24178
brk(0x1099000)                          = 0x1099000
brk(0x109a000)                          = 0x109a000
brk(0x109b000)                          = 0x109b000
getpgrp()                               = 24178
rt_sigaction(SIGCHLD, {0x447af0, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, 8) = 0
getrlimit(RLIMIT_NPROC, {rlim_cur=31804, rlim_max=31804}) = 0
brk(0x109c000)                          = 0x109c000
brk(0x109d000)                          = 0x109d000
open("/usr/lib64/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/locale/en_US.utf8/LC_COLLATE", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1243766, ...}) = 0
mmap(NULL, 1243766, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fd74fc11000
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/home/devel/texmacs-bin/texmacs-path/bin/texmacs", O_RDONLY) = 3
ioctl(3, TCGETS, 0x7ffc40278280)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "#!/bin/sh\n\nprefix=\"/usr/local\"\ne"..., 80) = 80
lseek(3, 0, SEEK_SET)                   = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=4*1024}) = 0
fcntl(255, F_GETFD)                     = -1 EBADF (Bad file descriptor)
dup2(3, 255)                            = 255
close(3)                                = 0
fcntl(255, F_SETFD, FD_CLOEXEC)         = 0
fcntl(255, F_GETFL)                     = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(255, {st_mode=S_IFREG|0755, st_size=1042, ...}) = 0
lseek(255, 0, SEEK_CUR)                 = 0
brk(0x109e000)                          = 0x109e000
read(255, "#!/bin/sh\n\nprefix=\"/usr/local\"\ne"..., 1042) = 1042
brk(0x109f000)                          = 0x109f000
brk(0x10a0000)                          = 0x10a0000
stat("/usr/bin/cygwin1.dll", 0x7ffc40277eb0) = -1 ENOENT (No such file or directory)
brk(0x10a1000)                          = 0x10a1000
pipe([3, 4])                            = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0
lseek(255, -280, SEEK_CUR)              = 762
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fd74fd429d0) = 24181
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGCHLD, {0x447af0, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, {0x447af0, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, 8) = 0
close(4)                                = 0
read(3, "", 128)                        = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=24181, si_uid=1001, si_status=1, si_utime=0, si_stime=0} ---
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], WNOHANG, NULL) = 24181
wait4(-1, 0x7ffc40277858, WNOHANG, NULL) = -1 ECHILD (No child processes)
rt_sigreturn({mask=[]})                 = 0
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGINT, {0x444aa0, [], SA_RESTORER, 0x7fd74f3e1480}, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, 8) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, {0x444aa0, [], SA_RESTORER, 0x7fd74f3e1480}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
read(255, "if [ ! \"${DISTRIBUTOR_ID#*Ubuntu"..., 1042) = 280
open("/dev/null", O_RDONLY)             = 3
fcntl(0, F_GETFD)                       = 0
fcntl(0, F_DUPFD, 10)                   = 10
fcntl(0, F_GETFD)                       = 0
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
dup2(3, 0)                              = 0
close(3)                                = 0
stat(".", {st_mode=S_IFDIR|0711, st_size=4096, ...}) = 0
stat("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", {st_mode=S_IFREG|0755, st_size=29201644, ...}) = 0
stat("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", {st_mode=S_IFREG|0755, st_size=29201644, ...}) = 0
geteuid()                               = 1001
getegid()                               = 100
getuid()                                = 1001
getgid()                                = 100
access("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", X_OK) = 0
stat("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", {st_mode=S_IFREG|0755, st_size=29201644, ...}) = 0
geteuid()                               = 1001
getegid()                               = 100
getuid()                                = 1001
getgid()                                = 100
access("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", R_OK) = 0
stat("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", {st_mode=S_IFREG|0755, st_size=29201644, ...}) = 0
stat("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", {st_mode=S_IFREG|0755, st_size=29201644, ...}) = 0
geteuid()                               = 1001
getegid()                               = 100
getuid()                                = 1001
getgid()                                = 100
access("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", X_OK) = 0
stat("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", {st_mode=S_IFREG|0755, st_size=29201644, ...}) = 0
geteuid()                               = 1001
getegid()                               = 100
getuid()                                = 1001
getgid()                                = 100
access("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", R_OK) = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], SA_RESTORER, 0x7fd74f3e1480}, {SIG_IGN, [], SA_RESTORER, 0x7fd74f3e1480}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, {0x447af0, [], SA_RESTORER|SA_RESTART, 0x7fd74f3e1480}, 8) = 0
execve("/home/devel/texmacs-bin/texmacs-path/bin/texmacs.bin", ["texmacs.bin"], [/* 39 vars */]) = 0
uname({sysname="Linux", nodename="xeon", ...}) = 0
brk(NULL)                               = 0xa303000
brk(0xa303d00)                          = 0xa303d00
set_thread_area({entry_number:-1, base_addr:0xa303860, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 (entry_number:12)
set_tid_address(0xa3038c8)              = 24180
set_robust_list(0xa3038d0, 12)          = 0
futex(0xffb8e248, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0xffb8e248, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, ffb8e258) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x94c7680, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x94c75a0, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sysname="Linux", nodename="xeon", ...}) = 0
brk(0xa324d00)                          = 0xa324d00
brk(0xa325000)                          = 0xa325000
gettimeofday({1470314434, 465200}, NULL) = 0
gettimeofday({1470314434, 465574}, NULL) = 0
futex(0x9c272e8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2997, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf772f000
read(3, "# Locale name alias data base.\n#"..., 4096) = 2997
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf772f000, 4096)                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=361, ...}) = 0
mmap2(NULL, 361, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf772f000
close(3)                                = 0
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=56095, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf772e000
read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096
read(3, "1002//\tJUS_I.B1.002//\nmodule\tJUS"..., 4096) = 4096
read(3, "ISO-IR-110//\t\tISO-8859-4//\nalias"..., 4096) = 4096
read(3, "\t\tISO-8859-14//\nalias\tISO_8859-1"..., 4096) = 4096
read(3, "IC-ES//\nalias\tEBCDICES//\t\tEBCDIC"..., 4096) = 4096
read(3, "DIC-CP-ES//\t\tIBM284//\nalias\tCSIB"..., 4096) = 4096
brk(0xa346000)                          = 0xa346000
read(3, "//\nalias\tCSIBM864//\t\tIBM864//\nal"..., 4096) = 4096
read(3, "BM939//\nmodule\tIBM939//\t\tINTERNA"..., 4096) = 4096
read(3, "EUC-CN//\nalias\tCN-GB//\t\t\tEUC-CN/"..., 4096) = 4096
read(3, "T//\nmodule\tISO-2022-CN-EXT//\tINT"..., 4096) = 4096
read(3, "//\t\tISO_5428//\nalias\tISO_5428:19"..., 4096) = 4096
read(3, "CII-8\t1\n\n#\tfrom\t\t\tto\t\t\tmodule\t\tc"..., 4096) = 4096
read(3, "\tfrom\t\t\tto\t\t\tmodule\t\tcost\nalias\t"..., 4096) = 4096
read(3, "712//\t\tINTERNAL\t\tIBM12712\t\t1\nmod"..., 4096) = 2847
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0xf772e000, 4096)                = 0
futex(0x9c3c93c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0
mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf772e000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf772d000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0
mmap2(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf772c000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0
mmap2(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf772b000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0
mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf772a000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3)                                = 0
open("/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=57, ...}) = 0
mmap2(NULL, 57, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7729000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0
mmap2(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7728000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2454, ...}) = 0
mmap2(NULL, 2454, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf7727000
close(3)                                = 0
open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=317692, ...}) = 0
mmap2(NULL, 317692, PROT_READ, MAP_PRIVATE, 3, 0) = 0xf76d9000
close(3)                                = 0
clock_getres(CLOCK_MONOTONIC, {0, 1})   = 0
pipe2([3, 4], O_NONBLOCK|O_CLOEXEC)     = 0
open("/usr/lib/gconv/UTF-16.so", O_RDONLY) = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\4\0\0004\0\0\0"..., 512) = 512
fstat64(5, {st_mode=S_IFREG|0755, st_size=15656, ...}) = 0
mmap2(NULL, 16432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xf76d4000
mmap2(0xf76d7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x2000) = 0xf76d7000
close(5)                                = 0
open("/home/devel/texmacs-bin/texmacs-path/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/devel/texmacs-bin/texmacs-path/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY)      = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=372650, ...}) = 0
mmap2(NULL, 372650, PROT_READ, MAP_PRIVATE, 5, 0) = 0xf7679000
close(5)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY)        = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\210\1\0004\0\0\0"..., 512) = 512
fstat64(5, {st_mode=S_IFREG|0755, st_size=1848296, ...}) = 0
mmap2(NULL, 1669660, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xf74e1000
mprotect(0xf7672000, 4096, PROT_NONE)   = 0
mmap2(0xf7673000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x191000) = 0xf7673000
mmap2(0xf7676000, 10780, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xf7676000
close(5)                                = 0
open("/home/devel/texmacs-bin/texmacs-path/lib/ld-linux.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/ld-linux.so.2", O_RDONLY)    = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\n\0\0004\0\0\0"..., 512) = 512
fstat64(5, {st_mode=S_IFREG|0755, st_size=170904, ...}) = 0
mmap2(NULL, 157956, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xf74ba000
mmap2(0xf74df000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x24000) = 0xf74df000
close(5)                                = 0
mprotect(0xf74df000, 4096, PROT_READ)   = 0
mprotect(0xf7673000, 8192, PROT_READ)   = 0
mprotect(0xf76d7000, 4096, PROT_READ)   = 0
munmap(0xf7679000, 372650)              = 0
mmap2(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf73ba000
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV +++
It seems to fail on mmap2. If anyone has insight on this failure, please reply. Thanks.
 
Old 08-04-2016, 09:29 AM   #18
twy
Member
 
Registered: Jun 2004
Distribution: Slackware64
Posts: 99

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by Richard Cranium View Post
  1. So what is in 4.4.16 that wasn't in 4.4.14? (It's not that important, I am merely curious.)
  2. Did you try using strace on the texmacs binary?

On 4.4.16: I am compiling my kernel myself anyway, and -current has moved to 4.4.16 without even upgrading glibc, so figure that 4.4.16 merely fixes some bugs and is a harmless upgrade. I was fairly careful to check that important options in the -current config for 4.4.16 matched with my config as I was going through "make menuconfig". Then, I even decided to look through the .config files themselves, and found CONFIG_FRAME_VECTOR=y that I am still trying to understand what it is supposed to do. There is more on this in other messages in this thread.

Code:
/tmp/TeXmacs-1.99.5-10549M-i386-pc-linux-gnu $ export TEXMACS_PATH=/tmp/TeXmacs-1.99.5-10549M-i386-pc-linux-gnu
/tmp/TeXmacs-1.99.5-10549M-i386-pc-linux-gnu $ strace ./bin/texmacs
strace will print out a mind-boggling amount of stuff, but the last 100 lines or so of output may provide a clue when the segfault happens.
On the strace: I have posted strace output in another message in this thread. texmacs appears to SIGSEGV after calling mmap2. I do not understand why it segfaults, but perhaps it is trying to access forbidden memory.

Also, do this to install texmacs
Code:
cd
mkdir texmacs-bin
cd texmacs-bin
tar xvf ~/downloads/TeXmacs-1.99.5-x11-i386-pc-linux-gnu.tar.gz
chown -R devel:users TeXmacs-1.99.5-10549M-i386-pc-linux-gnu
ln -s TeXmacs-1.99.5-10549M-i386-pc-linux-gnu texmacs-path
Then, I edit .profile to have lines
Code:
# TeXmacs binary
export TEXMACS_PATH=/home/devel/texmacs-bin/texmacs-path
export PATH=$TEXMACS_PATH/bin:$PATH
Then, I logout out and back in.
I can run "texmacs", which is found on the path in the right place.

Running it gives "Segmentation fault", and it never even makes it far enough to generate a ~/.TeXmacs configuration.
 
Old 08-04-2016, 10:14 AM   #19
twy
Member
 
Registered: Jun 2004
Distribution: Slackware64
Posts: 99

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by bassmadrigal View Post
Well, I'm not familiar enough with gdb and backtrace to be of any help there. That was 55020's suggestion. But if texmacs was compiled without debug info, gdb may not provide any insight.

But, what might provide some insight on your issue, since Richard Cranium was able to use it fine on his 14.2 system is to find out what your system is currently running and how you got it there. Based on your thread title, it is easy to assume you're using 14.2. From there, I'm also assuming this is an upgrade from 14.1, right? How did you upgrade from 14.1 to 14.2? If you used slackpkg, do you have anything in your blacklist? Beyond that, do you have programs that were compiled on 14.1 that are still installed with 14.2?

I just tried this on a headless VM running 14.2 64bit (no multilib) and since I don't have X running, it fails, but it seems to get further than yours. So, it seems to indicate it is just an issue with something on your computer. Since it works with a stock 14.2 install, the kernel should not cause your problem.

Code:
jbhansen@desktop-14_2-prep:~/TeXmacs-1.99.5-10549M-i386-pc-linux-gnu$ TEXMACS_PATH=. sh bin/texmacs
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 70: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 78: saw unknown, expected number
texmacs.bin: cannot connect to X server :0
If you feel further checking with an X session is warranted, I can do that tomorrow after work (it's getting late here and my wife is patiently waiting for me to get to bed). I can also try and spin up a VM running multilib, but I doubt that would make any difference with this.

Have you tried a VM with a fresh install to see if your issues occur there?

I upgraded from slackware64 14.1 to 14.2, including multilib, by first installing a custom-compiled 4.4.16 kernel from the source in -current, but now am using source from kernel.org for 4.4.16. I installed the kernel as described in a prior message in this thread. I booted 4.4.16 while still running slackware64 14.1, and since it worked, I decided it was safe to continue the upgrade to slackware 14.2. I upgraded packages according to instructions substantially the same as in UPGRADE.TXT and according to my notes based on alienbob's older instructions. I have a full rsync of slackware repos for current, 14.2, 14.1 for 64-bit and 32-bit on my hard drive, and I pointed slackpkg to use the slackware64-14.2 repo on my hard drive to begin the upgrade. I also have a full lftp mirror of the multilib repos for 14.1 and 14.2. So, I have all packages locally as I work on upgrading.

I blacklisted:
Code:
#kernel-firmware
kernel-generic
kernel-generic-smp
#kernel-headers
kernel-huge
kernel-huge-smp
kernel-modules
kernel-modules-smp
kernel-source

#
# aaa_elflibs can't be updated.
#
#aaa_elflibs

# You can blacklist using regular expressions.
#
# Don't use *full* regex here, because all of the following 
# will be checked for the regex: series, name, version, arch, 
# build and fullname.
#
# This one will blacklist all SBo packages:
#[0-9]+_SBo
[0-9]+alien
[0-9]+compat32

# after release upgrade blacklist these
gcc
gcc-g++
gcc-gfortran
gcc-gnat
gcc-java
gcc-objc
glibc
glibc-i18n
glibc-profile
glibc-solibs
#glibc-zoneinfo
The first step was to upgrade onto the new multilib gcc and glibc packages for 14.2, according the instructions, using "upgradepkg" from within my mirror of 14.2 multilib repo. This worked fine and I was able to continue running and upgrading. I run "slackpkg update", and upgraded slackpkg itself first, then
Code:
slackpkg install-new
slackpkg upgrade-all
slackpkg clean-system
I manually handled .new files.

I rebooted and rebult my kernel using upgraded gcc, and have since done a full recompile of the kernel from fresh decompressed sources on the new gcc. I rebuilt my initrd and reran lilo. I rebooted and uninstalled and installed nvidia driver 340.96, reinstalled libvdpau, and rebooted. Basically, I reinstall the kernel and video drivers after the upgrade to further refresh them on the new gcc and libraries, to make sure they match up.

Some SBo packages were upgrade because they became part of slackware, but I now blacklist SBo packages again. All of my hardware works again as before, including hw sensors in ksysguard for cpu and memory temps and fan speeds, and voltages. My audio works, the same as before, mostly... I still execute the rc.alsa and not the rc.pulseaudio... I have custom scripts and custom .asoundrc to change between HDMI sound on TV or SPDIF sound to a stereo that worked well for many years and still works. Everything works well, just this texmacs binary. But it concerns me, because texmacs is an important application for me.

I upgraded my multilib packages, partly using my scripting
Code:
#!/bin/bash
# Upgrade installed compat32 packages from 32-bit slackware-current packages.
#
# The default is to do a dry run that doesn't do anything.
# Pass --go on the command line to do the real stuff.
# Still, nothing happens unless you okay it at prompts that show pending commands.
#
# For each installed pkg *-compat32-* in /var/log/packages:
#  Get installed pkg info.
#  Find current pkgname in /home/sysop/mirror/slackware32/
#   Get current pkg info.
#   Get pkgset directory letter/name.
#   If version or build is different:
#   Prompt to ask to upgrade. If yes:
#    convertpkg-compat32 on current pkgname.
#    upgradepkg on the resulting /tmp/pkgname
#    remove pkg in /root/packages-multilib/<set>-compat32/pkgfile
#    mv /tmp/pkgfile /root/packages-multilib/<set>-compat32/

ARCH=${ARCH:-$(uname -m)}

# Location to find 32-bit slackware package set directories <set>/
MIRROR32=/home/sysop/mirror/slackware32-14.2/slackware-14.2/slackware
# Name of MIRROR32 slackware release
MIRROR32_NAME="slackware 14.2"
# Location to store 32-bit slackware compat32 package set directories <set>-compat32/
MULTILIB=/root/packages-multilib/compat32
# Warning: spaces in path/filenames would cause problems with the CMD variables below

# Collect package name/filename of all packages under $MIRROR32 into associative array CURRENTPKG:
#  CURRENTPKG[<package name>]=<./set/filename>
# Used later to find slackware-current package filename associated with a package name.
echo "Collecting slackware mirror package information..."
declare -A CURRENTPKG
for i in $( cd $MIRROR32 && find . ../patches | sort -r | grep ".*\.t[xg]z$" ) ; do
 PKGFILE=$( basename $i )
 PKGNAME=$(echo $PKGFILE | rev | cut -f4- -d- | rev)
 CURRENTPKG[${PKGNAME}]=${i} 
 #echo "PKGFILE=$PKGFILE"
 #echo "PKGNAME=$PKGNAME"
 #echo "${PKGNAME}=${CURRENTPKG[${PKGNAME}]}"
done

echo "Searching for upgrades..."
# For each installed compat32 package, look for new current version and upgrade
for i in /var/log/packages/*-compat32-* ; do
 # Collect info about installed compat32 package
 PKGFILECOMPAT=$(basename ${i})
 PKGNAME=$(echo ${PKGFILECOMPAT} | rev | cut -f5- -d- | rev)
 PKGVERSION=$(echo ${PKGFILECOMPAT} | rev | cut -f3 -d- | rev)
#PKGBUILD=$(echo ${PKGFILECOMPAT} | rev | cut -f1 -d- | cut -f2- -d. | rev)
 PKGBUILD=$(echo ${PKGFILECOMPAT} | rev | cut -f1 -d- | rev)
 # Collect info about 32-bit slackware-current package
 if [ -z ${CURRENTPKG[${PKGNAME}]} ] ; then
  echo
  echo "Package: ${PKGNAME}, is NOT in ${MIRROR32_NAME}; unable to find upgrade."
  echo " Installed: ${PKGFILECOMPAT}"
  echo " This package may have been installed special, or it has been removed from slackware-current."
 else
  CURRENTPKGFILE=$(basename ${CURRENTPKG[${PKGNAME}]})
  CURRENTPKGNAME=$(echo ${CURRENTPKGFILE} | rev | cut -f4- -d- | cut -f1 -d/ | rev)
  CURRENTPKGVERSION=$(echo ${CURRENTPKGFILE} | rev | cut -f3 -d- | rev)
  CURRENTPKGBUILD=$(echo ${CURRENTPKGFILE} | rev | cut -f1 -d- | cut -f2- -d. | rev)
  CURRENTPKGSET=$(echo ${CURRENTPKG[${PKGNAME}]} | cut -f2 -d/ )
  if [[ (${PKGVERSION} != ${CURRENTPKGVERSION}) || (${PKGBUILD} != "${CURRENTPKGBUILD}compat32") ]] ; then
   # Package upgrade is available
   echo
   echo "Package: ${PKGNAME}, available in ${MIRROR32_NAME}."
   echo " Installed: ${PKGFILECOMPAT}"
   echo " Available:          ${CURRENTPKGFILE}"
   echo -n "Upgrade to available version? (y/n)"
   read -n 1 ANSWER
   echo
   if [[ ${ANSWER} = "y" ]] ; then
    # Prepare upgrade commands
    CMDCONVERT="convertpkg-compat32 -i ${MIRROR32}/${CURRENTPKG[${PKGNAME}]}"
    CONVERTPKGFILE="${CURRENTPKGNAME}-compat32-${CURRENTPKGVERSION}-${ARCH}-${CURRENTPKGBUILD}compat32.txz"
    CMDMKDIR="mkdir -p ${MULTILIB}/${CURRENTPKGSET}-compat32/"
    CMDMV="mv /tmp/${CONVERTPKGFILE} ${MULTILIB}/${CURRENTPKGSET}-compat32/"
    CMDRM="rm -f ${MULTILIB}/${CURRENTPKGSET}-compat32/${PKGFILECOMPAT}.txz"
    CMDUPGRADE="upgradepkg ${MULTILIB}/${CURRENTPKGSET}-compat32/${CONVERTPKGFILE}"
    # Get permission to run upgrade commands
    if [[ $1 = "--go" ]] ; then
     echo "Performing upgrade... (warning: check pending commands before proceeding)"
     echo "Pending: ${CMDCONVERT}"
     echo "Pending: ${CMDMKDIR}"
     echo "Pending: ${CMDMV}"
     echo "Pending: ${CMDRM}"
     echo "Pending: ${CMDUPGRADE}"
     echo -n "Perform pending commands? (y/n)"
     read -n 1 ANSWER
     echo
     if [[ ${ANSWER} = "y" ]] ; then
      ${CMDCONVERT}
      ${CMDMKDIR}
      ${CMDMV}
      ${CMDRM}
      ${CMDUPGRADE}
      echo ${CMDMV}
      echo ${CMDRM}
     else
      echo "Upgrade of package aborted."
      echo -n "Continue? (y/n)"
      read -n 1 ANSWER
      echo
      if [[ ${ANSWER} != "y" ]] ; then exit ; fi
     fi
    else
     echo "Performing upgrade... dry run, echoing commands only (use --go to perform real upgrade)"
     echo "Dry: ${CMDCONVERT}"
     echo "Dry: ${CMDMKDIR}"
     echo "Dry: ${CMDMV}"
     echo "Dry: ${CMDRM}"
     echo "Dry: ${CMDUPGRADE}"
     echo -n "Continue? (y/n)"
     read -n 1 ANSWER
     echo
     if [[ ${ANSWER} != "y" ]] ; then exit ; fi
    fi
   fi
   # Upgrade done
  else
   # Package is up-to-date
   echo "Package: ${PKGNAME}, is up-to-date."
  fi
 fi
done
But, I manually ran "upgradepkg --install-new" on all packages in the multilib 14.2 repo, to make sure I got everything. I've manually looked through /var/log/packages to try to see if any packages look very old or where not upgraded. Using my script above, I can usually upgrade the multilib packages, or even add more multilib packages and upgrade them. I pulls packages from the 32-bit release and packages them using the convertpkg-compat32 tool. Overall, I looked a everything. I run an 8-disk mdadm raid6 with luks and lmv on top, and all of that works on 14.2 without requiring any special edits of the initrd or anything else - I checked that the initrd-tree is smart enough to copy the mdadm.conf file and use it to allow udev to incrementally build the array, which is something I used to have to hack slighly to make it do. The upgrade was mostly straightforward and supported my configuration well.

I'm not sure what other details to provide, but the upgrade process is technical and I have given the main details now.
 
Old 08-04-2016, 12:00 PM   #20
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656Reputation: 6656
Thanks for the in-depth info on the upgrade. Everything looks relatively good (although, when running upgradepkg with the multilib stuff, I would personally add --reinstall to your command in case any of the version/build numbers happened to stay the same between 14.1 and 14.2 (hopefully they wouldn't), but that is likely just a personal preference in this situation and not the cause of your problem). Am I to understand that you removed your old SBo packages that were compiled with 14.1?

But, based on ponce's post above, it looks like this could be related to multilib. I'll have to wait to get home and I can try to set up a VM to check his observations, but he's a pretty smart guy (one of the admins for SBo and quite the helpful guy on the forum and SBo mailing lists), so I don't expect to find anything different from his results. Would you be willing, as a possibly temporary test, to remove the compat32 packages and revert the multilib packages to the pure 64bit Slackware packages to see if this fixes your seg fault?
 
Old 08-04-2016, 12:25 PM   #21
twy
Member
 
Registered: Jun 2004
Distribution: Slackware64
Posts: 99

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by ponce View Post
the 32bit static binary of 1.99.5 released seems to work only on a pure 64bit system, it doesn't work on a multilib system and neither on a 32bit system.

I suspect there's something screwy in the way the texmacs devs assemble the binary they redistribute that makes it segfault when it finds some 32bit stuff conflicting with what he has already compiled in statically.
ponce,

Thanks for testing that (I'm not really setup here to test much), and providing your findings that it runs on a pure 64-bit slackware64 14.2. So, if I really must run that binary texmacs, I could uninstall the multilib gcc and glibc and go back to the standard pure 64-bit slackware64. I may eventually stop using multilib and I have to look at what I am still using it for, if anything. I was using it for wine and running foobar2000 in wine, but not very often and I could probably do without it.

It could be that it is a screwy binary, because I can run DOOM3 doom.x86

Code:
file doom.x86
doom.x86: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux.so.2, stripped

ldd doom.x86 
        linux-gate.so.1 (0xf77ed000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xf7772000)
        libdl.so.2 => /lib/libdl.so.2 (0xf776d000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xf762a000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xf7618000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf74a8000)
        libm.so.6 => /lib/libm.so.6 (0xf7454000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xf7439000)
        libc.so.6 => /lib/libc.so.6 (0xf72a1000)
        /lib/ld-linux.so.2 (0x565b5000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0xf727f000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xf727b000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xf7275000)
in OpenGL with sound. So, I know 32-bit programs can run on my setup.

I like every program to work on my setup, so this texmacs problem got me worried, but you provide results that are a workaround - dropping the multilib if I really need to run that texmacs binary.
 
Old 08-04-2016, 01:02 PM   #22
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
if you are really interested in solving this, IMHO, you should report the segfault to the texmacs devs in their mailing list

http://lists.texmacs.org/wws/info/texmacs-users

and follow their indications on debugging it.
 
  


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
Slackware64 14.2 Perl segfaults netfoot Slackware 14 11-11-2016 11:57 AM
[SOLVED] texmacs segfaults in slackware64 14.2 twy Slackware 13 08-27-2016 02:27 AM
[SOLVED] wireshark-1.10.0 segfaults on Slackware64 tolip Linux - Newbie 15 07-07-2013 03:53 AM
Mutt Segfaults on Slackware64 13.1 tpreitzel Slackware 4 08-28-2010 06:41 AM
Slackware64 madplay segfaults disturbed1 Slackware 3 09-24-2009 05:46 AM

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

All times are GMT -5. The time now is 03:19 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