[Win32] libboost compiling - trouble with opal

View: New views
9 Messages — Rating Filter:   Alert me  

[Win32] libboost compiling - trouble with opal

by Thierry Simonnet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If somebody is interested, I succeed to compile libbost under linux for
win 32 with mingw .

1/ download last version of libboost : boost_1_40_0.tar.gz
2/ uncompress
3/ generate bjam for local platform : sh bootstrap.sh
4/ create a config file for mingw :

    *

      touch user-config.jam

    *

      echo "using gcc : : i586-mingw32msvc-gcc : ; " > user-config.jam

5/ generate library (don't know which one I will use yet)

    * .dll : ./bjam --user-config=user-config.jam --layout=system
      variant=release threading=multi link=shared runtime-link=shared
      toolset=gcc target-os=windows threadapi=win32 --without-math
      --without-python --without-mpi --without-serialization
      --without-test --without-thread --without-wave --without-date_time
      --without-system --without-filesystem --without-graph
      --without-iostreams --without-program_options --without-regex stage
    * .a : ./bjam --user-config=user-config.jam --layout=system
      variant=release threading=multi link=static runtime-link=static
      toolset=gcc threadapi=win32 --without-math --without-python
      --without-mpi --without-serialization --without-test
      --without-thread --without-wave --without-date_time
      --without-system --without-filesystem --without-graph
      --without-iostreams --without-program_options --without-regex stage
    * .lib : ./bjam --user-config=user-config.jam --layout=system
      variant=release threading=multi link=static runtime-link=static
      toolset=gcc target-os=windows threadapi=win32 --without-math
      --without-python --without-mpi --without-serialization
      --without-test --without-thread --without-wave --without-date_time
      --without-system --without-filesystem --without-graph
      --without-iostreams --without-program_options --without-regex stage

6/ execute i586-mingw32svc-ranlib on library

Ptlib/trunk is ok now. Next step opal/trunk :

[CC] src/codec/g711a1_plc.cxx
[AR] lib_mingw_x86/libopal_s.a
i586-mingw32msvc-ranlib /root/win32/opal/lib_mingw_x86/libopal_s.a
[LD] lib_mingw_x86/libopal.3.7-beta1.dll
/root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x3587):
undefined reference to
`OpalEchoCanceler::SetParameters(OpalEchoCanceler::Params const&)'
/root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x35a3):
undefined reference to `OpalEchoCanceler::SetClockRate(int)'
/root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xcf0):
undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
/root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xe84):
undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
collect2: ld returned 1 exit status
make[1]: *** [/root/win32/opal/lib_mingw_x86/libopal.3.7-beta1.dll] Error 1
make[1]: Leaving directory `/root/win32/opal'
make: *** [/root/win32/lib/libopal_s.a] Error 2




--

Thierry Simonnet

ESIEE-Paris

Par respect pour l’environnement, n’imprimez ce mail que si nécessaire


_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: [Win32] libboost compiling - trouble with opal

by Michael Rickmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thierry Simonnet schrieb:

> If somebody is interested, I succeed to compile libbost under linux for
> win 32 with mingw .
>
> 1/ download last version of libboost : boost_1_40_0.tar.gz
> 2/ uncompress
> 3/ generate bjam for local platform : sh bootstrap.sh
> 4/ create a config file for mingw :
>
>    *
>
>      touch user-config.jam
>
>    *
>
>      echo "using gcc : : i586-mingw32msvc-gcc : ; " > user-config.jam
>
> 5/ generate library (don't know which one I will use yet)
>
>    * .dll : ./bjam --user-config=user-config.jam --layout=system
>      variant=release threading=multi link=shared runtime-link=shared
>      toolset=gcc target-os=windows threadapi=win32 --without-math
>      --without-python --without-mpi --without-serialization
>      --without-test --without-thread --without-wave --without-date_time
>      --without-system --without-filesystem --without-graph
>      --without-iostreams --without-program_options --without-regex stage
>    * .a : ./bjam --user-config=user-config.jam --layout=system
>      variant=release threading=multi link=static runtime-link=static
>      toolset=gcc threadapi=win32 --without-math --without-python
>      --without-mpi --without-serialization --without-test
>      --without-thread --without-wave --without-date_time
>      --without-system --without-filesystem --without-graph
>      --without-iostreams --without-program_options --without-regex stage
>    * .lib : ./bjam --user-config=user-config.jam --layout=system
>      variant=release threading=multi link=static runtime-link=static
>      toolset=gcc target-os=windows threadapi=win32 --without-math
>      --without-python --without-mpi --without-serialization
>      --without-test --without-thread --without-wave --without-date_time
>      --without-system --without-filesystem --without-graph
>      --without-iostreams --without-program_options --without-regex stage
>
> 6/ execute i586-mingw32svc-ranlib on library
>
> Ptlib/trunk is ok now. Next step opal/trunk :
>
> [CC] src/codec/g711a1_plc.cxx
> [AR] lib_mingw_x86/libopal_s.a
> i586-mingw32msvc-ranlib /root/win32/opal/lib_mingw_x86/libopal_s.a
> [LD] lib_mingw_x86/libopal.3.7-beta1.dll
> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x3587):
> undefined reference to
> `OpalEchoCanceler::SetParameters(OpalEchoCanceler::Params const&)'
> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x35a3):
> undefined reference to `OpalEchoCanceler::SetClockRate(int)'
> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xcf0):
> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xe84):
> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
> collect2: ld returned 1 exit status
> make[1]: *** [/root/win32/opal/lib_mingw_x86/libopal.3.7-beta1.dll] Error 1
> make[1]: Leaving directory `/root/win32/opal'
> make: *** [/root/win32/lib/libopal_s.a] Error 2
>
>
>
>
Great work on boost, I will try your approach tomorrow. As to the Opal
error, give attached patch a try. It helped me.
Michael


diff -ur opal.orig/Makefile.in opal/Makefile.in
--- opal.orig/Makefile.in 2009-09-30 16:08:59.000000000 +0200
+++ opal/Makefile.in 2009-09-30 16:10:44.000000000 +0200
@@ -391,6 +391,7 @@
            $(OPAL_SRCDIR)/codec/rfc2833.cxx \
            $(OPAL_SRCDIR)/codec/opalwavfile.cxx \
    $(OPAL_SRCDIR)/codec/silencedetect.cxx \
+   $(OPAL_SRCDIR)/codec/echocancel.cxx \
    $(OPAL_SRCDIR)/codec/opalpluginmgr.cxx \
    $(OPAL_SRCDIR)/codec/ratectl.cxx
 
@@ -415,8 +416,7 @@
 VPATH_C         += $(SPEEXDSP_SRCDIR)
 VPATH_CXX       += $(SPEEXDSP_SRCDIR)
 
-SOURCES         += $(OPAL_SRCDIR)/codec/echocancel.cxx \
-   $(SPEEXDSP_SRCDIR)/speex_preprocess.c \
+SOURCES         += $(SPEEXDSP_SRCDIR)/speex_preprocess.c \
    $(SPEEXDSP_SRCDIR)/smallft.c \
                    $(SPEEXDSP_SRCDIR)/misc.c \
                    $(SPEEXDSP_SRCDIR)/mdf.c \

_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: [Win32] libboost compiling - trouble with opal

by Thierry Simonnet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

For opal, the trouble is than echocancel codec is not compiled. Inside
Makefile, it is located in "SPEEXDSP_SYSTEM" codecs block. I copy it
inside "Software Codec block"

diff -ru opal/Makefile.orig opal/Makefile
--- opal/Makefile.orig  2009-10-01 09:47:15.000000000 +0200
+++ opal/Makefile       2009-10-01 09:41:06.000000000 +0200
@@ -392,6 +392,7 @@
            $(OPAL_SRCDIR)/codec/opalwavfile.cxx \
           $(OPAL_SRCDIR)/codec/silencedetect.cxx \
           $(OPAL_SRCDIR)/codec/opalpluginmgr.cxx \
+          $(OPAL_SRCDIR)/codec/echocancel.cxx \
           $(OPAL_SRCDIR)/codec/ratectl.cxx

 ifeq ($(OPAL_VIDEO), yes)

I also noticed a trouble in ekiga/src/gui/main.cpp

There is a setenv call. Must be  completed  with a _putenv one  for WIN32.
 

Michael Rickmann wrote:

> Thierry Simonnet schrieb:
>> If somebody is interested, I succeed to compile libbost under linux
>> for win 32 with mingw .
>>
>> 1/ download last version of libboost : boost_1_40_0.tar.gz
>> 2/ uncompress
>> 3/ generate bjam for local platform : sh bootstrap.sh
>> 4/ create a config file for mingw :
>>
>>    *
>>
>>      touch user-config.jam
>>
>>    *
>>
>>      echo "using gcc : : i586-mingw32msvc-gcc : ; " > user-config.jam
>>
>> 5/ generate library (don't know which one I will use yet)
>>
>>    * .dll : ./bjam --user-config=user-config.jam --layout=system
>>      variant=release threading=multi link=shared runtime-link=shared
>>      toolset=gcc target-os=windows threadapi=win32 --without-math
>>      --without-python --without-mpi --without-serialization
>>      --without-test --without-thread --without-wave --without-date_time
>>      --without-system --without-filesystem --without-graph
>>      --without-iostreams --without-program_options --without-regex stage
>>    * .a : ./bjam --user-config=user-config.jam --layout=system
>>      variant=release threading=multi link=static runtime-link=static
>>      toolset=gcc threadapi=win32 --without-math --without-python
>>      --without-mpi --without-serialization --without-test
>>      --without-thread --without-wave --without-date_time
>>      --without-system --without-filesystem --without-graph
>>      --without-iostreams --without-program_options --without-regex stage
>>    * .lib : ./bjam --user-config=user-config.jam --layout=system
>>      variant=release threading=multi link=static runtime-link=static
>>      toolset=gcc target-os=windows threadapi=win32 --without-math
>>      --without-python --without-mpi --without-serialization
>>      --without-test --without-thread --without-wave --without-date_time
>>      --without-system --without-filesystem --without-graph
>>      --without-iostreams --without-program_options --without-regex stage
>>
>> 6/ execute i586-mingw32svc-ranlib on library
>>
>> Ptlib/trunk is ok now. Next step opal/trunk :
>>
>> [CC] src/codec/g711a1_plc.cxx
>> [AR] lib_mingw_x86/libopal_s.a
>> i586-mingw32msvc-ranlib /root/win32/opal/lib_mingw_x86/libopal_s.a
>> [LD] lib_mingw_x86/libopal.3.7-beta1.dll
>> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x3587):
>> undefined reference to
>> `OpalEchoCanceler::SetParameters(OpalEchoCanceler::Params const&)'
>> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x35a3):
>> undefined reference to `OpalEchoCanceler::SetClockRate(int)'
>> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xcf0):
>> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
>> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xe84):
>> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
>> collect2: ld returned 1 exit status
>> make[1]: *** [/root/win32/opal/lib_mingw_x86/libopal.3.7-beta1.dll]
>> Error 1
>> make[1]: Leaving directory `/root/win32/opal'
>> make: *** [/root/win32/lib/libopal_s.a] Error 2
>>
>>
>>
>>
> Great work on boost, I will try your approach tomorrow. As to the Opal
> error, give attached patch a try. It helped me.
> Michael
>


--

Thierry Simonnet

ESIEE-Paris

Par respect pour l’environnement, n’imprimez ce mail que si nécessaire


_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: [Win32] libboost compiling - trouble with opal

by Michael Rickmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thierry Simonnet schrieb:

> For opal, the trouble is than echocancel codec is not compiled. Inside
> Makefile, it is located in "SPEEXDSP_SYSTEM" codecs block. I copy it
> inside "Software Codec block"
>
> diff -ru opal/Makefile.orig opal/Makefile
> --- opal/Makefile.orig  2009-10-01 09:47:15.000000000 +0200
> +++ opal/Makefile       2009-10-01 09:41:06.000000000 +0200
> @@ -392,6 +392,7 @@
>            $(OPAL_SRCDIR)/codec/opalwavfile.cxx \
>           $(OPAL_SRCDIR)/codec/silencedetect.cxx \
>           $(OPAL_SRCDIR)/codec/opalpluginmgr.cxx \
> +          $(OPAL_SRCDIR)/codec/echocancel.cxx \
>           $(OPAL_SRCDIR)/codec/ratectl.cxx
>
> ifeq ($(OPAL_VIDEO), yes)
>
> I also noticed a trouble in ekiga/src/gui/main.cpp
>
> There is a setenv call. Must be  completed  with a _putenv one  for WIN32.
>
( snip )
That setenv seems pulseaudio related which Windows does not have, just "
#ifndef WIN32 " it.
Michael
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: [Win32] libboost compiling - trouble with opal

by Thierry Simonnet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
I've finished generation of ekiga-setup-3.3.1-git-391_g765e249.exe with generated libboost. http://www.pateam.org/archive/tmp/ekiga-win32/trunk/ekiga-setup-3.3.1-git-391_g765e249.exe

First remarks :
  • libopal.3.7-beta.dll and libpt.2.7-beta1.dll are not included in nsisinstaller (nor libboost). I think it is more a referencing trouble because libopal.dll and libpt.dll are included.
  • First launch :  I had the following error
                                Assertion fail: Invalid array element, file .../include/ptlib/array.h, line 1048
                               SymGetModuleBase(0x75ffffff,0x8408b0c, 0xff0875ff, 0xcc25dd0)
                               0x4b4ee8ec(0,0,0,0)


Michael Rickmann wrote:
Thierry Simonnet schrieb:
For opal, the trouble is than echocancel codec is not compiled. Inside Makefile, it is located in "SPEEXDSP_SYSTEM" codecs block. I copy it inside "Software Codec block"

diff -ru opal/Makefile.orig opal/Makefile
--- opal/Makefile.orig  2009-10-01 09:47:15.000000000 +0200
+++ opal/Makefile       2009-10-01 09:41:06.000000000 +0200
@@ -392,6 +392,7 @@
           $(OPAL_SRCDIR)/codec/opalwavfile.cxx \
          $(OPAL_SRCDIR)/codec/silencedetect.cxx \
          $(OPAL_SRCDIR)/codec/opalpluginmgr.cxx \
+          $(OPAL_SRCDIR)/codec/echocancel.cxx \
          $(OPAL_SRCDIR)/codec/ratectl.cxx

ifeq ($(OPAL_VIDEO), yes)

I also noticed a trouble in ekiga/src/gui/main.cpp

There is a setenv call. Must be  completed  with a _putenv one  for WIN32.

( snip )
That setenv seems pulseaudio related which Windows does not have, just " #ifndef WIN32 " it.
Michael
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list


--

Thierry Simonnet

ESIEE-Paris

Par respect pour l’environnement, n’imprimez ce mail que si nécessaire




_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: [Win32] libboost compiling - trouble with opal

by Eugen Dedu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thierry Simonnet wrote:
> For opal, the trouble is than echocancel codec is not compiled. Inside
> Makefile, it is located in "SPEEXDSP_SYSTEM" codecs block. I copy it
> inside "Software Codec block"

I have sent an e-mail to Craig, who made the modification with this
trouble a few days ago, let's wait his answer...

--
Eugen
_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: [Win32] libboost compiling - trouble with opal

by Thierry Simonnet :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

A little mistake for libboost generation.

For step 4 :
use
echo "using gcc : : i586-mingw32msvc-g++ : ; " > user-config.jam
instead of ....gcc. If not you will have trouble generating .dll library.


Michael Rickmann wrote:

> Thierry Simonnet schrieb:
>> If somebody is interested, I succeed to compile libbost under linux
>> for win 32 with mingw .
>>
>> 1/ download last version of libboost : boost_1_40_0.tar.gz
>> 2/ uncompress
>> 3/ generate bjam for local platform : sh bootstrap.sh
>> 4/ create a config file for mingw :
>>
>>    *
>>
>>      touch user-config.jam
>>
>>    *
>>
>>      echo "using gcc : : i586-mingw32msvc-gcc : ; " > user-config.jam
>>
>> 5/ generate library (don't know which one I will use yet)
>>
>>    * .dll : ./bjam --user-config=user-config.jam --layout=system
>>      variant=release threading=multi link=shared runtime-link=shared
>>      toolset=gcc target-os=windows threadapi=win32 --without-math
>>      --without-python --without-mpi --without-serialization
>>      --without-test --without-thread --without-wave --without-date_time
>>      --without-system --without-filesystem --without-graph
>>      --without-iostreams --without-program_options --without-regex stage
>>    * .a : ./bjam --user-config=user-config.jam --layout=system
>>      variant=release threading=multi link=static runtime-link=static
>>      toolset=gcc threadapi=win32 --without-math --without-python
>>      --without-mpi --without-serialization --without-test
>>      --without-thread --without-wave --without-date_time
>>      --without-system --without-filesystem --without-graph
>>      --without-iostreams --without-program_options --without-regex stage
>>    * .lib : ./bjam --user-config=user-config.jam --layout=system
>>      variant=release threading=multi link=static runtime-link=static
>>      toolset=gcc target-os=windows threadapi=win32 --without-math
>>      --without-python --without-mpi --without-serialization
>>      --without-test --without-thread --without-wave --without-date_time
>>      --without-system --without-filesystem --without-graph
>>      --without-iostreams --without-program_options --without-regex stage
>>
>> 6/ execute i586-mingw32svc-ranlib on library
>>
>> Ptlib/trunk is ok now. Next step opal/trunk :
>>
>> [CC] src/codec/g711a1_plc.cxx
>> [AR] lib_mingw_x86/libopal_s.a
>> i586-mingw32msvc-ranlib /root/win32/opal/lib_mingw_x86/libopal_s.a
>> [LD] lib_mingw_x86/libopal.3.7-beta1.dll
>> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x3587):
>> undefined reference to
>> `OpalEchoCanceler::SetParameters(OpalEchoCanceler::Params const&)'
>> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x35a3):
>> undefined reference to `OpalEchoCanceler::SetClockRate(int)'
>> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xcf0):
>> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
>> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xe84):
>> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
>> collect2: ld returned 1 exit status
>> make[1]: *** [/root/win32/opal/lib_mingw_x86/libopal.3.7-beta1.dll]
>> Error 1
>> make[1]: Leaving directory `/root/win32/opal'
>> make: *** [/root/win32/lib/libopal_s.a] Error 2
>>
>>
>>
>>
> Great work on boost, I will try your approach tomorrow. As to the Opal
> error, give attached patch a try. It helped me.
> Michael
>


--

Thierry Simonnet

ESIEE-Paris

Par respect pour l’environnement, n’imprimez ce mail que si nécessaire


_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: [Win32] libboost compiling - trouble with opal

by Michael Rickmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hallo,
yes I have succeded with your instructions, but the outcome is not quite
what I think that we need. Two of the compiler flags are wrong we need
1) -mthreads instead of -pthreads and 2) -gstabs instead of -g .
Point 1) can be overcome by changing user-config.jam to
using gcc : : i586-mingw32msvc-g++ : ;
toolset.add-requirements
   <toolset>gcc:<target-os>windows
   <toolset>gcc:<threadapi>win32 ;
2) we would need to have across DLL debugging with our Mingw in a debug
version of boost_signals.dll. I have spent now more than a day digging
in the build process of libboost to achive that, failing. The build
seems rather stand alone. As we only need boost_signals.dll in a release
and debug version I definetely prefer a hand crafted Makefile and download.

Moreover, before I could get your instructions working I had to
uninstall Jaunties bjam and boost stuff. Although I got boost somewhat
integrated into the Makefile

### libBOOST++
update-sources::
        echo --- Getting libBOOST++ ...
        $(WGET) -P src $(BOOST_URL)/$(BOOST_ARCHIVE)

$(BOOST_DIR)/user-config.jam: $(SRCDIR)/$(BOOST_ARCHIVE)
        tar xfj $(SRCDIR)/$(BOOST_ARCHIVE)
        ( cd $(BOOST_DIR) ; CC=gcc; CXX=g++; ./bootstrap.sh --prefix=$(BUILDROOT) )
        echo "using gcc : : i586-mingw32msvc-g++ : ; toolset.add-requirements \
        <toolset>gcc:<target-os>windows <toolset>gcc:<threadapi>win32 ;" >
$(BOOST_DIR)/user-config.jam

$(LIBDIR)/$(BOOST_LIB): $(BOOST_DIR)/user-config.jam
        ( cd $(BOOST_DIR) ; ./bjam -d+2 --user-config=user-config.jam
--layout=system  --with-signals \
        variant=release threading=multi link=shared runtime-link=shared
toolset=gcc stage install )

I think that the outcome is not satisfactory.
Regards
Michael

Thierry Simonnet schrieb:

> A little mistake for libboost generation.
>
> For step 4 :
> use
> echo "using gcc : : i586-mingw32msvc-g++ : ; " > user-config.jam
> instead of ....gcc. If not you will have trouble generating .dll library.
>
>
> Michael Rickmann wrote:
>> Thierry Simonnet schrieb:
>>> If somebody is interested, I succeed to compile libbost under linux
>>> for win 32 with mingw .
>>>
>>> 1/ download last version of libboost : boost_1_40_0.tar.gz
>>> 2/ uncompress
>>> 3/ generate bjam for local platform : sh bootstrap.sh
>>> 4/ create a config file for mingw :
>>>
>>>    *
>>>
>>>      touch user-config.jam
>>>
>>>    *
>>>
>>>      echo "using gcc : : i586-mingw32msvc-gcc : ; " > user-config.jam
>>>
>>> 5/ generate library (don't know which one I will use yet)
>>>
>>>    * .dll : ./bjam --user-config=user-config.jam --layout=system
>>>      variant=release threading=multi link=shared runtime-link=shared
>>>      toolset=gcc target-os=windows threadapi=win32 --without-math
>>>      --without-python --without-mpi --without-serialization
>>>      --without-test --without-thread --without-wave --without-date_time
>>>      --without-system --without-filesystem --without-graph
>>>      --without-iostreams --without-program_options --without-regex stage
>>>    * .a : ./bjam --user-config=user-config.jam --layout=system
>>>      variant=release threading=multi link=static runtime-link=static
>>>      toolset=gcc threadapi=win32 --without-math --without-python
>>>      --without-mpi --without-serialization --without-test
>>>      --without-thread --without-wave --without-date_time
>>>      --without-system --without-filesystem --without-graph
>>>      --without-iostreams --without-program_options --without-regex stage
>>>    * .lib : ./bjam --user-config=user-config.jam --layout=system
>>>      variant=release threading=multi link=static runtime-link=static
>>>      toolset=gcc target-os=windows threadapi=win32 --without-math
>>>      --without-python --without-mpi --without-serialization
>>>      --without-test --without-thread --without-wave --without-date_time
>>>      --without-system --without-filesystem --without-graph
>>>      --without-iostreams --without-program_options --without-regex stage
>>>
>>> 6/ execute i586-mingw32svc-ranlib on library
>>>
>>> Ptlib/trunk is ok now. Next step opal/trunk :
>>>
>>> [CC] src/codec/g711a1_plc.cxx
>>> [AR] lib_mingw_x86/libopal_s.a
>>> i586-mingw32msvc-ranlib /root/win32/opal/lib_mingw_x86/libopal_s.a
>>> [LD] lib_mingw_x86/libopal.3.7-beta1.dll
>>> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x3587):
>>> undefined reference to
>>> `OpalEchoCanceler::SetParameters(OpalEchoCanceler::Params const&)'
>>> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x35a3):
>>> undefined reference to `OpalEchoCanceler::SetClockRate(int)'
>>> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xcf0):
>>> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
>>> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xe84):
>>> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
>>> collect2: ld returned 1 exit status
>>> make[1]: *** [/root/win32/opal/lib_mingw_x86/libopal.3.7-beta1.dll]
>>> Error 1
>>> make[1]: Leaving directory `/root/win32/opal'
>>> make: *** [/root/win32/lib/libopal_s.a] Error 2
>>>
>>>
>>>
>>>
>> Great work on boost, I will try your approach tomorrow. As to the Opal
>> error, give attached patch a try. It helped me.
>> Michael
>>
>
>

_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

Re: [Win32] libboost compiling - trouble with opal

by Michael Rickmann :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I have come to a solution for integrating libboost into the Win32 build
process. I learnt from the bjam compilation of boost_signals which
compiler flags they use. I combined them with the ones we need and made
a small subMakefile which we call from our main Win32 Makefile, so no
private binary downloads any longer. You find everything to build a
recent Ekiga master in the attachement. Note, that we currently can not
  use latest Opal (assertion, resp. segfault) - I will put my complaints
about that into a separate post.
Michael

Michael Rickmann schrieb:

> Hallo,
> yes I have succeded with your instructions, but the outcome is not quite
> what I think that we need. Two of the compiler flags are wrong we need
> 1) -mthreads instead of -pthreads and 2) -gstabs instead of -g .
> Point 1) can be overcome by changing user-config.jam to
> using gcc : : i586-mingw32msvc-g++ : ;
> toolset.add-requirements
>   <toolset>gcc:<target-os>windows
>   <toolset>gcc:<threadapi>win32 ;
> 2) we would need to have across DLL debugging with our Mingw in a debug
> version of boost_signals.dll. I have spent now more than a day digging
> in the build process of libboost to achive that, failing. The build
> seems rather stand alone. As we only need boost_signals.dll in a release
> and debug version I definetely prefer a hand crafted Makefile and download.
>
> Moreover, before I could get your instructions working I had to
> uninstall Jaunties bjam and boost stuff. Although I got boost somewhat
> integrated into the Makefile
>
> ### libBOOST++
> update-sources::
>     echo --- Getting libBOOST++ ...
>     $(WGET) -P src $(BOOST_URL)/$(BOOST_ARCHIVE)
>
> $(BOOST_DIR)/user-config.jam: $(SRCDIR)/$(BOOST_ARCHIVE)
>     tar xfj $(SRCDIR)/$(BOOST_ARCHIVE)
>     ( cd $(BOOST_DIR) ; CC=gcc; CXX=g++; ./bootstrap.sh
> --prefix=$(BUILDROOT) )
>     echo "using gcc : : i586-mingw32msvc-g++ : ; toolset.add-requirements \
>     <toolset>gcc:<target-os>windows <toolset>gcc:<threadapi>win32 ;" >
> $(BOOST_DIR)/user-config.jam
>
> $(LIBDIR)/$(BOOST_LIB): $(BOOST_DIR)/user-config.jam
>     ( cd $(BOOST_DIR) ; ./bjam -d+2 --user-config=user-config.jam
> --layout=system  --with-signals \
>     variant=release threading=multi link=shared runtime-link=shared
> toolset=gcc stage install )
>
> I think that the outcome is not satisfactory.
> Regards
> Michael
>
> Thierry Simonnet schrieb:
>> A little mistake for libboost generation.
>>
>> For step 4 :
>> use
>> echo "using gcc : : i586-mingw32msvc-g++ : ; " > user-config.jam
>> instead of ....gcc. If not you will have trouble generating .dll library.
>>
>>
>> Michael Rickmann wrote:
>>> Thierry Simonnet schrieb:
>>>> If somebody is interested, I succeed to compile libbost under linux
>>>> for win 32 with mingw .
>>>>
>>>> 1/ download last version of libboost : boost_1_40_0.tar.gz
>>>> 2/ uncompress
>>>> 3/ generate bjam for local platform : sh bootstrap.sh
>>>> 4/ create a config file for mingw :
>>>>
>>>>    *
>>>>
>>>>      touch user-config.jam
>>>>
>>>>    *
>>>>
>>>>      echo "using gcc : : i586-mingw32msvc-gcc : ; " > user-config.jam
>>>>
>>>> 5/ generate library (don't know which one I will use yet)
>>>>
>>>>    * .dll : ./bjam --user-config=user-config.jam --layout=system
>>>>      variant=release threading=multi link=shared runtime-link=shared
>>>>      toolset=gcc target-os=windows threadapi=win32 --without-math
>>>>      --without-python --without-mpi --without-serialization
>>>>      --without-test --without-thread --without-wave --without-date_time
>>>>      --without-system --without-filesystem --without-graph
>>>>      --without-iostreams --without-program_options --without-regex
>>>> stage
>>>>    * .a : ./bjam --user-config=user-config.jam --layout=system
>>>>      variant=release threading=multi link=static runtime-link=static
>>>>      toolset=gcc threadapi=win32 --without-math --without-python
>>>>      --without-mpi --without-serialization --without-test
>>>>      --without-thread --without-wave --without-date_time
>>>>      --without-system --without-filesystem --without-graph
>>>>      --without-iostreams --without-program_options --without-regex
>>>> stage
>>>>    * .lib : ./bjam --user-config=user-config.jam --layout=system
>>>>      variant=release threading=multi link=static runtime-link=static
>>>>      toolset=gcc target-os=windows threadapi=win32 --without-math
>>>>      --without-python --without-mpi --without-serialization
>>>>      --without-test --without-thread --without-wave --without-date_time
>>>>      --without-system --without-filesystem --without-graph
>>>>      --without-iostreams --without-program_options --without-regex
>>>> stage
>>>>
>>>> 6/ execute i586-mingw32svc-ranlib on library
>>>>
>>>> Ptlib/trunk is ok now. Next step opal/trunk :
>>>>
>>>> [CC] src/codec/g711a1_plc.cxx
>>>> [AR] lib_mingw_x86/libopal_s.a
>>>> i586-mingw32msvc-ranlib /root/win32/opal/lib_mingw_x86/libopal_s.a
>>>> [LD] lib_mingw_x86/libopal.3.7-beta1.dll
>>>> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x3587):
>>>> undefined reference to
>>>> `OpalEchoCanceler::SetParameters(OpalEchoCanceler::Params const&)'
>>>> /root/win32/opal/lib_mingw_x86/obj/connection.o:connection.cxx:(.text+0x35a3):
>>>> undefined reference to `OpalEchoCanceler::SetClockRate(int)'
>>>> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xcf0):
>>>> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
>>>> /root/win32/opal/lib_mingw_x86/obj/pcss.o:pcss.cxx:(.text+0xe84):
>>>> undefined reference to `OpalEchoCanceler::OpalEchoCanceler()'
>>>> collect2: ld returned 1 exit status
>>>> make[1]: *** [/root/win32/opal/lib_mingw_x86/libopal.3.7-beta1.dll]
>>>> Error 1
>>>> make[1]: Leaving directory `/root/win32/opal'
>>>> make: *** [/root/win32/lib/libopal_s.a] Error 2
>>>>
>>>>
>>>>
>>>>
>>> Great work on boost, I will try your approach tomorrow. As to the
>>> Opal error, give attached patch a try. It helped me.
>>> Michael
>>>
>>
>>
>
> _______________________________________________
> Ekiga-devel-list mailing list
> Ekiga-devel-list@...
> http://mail.gnome.org/mailman/listinfo/ekiga-devel-list


_______________________________________________
Ekiga-devel-list mailing list
Ekiga-devel-list@...
http://mail.gnome.org/mailman/listinfo/ekiga-devel-list

ekiga_build-3.3.1-git-391_g765e249.tgz (13K) Download Attachment