Dear list,

I'm trying to build 1.5.0beta1 on FreeBSD 6.1, but there seems a problem
with included boost. Up to 1.4.4 release, FreeBSD's lyx port was using
devel/boost in ports, not included one in lyx. However, it seems
lyx-1.5.0beta1 is using functions which is only in cvs, not release
version of boost-1.33.1, so I tried to build with included boost.

It builds fine if I modify Makefiles not to build src/support/tests and
src/frontends/controllers/tests, but compiled lyx binary dumps core.
When I try to build these test programs, compilation fails saying:

> gmake  convert filetools lstrings
> gmake[7]: entering in directory 
> `/usr/ports/print/lyx-devel/work/lyx-1.5.0beta1/src/support/tests'
> /bin/sh ../../../libtool --tag=CXX --mode=link c++    -L/usr/local/lib 
> -pthread -o convert  convert.o boost.o ../convert.o 
> c++ -pthread -o convert convert.o boost.o ../convert.o  -L/usr/local/lib
> /usr/lib/crt1.o(.text+0x72): In function `_start':
> : undefined reference to `main'
> boost.o(.text+0x18): In function `lyx::boost::throw_exception(std::exception 
> const&)':
> : undefined reference to `boost::assertion_failed(char const*, char const*, 
> char const*, long)'
> ../convert.o(.text+0x266): In function `std::basic_string<wchar_t, 
> std::char_traits<wchar_t>, std::allocator<wchar_t> > 
> lyx::convert<std::basic_string<wchar_t, std::char_traits<wchar_t>, 
> std::allocator<wchar_t> >, int>(int)':
> : undefined reference to `lyx::from_ascii(std::string const&)'
> ../convert.o(.text+0x2f2): In function `std::basic_string<wchar_t, 
> std::char_traits<wchar_t>, std::allocator<wchar_t> > 
> lyx::convert<std::basic_string<wchar_t, std::char_traits<wchar_t>, 
> std::allocator<wchar_t> >, unsigned int>(unsigned int)':
> : undefined reference to `lyx::from_ascii(std::string const&)'
> ../convert.o(.text+0x37e): In function `std::basic_string<wchar_t, 
> std::char_traits<wchar_t>, std::allocator<wchar_t> > 
> lyx::convert<std::basic_string<wchar_t, std::char_traits<wchar_t>, 
> std::allocator<wchar_t> >, unsigned long>(unsigned long)':
> : undefined reference to `lyx::from_ascii(std::string const&)'
> ../convert.o(.text+0x40a): In function `std::basic_string<wchar_t, 
> std::char_traits<wchar_t>, std::allocator<wchar_t> > 
> lyx::convert<std::basic_string<wchar_t, std::char_traits<wchar_t>, 
> std::allocator<wchar_t> >, long>(long)':
> : undefined reference to `lyx::from_ascii(std::string const&)'
> ../convert.o(.text+0x4d6): In function `int lyx::convert<int, 
> std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> 
> > >(std::basic_string<wchar_t, std::char_traits<wchar_t>, 
> std::allocator<wchar_t> >)':
> : undefined reference to `lyx::to_ascii(std::basic_string<wchar_t, 
> std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)'
> gmake[7]: *** [convert] error 1

It seems failing finding out existing functions appropriately. When I
compile, I applied the following patch file to be able to compile on
FreeBSD systems:

> --- configure.orig      Tue Feb 20 08:16:34 2007
> +++ configure   Thu Mar  1 20:14:47 2007
> @@ -23832,7 +23832,7 @@
>  echo "${ECHO_T}yes" >&6
>         :
>  fi
> -       if test "$pkg_failed" == "no" ; then
> +       if test $pkg_failed = no; then
>                 QT4_CORE_INCLUDES=$QT4_CORE_CFLAGS
>  
>                 QT4_CORE_LDFLAGS=`$PKG_CONFIG --libs-only-L QtCore`
> @@ -23909,7 +23909,7 @@
>  echo "${ECHO_T}yes" >&6
>         :
>  fi
> -       if test "$pkg_failed" == "no" ; then
> +       if test $pkg_failed = no; then
>                 QT4_INCLUDES=$QT4_FRONTEND_CFLAGS
>                                 QT4_LDFLAGS=`$PKG_CONFIG --libs-only-L QtCore 
> Qt
> Gui`
>  
> @@ -24152,7 +24152,7 @@
>         fi
>  
>         fi
> -       for ac_prog in moc-qt4 moc
> +       for ac_prog in moc4 moc-qt4 moc
>  do
>    # Extract the first word of "$ac_prog", so it can be a program name with 
> args
> .
>  set dummy $ac_prog; ac_word=$2
> @@ -24197,7 +24197,7 @@
>    test -n "$MOC4" && break
>  done
>  
> -       for ac_prog in uic-qt4 uic
> +       for ac_prog in uic4 uic-qt4 uic
>  do
>    # Extract the first word of "$ac_prog", so it can be a program name with 
> args
> .
>  set dummy $ac_prog; ac_word=$2

I run configure with:

  ./configure  --with-frontend=qt4 --with-extra-lib=/usr/local/lib \
               --with-extra-inc=/usr/local/include \
                --with-qt4-dir=/usr/local

Could you give any suggestions?

Thank you in advance,

--
Koji Yokota ([EMAIL PROTECTED])
Otaru University of Commerce


Reply via email to