You are not logged in.

#1 2013-07-04 04:43:13

alexis_evo
Member
Registered: 2013-07-04
Posts: 33

[Solved] pcsx2 segfaults on run, can't build from ABS or AUR (x86_64)

pcsx2 1.0.0-5 from multilib segfaults immediately after running the command.

[alexis@cuddles ~]$ pcsx2
Segmentation fault (core dumped)

Trying to compile with ABS produces this:

[alexis@cuddles pcsx2]$ makepkg -s
==> Making package: pcsx2 1.0.0-5 (Wed Jul  3 22:29:01 MDT 2013)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Installing missing dependencies...
resolving dependencies...
looking for inter-conflicts...
:: lib32-mesa-libgl and lib32-catalyst-utils are in conflict (lib32-libgl). Remove lib32-catalyst-utils? [y/N]

I'm pretty sure (but not positive) that lib32-catalyst-utils should be providing lib32-libgl. If I patch the PKGBUILD to remove the dependency on lib32-mesa-libgl (might be a bad idea, but it doesn't seem to be causing the issue), it fails when linking, producing thousands of lines like:

/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_tree_view_scroll_to_cell'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_widget_is_composited'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_widget_set_size_request'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_notebook_set_current_page'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_text_buffer_place_cursor'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_editable_delete_selection'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_text_iter_begins_tag'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_tree_view_new_with_model'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_entry_get_text'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_editable_get_position'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_toggle_button_set_active'
/usr/lib32/libwx_gtk2u_core-2.8.so: undefined reference to `gtk_toolbar_remove_space'
collect2: error: ld returned 1 exit status
make[2]: *** [pcsx2/pcsx2] Error 1
make[1]: *** [pcsx2/CMakeFiles/pcsx2.dir/all] Error 2
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

gtk packages I have installed:

[alexis@cuddles pcsx2]$ sudo pacman -Q | grep gtk
gtk-engines 2.21.0-1
gtk-sharp-2 2.12.11-1
gtk-update-icon-cache 2.24.19-1
gtk2 2.24.19-1
gtk3 3.8.2-1
gtkmm 2.24.4-1
gtkmm3 3.8.1-1
lib32-gtk2 2.24.19-1
lib32-wxgtk 2.8.12.1-5
libdbusmenu-gtk2 12.10.2-1
pygtk 2.24.0-3
pywebkitgtk 1.1.8-2
transmission-gtk 2.77-3
webkitgtk2 1.10.2-7
wireshark-gtk 1.10.0-3
wxgtk 2.8.12.1-5
wxgtk2.9 2.9.4-3

Hope I provided enough info. Any help is appreciated :3.

Edit: Oh, and the AUR package (the svn build) fails to compile a dependency, lib32-gtk-engines (another AUR package), with the following error:

==> Making package: lib32-gtk-engines 2.21.0-2 (Wed Jul  3 22:45:55 MDT 2013)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found gtk-engines-2.21.0.tar.gz
==> Validating source files with md5sums...
    gtk-engines-2.21.0.tar.gz ... Passed
==> Extracting sources...
  -> Extracting gtk-engines-2.21.0.tar.gz with bsdtar
==> Removing existing pkg/ directory...
==> Starting build()...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc -m32
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -m32 accepts -g... yes
checking for gcc -m32 option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc -m32... gcc3
checking whether make sets $(MAKE)... (cached) yes
checking whether gcc -m32 and cc understand -c and -o together... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc -m32... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... dlltool
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc -m32 object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -m32 -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc -m32 supports -fno-rtti -fno-exceptions... no
checking for gcc -m32 option to produce PIC... -fPIC -DPIC
checking if gcc -m32 PIC flag -fPIC -DPIC works... yes
checking if gcc -m32 static flag -static works... yes
checking if gcc -m32 supports -c -o file.o... yes
checking if gcc -m32 supports -c -o file.o... (cached) yes
checking whether the gcc -m32 linker (/usr/bin/ld -m elf_i386) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether NLS is requested... yes
checking for intltool >= 0.31.0... 0.50.2 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.18.0
checking for XML::Parser... ok
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking for LC_MESSAGES... yes
checking libintl.h usability... yes
checking libintl.h presence... yes
checking for libintl.h... yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GTK... no
configure: error: GTK+-2.12 is required to compile gtk-engines
==> ERROR: A failure occurred in build().
    Aborting...

edit #2: backtrace!

Reading symbols from /usr/bin/pcsx2...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/pcsx2 
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?

Program received signal SIGSEGV, Segmentation fault.
0xf7fe6b43 in _dl_relocate_object () from /lib/ld-linux.so.2
(gdb) bt
#0  0xf7fe6b43 in _dl_relocate_object () from /lib/ld-linux.so.2
#1  0xf7fe0508 in dl_main () from /lib/ld-linux.so.2
#2  0xf7ff1013 in _dl_sysdep_start () from /lib/ld-linux.so.2
#3  0xf7fe0a6b in _dl_start () from /lib/ld-linux.so.2
#4  0xf7fdd097 in _start () from /lib/ld-linux.so.2

Last edited by alexis_evo (2013-07-05 16:55:23)

Offline

#2 2013-07-04 04:59:46

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [Solved] pcsx2 segfaults on run, can't build from ABS or AUR (x86_64)

You can check what does lib32-catalyst-utils provide by running

pacman -Qii ib32-catalyst-utils | grep Provides

.

Offline

#3 2013-07-04 05:04:20

alexis_evo
Member
Registered: 2013-07-04
Posts: 33

Re: [Solved] pcsx2 segfaults on run, can't build from ABS or AUR (x86_64)

karol wrote:

You can check what does lib32-catalyst-utils provide by running

pacman -Qii ib32-catalyst-utils | grep Provides

.

It does indeed provide lib32-libgl.

[alexis@cuddles ~]$ sudo pacman -Qii lib32-catalyst-utils | grep Provides
Provides       : lib32-libgl  lib32-dri  lib32-libtxc_dxtn

I wonder why pacman/makepkg is trying to install lib32-mesa-libgl over it. I am using Vi0L0's unofficial catalyst (and xorg) repositories, if it matters.

Offline

#4 2013-07-04 17:07:47

josephg
Member
From: Brazil
Registered: 2009-09-28
Posts: 106

Re: [Solved] pcsx2 segfaults on run, can't build from ABS or AUR (x86_64)

alexis_evo wrote:

I wonder why pacman/makepkg is trying to install lib32-mesa-libgl over it. I am using Vi0L0's unofficial catalyst (and xorg) repositories, if it matters.

Because pcsx2's PKGBUILD has "lib32-mesa-libgl" as makedepends, while I think it should be the virtual name "lib32-gl". It can cause pacman to uninstall nvidia (lib32-nvidia-libgl) or ATI (lib32-catalyst-utils) in order to install mesa files -- not good, I suppose.
Please file a bug report against pcsx2 package.

Last edited by josephg (2013-07-04 17:09:14)

Offline

#5 2013-07-05 05:07:03

alexis_evo
Member
Registered: 2013-07-04
Posts: 33

Re: [Solved] pcsx2 segfaults on run, can't build from ABS or AUR (x86_64)

Bug report submitted: https://bugs.archlinux.org/task/36027?p … ring=pcsx2

Still can't get the emulator to work, though.

Offline

#6 2013-07-05 06:49:53

josephg
Member
From: Brazil
Registered: 2009-09-28
Posts: 106

Re: [Solved] pcsx2 segfaults on run, can't build from ABS or AUR (x86_64)

Try: install lib32-catalyst-utils (remove lib32-mesa-libgl), download the src tarball (PKGBUILD, etc.), replace the 'lib32-mesa-libgl' with 'lib32-libgl' in the makedepends, compile (makepkg), and install (pacman -U). See if it works.

Offline

#7 2013-07-05 07:29:30

alexis_evo
Member
Registered: 2013-07-04
Posts: 33

Re: [Solved] pcsx2 segfaults on run, can't build from ABS or AUR (x86_64)

If you read my first post, I've already done all of that tongue. I've never had lib32-mesa-libgl installed.

Offline

#8 2013-07-05 16:55:01

alexis_evo
Member
Registered: 2013-07-04
Posts: 33

Re: [Solved] pcsx2 segfaults on run, can't build from ABS or AUR (x86_64)

Fixed this. I doubt anyone will encounter the same issues, because apparently it had to do with something fucked up in my system. On a hunch I decided to try reinstalling every pacman package (pacman -Qenq | pacman -S -) because I was getting so many problems relating to gtk, I figured something might have corrupted. When it tried reinstalling lib32-gtk2, it complained that several files already existed in filesystem. When I inspected the files, they didn't match what was in the lib32-gtk2 package, nor any of the older versions of the package. I uninstalled the package, deleted the files manually, reinstalled the package and suddenly pcsx2 from repos runs and I can compile it just fine.

Offline

Board footer

Powered by FluxBB