octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: QSCINTILLA and build


From: Ben Abbott
Subject: Re: QSCINTILLA and build
Date: Tue, 12 Mar 2013 21:45:48 -0400

On Mar 12, 2013, at 5:57 PM, Rik wrote:

> On 03/11/2013 11:32 AM, address@hidden wrote:
>> Message: 9 Date: Mon, 11 Mar 2013 19:28:26 +0100 From: Torsten
>> <address@hidden> To: Jordi Guti?rrez Hermoso <address@hidden> Cc:
>> address@hidden Subject: Re: Build error on Ubuntu 12.10
>> Message-ID: <address@hidden> Content-Type: text/plain;
>> charset=UTF-8 On 11.03.2013 18:58, Jordi Guti?rrez Hermoso wrote:
>>>> On 11 March 2013 13:44, Ma Xiaojun <address@hidden> wrote:
>>>>>> On Tue, Mar 12, 2013 at 1:25 AM, Jordi Guti?rrez Hermoso
>>>>>> <address@hidden> wrote:
>>>>>>>> Can you provide a patch?
>>>>>> 
>>>>>> No, since I have (yet) limited experience with Autotools and Octave
>>>>>> codebase in general.
>>>> 
>>>> Yeah, we all have limited experience. Looks like you correctly figured
>>>> out the problem and diagnosis despite your limited experience.
>>>> 
>>>>>> As I checked configure.ac, there is detection for QScintilla,
>>>>>> starting from line 2604. However, line 2627-2628 looks like no
>>>>>> action except displaying a warning message is taken when QScintilla
>>>>>> is not found.
>>>> 
>>>> This warning should be rather prominent at the end of the ./configure
>>>> run. Is it?
>>>> 
>>>>>> As I also checked generated config.h, HAVE_QSCINTILLA macro is
>>>>>> correctly undefed. However, the file where the build error occurs has
>>>>>> no check for such macro. (Currently no idea whether QScintilla can be
>>>>>> made optional or not.)
>> Could you please add
>> 
>> #ifdef HAVE_QSCINTILLA
>> #endif
>> 
>> around line 40 of main-window.cc and build octave again. The
>> main-window.cc is full of these #ifdefs around editor-code but the
>> include obviously was forgotten.
> 3/12/13
> 
> All,
> 
> I am easily able to reproduce the original problem by removing my copy of
> Qscintilla.h ('apt-get remove libqscintilla2-dev') and then re-configuring
> and building.  Apparently Qscintilla is used extensively because I had to
> hack a number of files to fix this.  I checked in a changeset that now
> builds even when Qscintilla is not present
> (http://hg.savannah.gnu.org/hgweb/octave/rev/d07aeecb2d22).  It doesn't
> remove the entries for File Editor from the Windows menu, if that is a 
> concern.
> 
> --Rik

Rik,

After your changeset, I see the error below (with qscintilla installed).

/bin/sh ../libtool  --tag=CXX   --mode=compile /opt/local/bin/g++-mp-4.5 
-DHAVE_CONFIG_H -I. -I..   -I/opt/local/include -I/opt/local/include/QtCore 
-I/opt/local/include/QtGui -I/opt/local/include/QtNetwork 
-I./qterminal/libqterminal -Isrc -I./src -I./src/m-editor 
-I./src/octave-adapter -I./src/qtinfo -I../liboctave/cruft/misc 
-I../liboctave/array -I../liboctave/numeric -I../liboctave/numeric 
-I../liboctave/operators -I../liboctave/operators -I../liboctave/system 
-I../liboctave/util -I../libinterp -I../libinterp -I../libinterp/parse-tree 
-I../libinterp/parse-tree -I../libinterp/interp-core -I../libinterp/interp-core 
-I../libinterp/interpfcn -I../libinterp/interpfcn -I../libinterp/octave-value 
-D_THREAD_SAFE -I/opt/local/include -I/opt/local/include  -isystem 
/opt/local/libexec/llvm-3.1/include -I/opt/local/include/freetype2 
-I/opt/local/include   -I/opt/local/include   -Wall -W -Wshadow 
-Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings -Wcast-align 
-Wcast-qual -pipe -O0 -g -m64 -ggdb3 -gstabs -D_THREAD_SAFE -D_THREAD_SAFE 
-pthread -MT src/m-editor/src_libgui_src_la-moc-lexer-octave-gui.lo -MD -MP -MF 
src/m-editor/.deps/src_libgui_src_la-moc-lexer-octave-gui.Tpo -c -o 
src/m-editor/src_libgui_src_la-moc-lexer-octave-gui.lo `test -f 
'src/m-editor/moc-lexer-octave-gui.cc' || echo 
'./'`src/m-editor/moc-lexer-octave-gui.cc
libtool: compile:  /opt/local/bin/g++-mp-4.5 -DHAVE_CONFIG_H -I. -I.. 
-I/opt/local/include -I/opt/local/include/QtCore -I/opt/local/include/QtGui 
-I/opt/local/include/QtNetwork -I./qterminal/libqterminal -Isrc -I./src 
-I./src/m-editor -I./src/octave-adapter -I./src/qtinfo 
-I../liboctave/cruft/misc -I../liboctave/array -I../liboctave/numeric 
-I../liboctave/numeric -I../liboctave/operators -I../liboctave/operators 
-I../liboctave/system -I../liboctave/util -I../libinterp -I../libinterp 
-I../libinterp/parse-tree -I../libinterp/parse-tree -I../libinterp/interp-core 
-I../libinterp/interp-core -I../libinterp/interpfcn -I../libinterp/interpfcn 
-I../libinterp/octave-value -D_THREAD_SAFE -I/opt/local/include 
-I/opt/local/include -isystem /opt/local/libexec/llvm-3.1/include 
-I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include -Wall 
-W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-strings 
-Wcast-align -Wcast-qual -pipe -O0 -g -m64 -ggdb3 -gstabs -D_THREAD_SAFE 
-D_THREAD_SAFE -pthread -MT 
src/m-editor/src_libgui_src_la-moc-lexer-octave-gui.lo -MD -MP -MF 
src/m-editor/.deps/src_libgui_src_la-moc-lexer-octave-gui.Tpo -c 
src/m-editor/moc-lexer-octave-gui.cc  -fno-common -DPIC -o 
src/m-editor/.libs/src_libgui_src_la-moc-lexer-octave-gui.o
mv -f src/m-editor/.deps/src_libgui_src_la-moc-lexer-octave-gui.Tpo 
src/m-editor/.deps/src_libgui_src_la-moc-lexer-octave-gui.Plo
In file included from src/moc-main-window.cc:10:0:
src/main-window.h:160:3: error: 'file_editor_interface' does not name a type
./qterminal/libqterminal/unix/CharacterColor.h:102:54: warning: 
'base_color_table' defined but not used
make[3]: *** [src/src_libgui_src_la-moc-main-window.lo] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

I haven't tried to debug the problem, but looking at your changeset, the part 
below doesn't look correct to me.

     1.7 +#ifdef HAVE_QSCINTILLA
     1.8 +
     1.9  #include <QMenu>
    1.10  #include <QToolBar>
    1.11  #include "octave-dock-widget.h"
    1.12 @@ -61,4 +63,6 @@
    1.13
    1.14  };
    1.15  
    1.16 -#endif // FILEEDITORINTERFACE_H
    1.17 +#endif  // HAVE_QSCINTILLA

Is there is still a "#ifdef FILEEDITORINTERFACE_H" left behind somewhere?

Ben

reply via email to

[Prev in Thread] Current Thread [Next in Thread]