Compiling svn with sdl options - multiple crashes on running
#1
I've just been trying to experiment with Gsdx support.

compiled PCSX2 svn 4791 on Fedora 14 x86_64 using the following options:

Code:
svn checkout http://pcsx2.googlecode.com/svn/trunk/ pcsx2-read-only && cd pcsx2-read-only && mkdir my_build && cd my_build && cmake ../CMakeLists.txt -DFORCE_INTERNAL_SDL=TRUE -DCMAKE_BUILD_TYPE=Debug && cd .. && make && make install

Using debug because of previous problems. Setup gbd with the following:

Code:
$ gdb pcsx2-dbg.
(gdb) handle SIGSEGV nostop
(gdb) run

On running the plugin selector pops up:
selecting configure on ie Gsdx causes no problems
selecting onepad causes a crash:

Code:
(gdb) bt full
#0  0x009ec7c3 in SDL_HapticOpenFromJoystick (joystick=0xa3c6118)
    at /home/mythtv/pcsx2-read-only/3rdparty/SDL-1.3.0-5387/src/haptic/SDL_haptic.c:279
        i = 0
        haptic = 0x0
#1  0x009e2405 in JoystickInfo::Init (this=0xa3c6038, id=0)
    at /home/mythtv/pcsx2-read-only/plugins/onepad/joystick.cpp:253
        found_hack = 4294967295
#2  0x009e1f18 in JoystickInfo::EnumerateJoysticks (vjoysticks=std::vector of length 2, capacity 2 = {...})
    at /home/mythtv/pcsx2-read-only/plugins/onepad/joystick.cpp:101
        i = 0
        it = <error reading variable it (Cannot access memory at address 0x0)>
#3  0x009e8d6c in populate_new_joysticks (box=0xa3011c0)
    at /home/mythtv/pcsx2-read-only/plugins/onepad/Linux/dialog.cpp:246
        str =
    "\002\000\000\004\000\000\000\204z\fL\300\021\060\n\300\021\060\nȩ\377\377\026\225\337K\000\000\000\000\330D\n\n\213\261\366K\000\000\000\000\000O!\000\250\251\377\377[\273\365K\210\344\377K\b\000\000\000P\221\337K\213\027\314\001\300\021\060\n\300\021\060\n\300\021\060\nȩ\377\377\t9\354Ki\217\337K\204z\fL\253\222\337K\204z\fL\300\021\060\n\300\021\060\n\350\251\377\377#\263\354K\300\021\060\n\350B\n\nk\327\314K\252\262\354K\204z\fLD\252\377\377(\252\377\377\325\325\312K\300\021\060\n\230\300\061\n\213\261\366K\000\000\000\000ȴ'\n\230O!\nxO!\n\200\265'\n\300`'\n\000\000\000\000\333\324\312K\204z\fL\300\021\060\n\230\300\061\nx\252\377\377\210\016\315K\300\021\060\n\230\300\061\n\213\261\366K\000\000\000\000\000\000\000\000\240\304-\n\000\252\377\377\001\000\000\000\000\000\000"
        it = <error reading variable it (Cannot access memory at address 0x0)>
#4  0x009e9500 in create_notebook_page_dialog (page=0, btn=0xffffab30, checkbox=0xffffacb0)
    at /home/mythtv/pcsx2-read-only/plugins/onepad/Linux/dialog.cpp:519
        joy_choose_frame = 0xa35ec88
        keys_box = 0x3
        keys_tree_box = 0x4ecc178b
        keys_tree_show_key_btn = 0x4bd6292b
        keys_static_box = 0x0
        mask = 1271771867
        main_box = 0xa35ec88
        keys_tree_modify_btn = 0xa0a42e8
        keys_tree_show_joy_btn = 0xa35ec88
        keys_btn_box = 0xa7c577
        joy_choose_box = 0xffffaaf8
        keys_frame = 0x50
        keys_filter_box = 0x4c0c7a84
---Type <return> to continue, or q <return> to quit---
        keys_static_frame = 0xa2b80d8
        keys_tree_scroll = 0xa2b80d8
        keys_tree_clear_btn = 0x4bd9f1a8
        keys_tree_remove_btn = 0xffffaaf8
        keys_static_area = 0x1
#5  0x009e9eb1 in DisplayDialog () at /home/mythtv/pcsx2-read-only/plugins/onepad/Linux/dialog.cpp:635
        i = 0
        return_value = 0
        dialog = 0xa386820
        page_label = {0xa35ed08, 0xa35ec88}
        notebook = 0xa3868e0
        page = {0x17, 0xa2dc47c}
        btn = {{{widget = 0x4290afa9, index = 1117014100}, {widget = 0xffffab58, index = 1116655294}, {widget =
    0xa2f6300, index = 1320231840}, {widget = 0xa35e1d8, index = 170771624}, {widget = 0x428ecea9, index =
    1320231840}, {widget = 0xffffab88, index = 6}, {widget = 0x4e9fd541, index = -21633}, {widget = 0xffffab88,
              index = 1117014100}, {widget = 0x82072d6, index = 169865296}, {widget = 0xffffab98, index =
    1116778434}, {widget = 0x0, index = 170856704}, {widget = 0xffffabe8, index = 10389480}, {widget =
    0x4290afa9, index = 1117014100}, {widget = 0xffffabb8, index = 1116655294}, {widget = 0xa2dc470, index = 0}, {
              widget = 0xffffabd0, index = 1319014648}, {widget = 0x428ecea9, index = 1117014100}, {widget =
    0xffffabe8, index = 1116655486}, {widget = 0xa2dc470, index = -21537}, {widget = 0xa2f630c, index =
    170856940}, {widget = 0xa35e1d8, index = 2}, {widget = 0x18, index = 2}, {widget = 0x428ecf39, index =
    170856704}, {widget = 0xffffad48, index = 10390212}}, {{widget = 0xffffad2c, index = 170771580}, {widget =
    0xa7c413, index = 170771580}, {widget = 0x4290afa9, index = 1319085713}, {widget = 0xffffac28, index =
    1117014100}, {widget = 0xffffad2c, index = -21409}, {widget = 0xffffac78, index = 1116659896}, {widget =
    0xa1ba408, index = -21409}, {widget = 0xa, index = 1319082374}, {widget = 0x4ea08c14, index = -21393}, {
              widget = 0xffffac6f, index = 1}, {widget = 0x60, index = 1319066663}, {widget = 0x4eb123a0, index =
    1319082374}, {widget = 0x23, index = 169583636}, {widget = 0xffffac6f, index = 1319082374}, {widget =
    0x4c683610, index = 1319982549}, {widget = 0x0, index = 170771624}, {widget = 0xc, index = 1320231840}, {
              widget = 0xffffacc8, index = 6}, {widget = 0x4e9fd541, index = 1319060436}, {widget = 0x1b6,
              index = 1319082374}, {widget = 0x8207201, index = 1320231840}, {widget = 0xffffacb8, index = 24}, {
              widget = 0x4e9fd541, index = 1320231840}, {widget = 0xa37f2f8, index = 1117014100}}}
        checkbox = {{{widget = 0xffffae40, mask = 169865296}, {widget = 0xffffacd8, mask = 134644505}, {widget =
    0x4f22727c, mask = 4294946368}, {widget = 0xffffacf8, mask = 1327273179}, {widget = 0x4290afa9, mask =
    1117014100}, {widget = 0xffffacf8, mask = 134644749}, {widget = 0x4f22727c, mask = 4294946047}}, {{widget =
    0x4f1c949b, mask = 1327930764}, {widget = 0x4290b009, mask = 1327930764}, {widget = 0xffffad18, mask =
    134644987}, {widget = 0xffffae3c, mask = 1281898000}, {widget = 0xffffad38, mask = 170515544}, {widget =
    0x4c683610, mask = 136344278}, {widget = 0xffffad38, mask = 134668414}}}
---Type <return> to continue, or q <return> to quit---
#6  0x009eb392 in PADconfigure () at /home/mythtv/pcsx2-read-only/plugins/onepad/Linux/linux.cpp:183
No locals.
#7  0x082076f0 in Panels::PluginSelectorPanel::OnConfigure_Clicked (this=0xa1ff050, evt=...)
    at /home/mythtv/pcsx2-read-only/pcsx2/gui/Panels/PluginSelectorPanel.cpp:665
        disabler = {m_winDisabled = 0x0}
        quiettime = {_vptr.wxDoNotLogInThisScope = 0x8352720, m_prev = true}
        paused_core = {<BaseScopedCoreThread> = {<IScopedCoreThread> = {_vptr.IScopedCoreThread = 0x8394450},
            m_allowResume = false, m_alreadyStopped = false, m_alreadyScoped = false, m_sync = {
              _vptr.SynchronousActionState = 0x8394640, m_posted = true, m_sema = {_vptr.Semaphore = 0x8474d18,
                m_sema = {__size = "\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000", __align = 0}},
              m_exception = {m_ptr = 0x0}, return_value = 0}, m_sync_resume = {_vptr.SynchronousActionState =
    0x8394640, m_posted = false, m_sema = {_vptr.Semaphore = 0x8474d18, m_sema = {__size =
    "\000\000\000\000\200\000\000\000\000\000\000\000\001\000\000", __align = 0}}, m_exception = {m_ptr = 0x0},
              return_value = 0}, m_mtx_resume = {_vptr.Mutex = 0x8471670, m_mutex = {__data = {__lock = 0,
                  __count = 0, __owner = 0, __kind = 0, __nusers = 0, {__spins = 0, __list = {__next = 0x0}}},
                __size = '\000' <repeats 23 times>, __align = 0}}}, <No data fields>}
        configfunc = 0x9eb382 <PADconfigure()>
        pid = PluginId_PAD
        sel = 0
        filename = {<wxStringBase> = {static npos = 4294967295, m_pchData =
    0xa2b0814 L"/home/mythtv/pcsx2-read-only/bin/plugins/libonepad-1.1.0.so"}, <No data fields>}
        dynlib = {static ms_dllext = 0x4f2294c8 L".so", m_handle = 0xa37f050}
#8  0x0819c59d in Pcsx2App::HandleEvent (this=0xa049650, handler=0xa1ff050, func=
    (void (wxEvtHandler::*)(wxEvtHandler *, wxEvent &)) 0x82072d6 <Panels::PluginSelectorPanel::OnConfigure_Clicked(wxCommandEvent&)>, event=...) at /home/mythtv/pcsx2-read-only/pcsx2/gui/AppMain.cpp:562
No locals.
#9  0x0819c55b in Pcsx2App::HandleEvent (this=0xa049650, handler=0xa1ff050, func=
    (void (wxEvtHandler::*)(wxEvtHandler *, wxEvent &)) 0x82072d6 <Panels::PluginSelectorPanel::OnConfigure_Clicked(wxCommandEvent&)>, event=...) at /home/mythtv/pcsx2-read-only/pcsx2/gui/AppMain.cpp:556
No locals.
#10 0x4f2053ba in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) ()
   from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#11 0x4f2057f2 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#12 0x4f2058e3 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---

selecting padnull okay. But I also get a crash on running an iso.
backtrace:
Code:
(gdb) bt full
#0  0x00110425 in __kernel_vsyscall ()
No symbol table info available.
#1  0x4eb256d0 in raise () from /lib/libpthread.so.0
No symbol table info available.
#2  0x082e39e8 in pxTrap () at /home/mythtv/pcsx2-read-only/common/src/Utilities/Exceptions.cpp:88
No locals.
#3  0x082e3af2 in pxOnAssert (origin=..., msg=0xf7301dcc L"ExecMode should be nothing other than Pausing...")
    at /home/mythtv/pcsx2-read-only/common/src/Utilities/Exceptions.cpp:129
        guard = {_vptr.RecursionGuard = 0x8394650, Counter = @0xf7cc4b6c}
        trapit = true
#4  0x082e3b50 in pxOnAssert (origin=..., msg=0x8449324 "ExecMode should be nothing other than Pausing...")
    at /home/mythtv/pcsx2-read-only/common/src/Utilities/Exceptions.cpp:134
No locals.
#5  0x08235f1f in SysThreadBase::Pause (this=0x9e8f360)
    at /home/mythtv/pcsx2-read-only/pcsx2/System/SysThreadBase.cpp:143
        locker = {_vptr.ScopedLock = 0x8471648, m_lock = 0x9e8f450, m_IsLocked = true}
        __PRETTY_FUNCTION__ = "virtual void SysThreadBase::Pause()"
#6  0x0818b64e in ScopedCoreThreadPause::ScopedCoreThreadPause (this=0xf7cc3f20, abuse_me=0xf7301978)
    at /home/mythtv/pcsx2-read-only/pcsx2/gui/AppCoreThread.cpp:658
No locals.
#7  0x0818b0d2 in SysExecEvent_CoreThreadPause::InvokeEvent (this=0xa34aad0)
    at /home/mythtv/pcsx2-read-only/pcsx2/gui/AppCoreThread.cpp:531
        CorePluginsAreOpen = false
        paused_core = {<BaseScopedCoreThread> = {<IScopedCoreThread> = {_vptr.IScopedCoreThread = 0x8394450},
            m_allowResume = false, m_alreadyStopped = false, m_alreadyScoped = false, m_sync = {
              _vptr.SynchronousActionState = 0x8394640, m_posted = false, m_sema = {_vptr.Semaphore = 0x8474d18,
                m_sema = {__size = "\000\000\000\000\200\000\000\000\000\000\000\000Е\004\n", __align = 0}},
              m_exception = {m_ptr = 0x0}, return_value = 0}, m_sync_resume = {_vptr.SynchronousActionState =
    0x8394640, m_posted = false, m_sema = {_vptr.Semaphore = 0x8474d18, m_sema = {__size =
    "\000\000\000\000\200\000\000\000\000\000\000\000\000\017=", __align = 0}}, m_exception = {m_ptr = 0x0},
              return_value = 0}, m_mtx_resume = {_vptr.Mutex = 0x8471670, m_mutex = {__data = {__lock = 0,
                  __count = 0, __owner = 0, __kind = 0, __nusers = 0, {__spins = 0, __list = {__next = 0x0}}},
                __size = '\000' <repeats 23 times>, __align = 0}}}, <No data fields>}
        __PRETTY_FUNCTION__ = "virtual void SysExecEvent_CoreThreadPause::InvokeEvent()"
#8  0x081c9212 in SysExecEvent::_DoInvokeEvent (this=0xa34aad0)
    at /home/mythtv/pcsx2-read-only/pcsx2/gui/ExecutorThread.cpp:122
        __PRETTY_FUNCTION__ = "virtual void SysExecEvent::_DoInvokeEvent()"
---Type <return> to continue, or q <return> to quit---
#9  0x081c96cc in pxEvtQueue::ProcessEvents (this=0xa049c68, list=empty std::list, isIdle=false)
    at /home/mythtv/pcsx2-read-only/pcsx2/gui/ExecutorThread.cpp:218
        qpc_end = 584510560260604056
        deleteMe = {m_ptr = 0xa34aad0}
        synclock = {_vptr.ScopedLock = 0x8471648, m_lock = 0xa049c7c, m_IsLocked = false}
        node =
#10 0x081c9967 in pxEvtQueue::ProcessPendingEvents (this=0xa049c68)
    at /home/mythtv/pcsx2-read-only/pcsx2/gui/ExecutorThread.cpp:248
No locals.
#11 0x081caa17 in ExecutorThread::ExecuteTaskInThread (this=0xa049af4)
    at /home/mythtv/pcsx2-read-only/pcsx2/gui/ExecutorThread.cpp:543
        __PRETTY_FUNCTION__ = "virtual void ExecutorThread::ExecuteTaskInThread()"
#12 0x082f8997 in Threading::pxThread::_try_virtual_invoke (this=0xa049af4, method=
    &virtual Threading::pxThread::ExecuteTaskInThread())
    at /home/mythtv/pcsx2-read-only/common/src/Utilities/ThreadTools.cpp:545
No locals.
#13 0x082f8d73 in Threading::pxThread::_internal_execute (this=0xa049af4)
    at /home/mythtv/pcsx2-read-only/common/src/Utilities/ThreadTools.cpp:644
No locals.
#14 0x082f8ee1 in Threading::pxThread::_internal_callback (itsme=0xa049af4)
    at /home/mythtv/pcsx2-read-only/common/src/Utilities/ThreadTools.cpp:684
        __clframe = {__cancel_routine = 0x82f72d8 <Threading::pxThread::_pt_callback_cleanup(void*)>,
          __cancel_arg = 0xa049af4, __do_it = 1, __cancel_type = 0}
        __PRETTY_FUNCTION__ = "static void* Threading::pxThread::_internal_callback(void*)"
        owner = @0xa049af4
#15 0x4eb1ce99 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#16 0x4ea62d2e in clone () from /lib/libc.so.6
No symbol table info available.
What am I doing wrong - or should I just leave sdl builds ]alone for now..?
Reply

Sponsored links

#2
First check that wx does not depends of SDL1.2.
+ delete SDL 1.2 (32 bits)
+ or use ldd on libwx*.so then grep sdl

Redo a test without handle SIGSEGV nostop. Just to be sure it stop in the same place (ie SDL_HapticOpenFromJoystick). Then do a "print SDL_haptics"
Reply
#3
I don't know to use ldd but I think I can use yum to find dependencies:

Code:
$ yum deplist wxGTK.i686
....
Finding dependencies:
package: wxGTK.i686 2.8.11-2.fc14
  dependency: libwx_baseu-2.8.so.0(WXU_2.8.10)
   provider: wxBase.i686 2.8.11-2.fc14
   provider: wxBase.i686 2.8.12-1.fc14
  dependency: libXinerama.so.1
   provider: libXinerama.i686 1.1-2.fc13

...
  dependency: libSDL-1.2.so.0
   provider: SDL.i686 1.2.14-8.fc14
   provider: SDL.i686 1.2.14-10.fc14
...
  dependency: libSDL-1.2.so.0
   provider: SDL.i686 1.2.14-8.fc14
   provider: SDL.i686 1.2.14-10.fc14

$ yum deplist SDL.i686
...
Finding dependencies:
package: SDL.i686 1.2.14-10.fc14
  dependency: libc.so.6(GLIBC_2.0)
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: libdl.so.2
   provider: glibc.i686 2.12.90-17
   provider: glibc.i686 2.13-1
  dependency: /sbin/ldconfig
   provider: glibc.i686 2.12.90-17
   provider: glibc.x86_64 2.12.90-17
   provider: glibc.x86_64 2.13-1
   provider: glibc.i686 2.13-1
...

So SDL depends on wxGTK, but wxGTK does not depend on SDL I think(?)

Output from gdb after causing crash by opening pad configure:
Code:
(gdb) run
Starting program: /usr/games/pcsx2/pcsx2-dbg
[Thread debugging using libthread_db enabled]
Interface is initializing.  Entering Pcsx2App::OnInit!
Applying operating system default language...
Detaching after fork from child process 11576.
Detaching after fork from child process 11577.
Detaching after fork from child process 11578.
Command line parsing...
Command line parsed!
[New Thread 0xf7cc4b70 (LWP 11579)]

(pcsx2-dbg:11573): Gtk-WARNING **: Unable to locate theme engine in module_path: "qtcurve",

(pcsx2-dbg:11573): Gtk-WARNING **: Unable to locate theme engine in module_path: "qtcurve",

(pcsx2-dbg:11573): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkRadioMenuItem'

(pcsx2-dbg:11573): Gtk-CRITICAL **: IA__gtk_radio_menu_item_get_group: assertion `GTK_IS_RADIO_MENU_ITEM (radio_menu_item)' failed
Detaching after fork from child process 11581.
[New Thread 0xf31f8b70 (LWP 11582)]
[Thread 0xf31f8b70 (LWP 11582) exited]
[New Thread 0xf31f8b70 (LWP 11587)]
[New Thread 0xed2ffb70 (LWP 11588)]
[New Thread 0xec8ffb70 (LWP 11589)]
[New Thread 0xec0feb70 (LWP 11590)]
[New Thread 0xeb8fdb70 (LWP 11591)]
[Thread 0xed2ffb70 (LWP 11588) exited]
[Thread 0xeb8fdb70 (LWP 11591) exited]
[Thread 0xec0feb70 (LWP 11590) exited]
[Thread 0xec8ffb70 (LWP 11589) exited]
[New Thread 0xec8ffb70 (LWP 11592)]
[Thread 0xf31f8b70 (LWP 11587) exited]
[New Thread 0xf31f8b70 (LWP 11593)]
[New Thread 0xec0feb70 (LWP 11594)]
[New Thread 0xeb8fdb70 (LWP 11595)]
[Thread 0xec8ffb70 (LWP 11592) exited]
[Thread 0xeb8fdb70 (LWP 11595) exited]
[Thread 0xf31f8b70 (LWP 11593) exited]
[New Thread 0xf31f8b70 (LWP 11596)]
[Thread 0xec0feb70 (LWP 11594) exited]

Program received signal SIGSEGV, Segmentation fault.
0x009ec7c3 in SDL_HapticOpenFromJoystick (joystick=0xa3c39f0)
    at /home/mythtv/pcsx2-read-only/3rdparty/SDL-1.3.0-5387/src/haptic/SDL_haptic.c:279
279         for (i = 0; SDL_haptics[i]; i++) {
Missing separate debuginfos, use: debuginfo-install GConf2-2.31.91-1.fc14.i686 ORBit2-2.14.19-1.fc14.i686 SDL-1.2.14-10.fc14.i686 alsa-lib-1.0.24-1.fc14.i686 atk-1.32.0-1.fc14.i686 bzip2-libs-1.0.6-1.fc14.1.i686 cairo-1.10.2-1.fc14.i686 expat-2.0.1-10.fc13.i686 fontconfig-2.8.0-2.fc14.i686 freetype-2.4.2-4.fc14.i686 gamin-0.1.10-8.fc14.i686 gdk-pixbuf2-2.22.0-1.fc14.i686 glew-1.5.7-1.fc14.i686 glib2-2.26.0-2.fc14.i686 glibc-2.13-1.i686 gtk2-2.22.0-1.fc14.1.i686 jack-audio-connection-kit-1.9.7-2.fc14.i686 libICE-1.0.6-2.fc13.i686 libSM-1.1.0-7.fc12.i686 libX11-1.3.4-4.fc14.i686 libXau-1.0.6-1.fc14.i686 libXcomposite-0.4.2-1.fc14.i686 libXcursor-1.1.10-5.fc14.i686 libXdamage-1.1.3-1.fc14.i686 libXext-1.1.2-2.fc14.i686 libXfixes-4.0.5-1.fc14.i686 libXi-1.3.2-1.fc14.i686 libXinerama-1.1-2.fc13.i686 libXrandr-1.3.0-5.fc13.i686 libXrender-0.9.6-1.fc14.i686 libXxf86vm-1.1.0-1.fc13.i686 libgcc-4.5.1-4.fc14.i686 libjpeg-turbo-1.1.0-2.fc14.i686 libpng-1.2.44-1.fc14.i686 libselinux-2.0.96-6.fc14.1.i686 libstdc++-4.5.1-4.fc14.i686 libtiff-3.9.5-1.fc14.i686 libuuid-2.18-4.8.fc14.i686 libxcb-1.7-1.fc14.i686 mesa-libGLU-7.9-5.fc14.i686 pango-1.28.1-5.fc14.i686 pixman-0.18.4-1.fc14.i686 portaudio-19-9.fc12.i686 wxBase-2.8.12-1.fc14.i686 wxGTK-2.8.12-1.fc14.i686 zlib-1.2.5-2.fc14.i686
(gdb) print SDL_haptics
$1 = (SDL_Haptic **) 0x0
[code]
Reply
#4
Actually ldd is easier to read Tongue2
Code:
ldd /usr/lib32/libwx_*.so | grep -i sdl

Thanks, there is something wrong with the initialization setup of sdl (at least the haptic is not done). I will give a look when I have more free time.
Reply
#5
Thanks gregory Smile
Not sure if you still wanted this...?

Code:
$ ldd /usr/lib/libwx*.so | grep -i sdl
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x431eb000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x277e9000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x22b0b000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x10f2c000)
        libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x39fbc000)
[mythtv@media ~]$ ldd /usr/lib64/libwx*.so | grep -i sdl
        libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x0000003928e00000)
        libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007ff4504d9000)
        libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007fc5891bc000)
        libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007f1ecd30d000)
        libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x0000003928e00000)
Reply
#6
Hum, you are bad Sad

See this bug:

http://code.google.com/p/pcsx2/issues/detail?id=1003

The only solution for you is to recompile wx without sdl stuff. Or to recompile wx against the experimental sdl in PCSX2 repository.
Reply
#7
Oh that's disappointing. I'm not sure that I have anything else depending on wxGTK in 32-bit so recompiling might be a possibility - but maybe a problem for 32-bit users.

As it affects Mandriva I wonder if it affects the other similar linuxes like openSUSE... When the SDL build ceases to be experimental would it be a feasible solution to package a custom version of wx with pcsx2?

I'll let you know how I get on with recompiling wx Wink
Reply
#8
If you can post instruction to recompile the package so others users can do it also.

Just for information SDL code is very limited. It is one backend for audio, it will fallback on OSS otherwise (maybe others). So you will probably loose nothing. It runs just fine on Debian anyway.

Quote:When the SDL build ceases to be experimental would it be a feasible solution to package a custom version of wx with pcsx2?
It would be less experimental if this issue did not exist ! A custom version of wx will be a lot of work for us. Honestly this dependency suck. In the best world, SDL2 will be release somedays, and distribution will build wx against SDL2 (and PCSX2 too). For the moment I do not have any solutions.
Reply
#9
I have prepared custom rpms for 32-bit fedora 14 and 15 with wxGTK and its dependencies, compiled without the --with-sdl and --enable-compat24 options. They work well in fedora x86_64 and don't interfere with 64-bit applications running wxWidgets (ie tested Dolphin-emu) and the sdl build of pcsx2 is tested and also works well. Also working now are the pcsx2-unofficial builds that you posted. Obviously 32-bit users can install these packages too, although they run more risk of the new packages breaking any fedora application using wxWidgets which was not compiled against them. Is it possible for me to upload these rpms here? Let me know how if I can.
I can also give instructions for compiling them in mock if these are useful for any other distributions (ie Mandriva).

I am very impressed with the Gsdx plugin! Katamari damancy working well without graphical gliches now and at a good speed on a 3.2Ghz Phenom. Laugh Laugh

At least this solution gives a workaround. Dan at Fedora has suggested I will have to test a new build of wxWidgets with the 50+ packages that depend on it in Fedora, I am considering this, and now feel a little bit confident compiling Fedora packages but doubt I will have the skills to resolve any problems, so this is likely to be a non-starter.

Anyway, for now we can celebrate Wink
Reply
#10
Hi. Took 24 hours spot the*upload attachment* button Blush

The two zip files contain modified builds of the wxGTK packages for Fedora 14 and Fedora 15. They are both 32 bit builds made in a clean mock chroot using a modified version of the official fedora spec file which can be found at the fedora .git repository [url=http://pkgs.fedoraproject.org/gitweb/?p=wxGTK.git;a=tree[/url]

Spec file was modified to remove sdl and 2.4 compatibility flags, so the packages are now compatible with pcsx2 - compatible with both gregory's unofficial builds, the official pcsx2 builds

WARNING: I take no responsibility for any damage you do to your system. I think the most you could do is break the functionality of any dependencies which were compiled against the official fedora packages, which should mean you can repair any problems by just uninstalling these packages and reinstalling the official ones with yum - however please don't use these unless you have at least a little experience with fedora linux. You are much more likely to run into functionality issues in 32 bit as 64-bit installations are likely only to be using 32-bit wxGTK packages for pcsx2!

HOW TO INSTALL:
1. Unpack the appropriate zip file for your fedora version in your home directory. It contains the five wxGTK packages and dependencies needed for pcsx2.
2. From the home directory remove the official fedora rpms (with sdl and 24compat) and install custom rpm (ie for fedora 14):

Code:
sudo yum erase wxBase.i686 wxGTK.i686 wxGTK-devel.i686 wxGTK-gl.i686 wxGTK-media.i686 && sudo yum localinstall --nogpgcheck wxBase-2.8.12-1.fc14.i686.rpm wxGTK-devel-2.8.12-1.fc14.i686.rpm wxGTK-2.8.12-1.fc14.i686.rpm wxGTK-gl-2.8.12-1.fc14.i686.rpm wxGTK-media-2.8.12-1.fc14.i686.rpm

Either use the official/unofficial builds or compile the sdl build from svn with:

Code:
svn checkout http://pcsx2.googlecode.com/svn/trunk/ pcsx2-read-only && cd pcsx2-read-only && mkdir my_build && cd my_build && cmake ../CMakeLists.txt -DFORCE_INTERNAL_SDL=TRUE -DCMAKE_BUILD_TYPE=Release && cd .. && make && make install

If you encounter problems you can remove the custom libraries and reinstall the official ones with
Code:
sudo yum erase wxBase.i686 wxGTK.i686 wxGTK-devel.i686 wxGTK-gl.i686 wxGTK-media.i686 && sudo yum install wxBase.i686 wxGTK.i686 wxGTK-devel.i686 wxGTK-gl.i686 wxGTK-media.i686

Enjoy!

.rar   wxGTK-2.8.12-1.fc14.i686.rpm.rar (Size: 4,5 MB / Downloads: 397)

.rar   wxBase-2.8.12-1.fc15.i686.rpm.rar (Size: 4,36 MB / Downloads: 396)

oop - don't worry about the names of the rar files being different - they both contain the same packages for the different versions - I was just sloppy when I compressed them sorry.
Reply




Users browsing this thread: 1 Guest(s)