[ wxwindows-Bugs-1196162 ] SDL wrongly enabled for wxBase in monolithic build

SourceForge.net noreply at sourceforge.net
Sun Apr 1 14:18:29 PDT 2007


Bugs item #1196162, was opened at 2005-05-05 14:05
Message generated for change (Comment added) made by dirtyepic
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=109863&aid=1196162&group_id=9863

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Build -- unix
Group: Fatal
Status: Open
Resolution: None
Priority: 3
Private: No
Submitted By: Mikkel S (xaignar)
Assigned to: Nobody/Anonymous (nobody)
Summary: SDL wrongly enabled for wxBase in monolithic build

Initial Comment:
It seems that SDL is enabled when wxGTK-2.6.0 is 
compiled with --disable-gui, irregardless of 
--without-sdl being used. This causes problems 
when attempts are made at linking against the 
wxBase library: 
 
/usr/lib/gcc/i386-pc-linux-gnu/3.4.3/../../../libwx_base-2.6.so: 
undefined 
reference to `wxSoundData::DecRef()' 
/usr/lib/gcc/i386-pc-linux-gnu/3.4.3/../../../libwx_base-2.6.so: 
undefined 
reference to `wxSoundData::IncRef()' 
 
Manually setting wxUSE_LIBSDL to 0 before 
compiling wxBAse fixed the issue. More here: 
http://bugs.gentoo.org/show_bug.cgi?id=91574 

----------------------------------------------------------------------

Comment By: dirtyepic (dirtyepic)
Date: 2007-04-01 15:18

Message:
Logged In: YES 
user_id=1415513
Originator: NO

While we don't use --enable-monolithic any more, I've found this bug to be
independent of that option.

libsdl-1.2.11 is installed on the system.

/var/tmp/portage/x11-libs/wxGTK-2.6.3.3-r1/work/wxPython-src-2.6.3.3/configure
--prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --enable-shared --enable-soname --disable-optimise
--enable-no_deps --disable-rpath --enable-compat24 --with-regex=builtin
--with-zlib=sys --with-expat --without-sdl --without-odbc --disable-gui
--disable-unicode --disable-debug --disable-debug_gdb --libdir=/usr/lib64
--build=x86_64-pc-linux-gnu

[...]

checking for ioctl() in sys/soundcard.h... yes
checking for sdl-config... /usr/bin/sdl-config
checking for SDL - version >= 1.2.0... yes

[...]

  Which libraries should wxWidgets use?
                                       jpeg               none
                                       png                none
                                       regex              builtin
                                       tiff               none
                                       zlib               sys
                                       odbc               no
                                       expat              sys
                                       libmspack          no
                                       sdl
                                       gnomeprint         none
                                       hildon             none

[...]

./bk-deps x86_64-pc-linux-gnu-g++ -c -o netdll_socket.o
-I.pch/wxprec_netdll -D__WX__         
-I/var/tmp/portage/x11-libs/wxGTK-2.6.3.3-r1/work/wxPython-src-2.6.3.3/src/regex
 -DwxUSE_GUI=0 -DWXUSINGDLL -DWXMAKINGDLL_NET -fPIC -DPIC -DWX_PRECOMP
-DNO_GCC_PRAGMA -Ilib/wx/include/base-ansi-release-2.6
-I/var/tmp/portage/x11-libs/wxGTK-2.6.3.3-r1/work/wxPython-src-2.6.3.3/include
-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -O0 -O2 -g -march=nocona
-fomit-frame-pointer -fno-ident -pipe -fno-strict-aliasing -pthread
-I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -Wall -Wundef
-Wno-ctor-dtor-privacy
/var/tmp/portage/x11-libs/wxGTK-2.6.3.3-r1/work/wxPython-src-2.6.3.3/src/common/socket.cpp

[etc]

however it is not linked in at the end, so I'm thinking it's harmless.

 # ldd /usr/lib64/libwx_base*.so
/usr/lib64/libwx_base-2.6.so:
        libz.so.1 => /lib/libz.so.1 (0x00002ba35ded0000)
        libdl.so.2 => /lib/libdl.so.2 (0x00002ba35e0e5000)
        libstdc++.so.6 =>
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0-pre20070401/libstdc++.so.6
(0x00002ba35e2e9000)
        libm.so.6 => /lib/libm.so.6 (0x00002ba35e5e7000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002ba35e83a000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00002ba35ea48000)
        libc.so.6 => /lib/libc.so.6 (0x00002ba35ec63000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
/usr/lib64/libwx_base_net-2.6.so:
        libz.so.1 => /lib/libz.so.1 (0x00002b1743c71000)
        libdl.so.2 => /lib/libdl.so.2 (0x00002b1743e86000)
        libwx_base-2.6.so.0 => /usr/lib/libwx_base-2.6.so.0
(0x00002b174408a000)
        libstdc++.so.6 =>
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0-pre20070401/libstdc++.so.6
(0x00002b17443a6000)
        libm.so.6 => /lib/libm.so.6 (0x00002b17446a3000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002b17448f6000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00002b1744b05000)
        libc.so.6 => /lib/libc.so.6 (0x00002b1744d1f000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
/usr/lib64/libwx_base_xml-2.6.so:
        libz.so.1 => /lib/libz.so.1 (0x00002b117fddd000)
        libdl.so.2 => /lib/libdl.so.2 (0x00002b117fff2000)
        libwx_base-2.6.so.0 => /usr/lib/libwx_base-2.6.so.0
(0x00002b11801f6000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00002b1180512000)
        libstdc++.so.6 =>
/usr/lib/gcc/x86_64-pc-linux-gnu/4.2.0-pre20070401/libstdc++.so.6
(0x00002b1180736000)
        libm.so.6 => /lib/libm.so.6 (0x00002b1180a33000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002b1180c87000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00002b1180e95000)
        libc.so.6 => /lib/libc.so.6 (0x00002b11810af000)
        /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)


----------------------------------------------------------------------

Comment By: Benoit Hamet (bhamet)
Date: 2006-12-01 05:08

Message:
Logged In: YES 
user_id=1440678
Originator: NO

Hi all,

This problem is not specific to gentoo, I just got the 2.6.3 base packages
from here, and still have the problem for compiling with :
make: *** No rule to make target `src/unix/sound_sdl.cpp', needed by
`monodll_sound_sdl.o'.  Stop.

The problem is in the configure for this test :
    COND_PLATFORM_UNIX_1_USE_PLUGINS_0="#"
    if test "x$PLATFORM_UNIX" = "x1" -a "x$USE_PLUGINS" = "x0" ; then
        COND_PLATFORM_UNIX_1_USE_PLUGINS_0=""
    fi

So getting deeper inside the autoconf stuff I arrive to this 2 conditions
which let me perplexe :
    COND_USE_PLUGINS_0="#"
    if test "x$USE_PLUGINS" = "x0" ; then
        COND_USE_PLUGINS_0=""
    fi
    AC_SUBST(COND_USE_PLUGINS_0)

and 
    COND_USE_RTTI_0="#"
    if test "x$USE_RTTI" = "x0" ; then
        COND_USE_RTTI_0=""
    fi
    AC_SUBST(COND_USE_RTTI_0)

Which are generated using bakefile If I read the header of the
autoconf_inc.m4 ... And got no idea on how to solve this ... in a good way
...

so I just suggest for people like me trying to compile the wxbase lib to
use :
sed -i 's/"x$USE_PLUGINS" = "x0"/"x$USE_PLUGINS" = "x1"/g' configure

then ./configure --prefix=/tmp/wxwidgets-2.6.3-nogui --enable-monolithic
will produce the right Makefile and the compile will be ok

----------------------------------------------------------------------

Comment By: Vadim Zeitlin (vadz)
Date: 2005-05-22 10:52

Message:
Logged In: YES 
user_id=71618

It looks like the problem is specific to
--enable-monolithic, so while it's still a bug it should be
much less important now that Gentoo doesn't use it any
longer (if I udnerstood correctly).

----------------------------------------------------------------------

Comment By: Vaclav Slavik (vaclavslavik)
Date: 2005-05-05 16:01

Message:
Logged In: YES 
user_id=80834

Thanks! Gentoo doesn't apply any (relevant) patches, so it's
more likely to be specific to --enable-monolithic --disable-gui

----------------------------------------------------------------------

Comment By: Mikkel S (xaignar)
Date: 2005-05-05 15:55

Message:
Logged In: YES 
user_id=799149

--enable-monolithic  
--host=i386-pc-linux-gnu --disable-debugreport  
--libdir=/usr/lib --prefix=/usr   
--infodir=/usr/share/info --mandir=/usr/share/man  
--with-zlib --disable-gui --without-odbc  
  
The problem seems to be caused by the 
--enable-monolithic flag, at least as far as I can tell from 
the gentoo-thread. 
 
I'm afraid that the bug-title is wrong, for atm I am not 
sure exactly what is going on here. If this turns out to 
be a purely gentoo-specific problem, then I apologize 
for wasting your time. 

----------------------------------------------------------------------

Comment By: Vaclav Slavik (vaclavslavik)
Date: 2005-05-05 15:21

Message:
Logged In: YES 
user_id=80834

What exact command line options did you use? It's not at all
clear from netiher this nor the gentoo bug.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=109863&aid=1196162&group_id=9863




More information about the wx-dev mailing list