Bug 55810 - Unable to compile on SPARC/SOLARIS 9
Summary: Unable to compile on SPARC/SOLARIS 9
Status: RESOLVED WORKSFORME
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 1.1.1
Platform: Compiled Sources Solaris
: NOR normal
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-10 20:45 UTC by Lars Tunkrans
Modified: 2003-03-14 18:08 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lars Tunkrans 2003-03-10 20:45:54 UTC
Version:           1.1.1 (using KDE KDE 3.1)
Installed from:    Compiled From Sources
Compiler:          GCC 3.2.2 
OS:          Solaris

# ./configure
checking build system type... sparc-sun-solaris2.9
checking host system type... sparc-sun-solaris2.9
checking target system type... sparc-sun-solaris2.9
checking for a BSD-compatible install... /opt/sfw/bin/ginstall -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking whether g++ supports -fno-exceptions... yes
checking whether g++ supports -fno-check-new... yes
checking whether g++ supports -fexceptions... yes
checking how to run the C++ preprocessor... g++ -E
checking whether g++ supports -frepo... yes
checking for ld used by GCC... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/ccs/bin/nm -p
checking for a sed that does not truncate output...
checking whether ln -s works... yes
checking how to recognise dependant libraries... pass_all
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... no
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking the maximum length of command line arguments... 262144
checking command to parse /usr/ccs/bin/nm -p output from gcc object... ok
checking for objdir... .libs
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag  works... yes
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... solaris2.9 ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... solaris2.9 ld.so
appending configuration tag "GCJ" to libtool
checking if gcj supports -fno-rtti -fno-exceptions... (cached) yes
checking for gcj option to produce PIC... -fPIC
checking if gcj PIC flag -fPIC works... no
checking if gcj supports -c -o file.o... no
checking whether the gcj linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... solaris2.9 ld.so
checking for msgfmt... /opt/sfw/bin/msgfmt
checking for gmsgfmt... /opt/sfw/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
found xgettext programs is not GNU xgettext; ignore it
checking for main in -lutil... no
checking for main in -lcompat... no
checking for crypt in -lcrypt... yes
checking for socklen_t... socklen_t
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for inet_ntoa... no
checking for inet_ntoa in -lnsl... yes
checking for connect... no
checking for connect in -lsocket... yes
checking for remove... yes
checking for shmat... yes
checking for res_init... no
checking for killpg in -lucb... yes
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for char... yes
checking size of char... 1
checking for dlopen in -ldl... yes
checking for shl_unload in -ldld... no
checking for X... libraries , headers
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
checking for Xinerama... no
checking for pthread_create in -lpthread... yes
checking whether g++ supports -mt... no
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for Qt... libraries /usr/local/qt/lib, headers /usr/local/qt/include using -mt
checking if Qt compiles without flags... no
checking for moc... /usr/local/qt/bin/moc
checking for uic... /usr/local/qt/bin/uic
checking whether uic supports -L ... yes
checking whether uic supports -nounload ... yes
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... libraries /usr/local/kde/lib, headers /usr/local/kde/include
checking for KDE paths... defaults
checking for dcopidl... /usr/local/kde/bin/dcopidl
checking for dcopidl2cpp... /usr/local/kde/bin/dcopidl2cpp
checking for mcopidl... /usr/local/kde/bin/mcopidl
checking for artsc-config... /usr/local/kde/bin/artsc-config
checking for kde-config... /usr/local/kde/bin/kde-config
checking for meinproc... /usr/local/kde/bin/meinproc
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for setenv... no
configure: creating ./config.status
fast creating uml.spec
config.status: creating config.h
config.status: executing depfiles commands
checking if doc should be compiled... yes
checking if po should be compiled... yes
checking if uml should be compiled... yes
configure: creating ./config.status
fast creating uml.spec
fast creating ./Makefile
fast creating doc/Makefile
fast creating doc/de/Makefile
fast creating doc/de/pics/Makefile
fast creating doc/en/Makefile
fast creating doc/en/pics/Makefile
fast creating doc/sk/Makefile
fast creating doc/sk/pics/Makefile
fast creating po/Makefile
fast creating uml/Makefile
fast creating uml/classparser/Makefile
fast creating uml/clipboard/Makefile
fast creating uml/codegenerators/Makefile
fast creating uml/dialogs/Makefile
fast creating uml/headings/Makefile
fast creating uml/pics/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
# gmake
cd . && /bin/bash ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
gmake  all-recursive
gmake[1]: Entering directory `/opt/src/kde3apps/umbrello-1.1.1'
Making all in uml
gmake[2]: Entering directory `/opt/src/kde3apps/umbrello-1.1.1/uml'
Making all in classparser
gmake[3]: Entering directory `/opt/src/kde3apps/umbrello-1.1.1/uml/classparser'
flex -+ -otokenizer.cc tokenizer.l
source='tokenizer.cc' object='tokenizer.o' libtool=no \
depfile='.deps/tokenizer.Po' tmpdepfile='.deps/tokenizer.TPo' \
depmode=gcc3 /bin/bash ../../admin/depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/local/kde/include -I/usr/local/qt/include    -DQT_THREAD_SUPPORT -I/usr/sfw/include -I/opt/sfw/include -I/usr/local/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4  -O2 -mcpu=ultrasparc -Wa,-xarch=v8plusa -fno-exceptions -fno-check-new  -c -o tokenizer.o `test -f 'tokenizer.cc' || echo './'`tokenizer.cc
In file included from /usr/local/include/c++/3.2.2/backward/iostream.h:31,
                 from /opt/sfw/include/FlexLexer.h:47,
                 from tokenizer.cc:238:
/usr/local/include/c++/3.2.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
In file included from /opt/sfw/include/FlexLexer.h:47,
                 from tokenizer.cc:238:
/usr/local/include/c++/3.2.2/backward/iostream.h:36: using declaration `istream
   ' introduced ambiguous type `istream'
tokenizer.cc: In member function `virtual int yyFlexLexer::yylex()':
tokenizer.cc:1311: cannot convert `std::istream*' to `istream*' in assignment
tokenizer.cc: In member function `void yyFlexLexer::yy_load_buffer_state()':
tokenizer.cc:1842: cannot convert `istream*' to `std::istream*' in assignment
tokenizer.cc: In member function `void
   yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*)':
tokenizer.cc:1893: cannot convert `std::istream*' to `istream*' in assignment
gmake[3]: *** [tokenizer.o] Error 1
gmake[3]: Leaving directory `/opt/src/kde3apps/umbrello-1.1.1/uml/classparser'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/opt/src/kde3apps/umbrello-1.1.1/uml'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/opt/src/kde3apps/umbrello-1.1.1'
gmake: *** [all] Error 2
#
Comment 1 Jonathan Riddell 2003-03-11 15:23:50 UTC
This looks like a problem with flex rather than Solaris.

What is your version of Flex and gcc?  It may be the flex is too old a version
for gcc.

Jonathan Riddell
Comment 2 Lars Tunkrans 2003-03-11 21:27:30 UTC
Subject: Re:  Unable to compile on SPARC/SOLARIS 9

Jonathan Riddell wrote:
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.
>      
> http://bugs.kde.org/show_bug.cgi?id=55810     
> 
> 
> 
> 
> ------- Additional Comments From jr@jriddell.org  2003-03-11 15:23 -------
> This looks like a problem with flex rather than Solaris.
> 
> What is your version of Flex and gcc?  It may be the flex is too old a version
> for gcc.
> 
> Jonathan Riddell
> 


   I had  Flex  2.5.4   and  GCC 3.2.2  installed.
  I just now upgraded to flex 2.5.4a  wich seems to be the
  latest available flex version. Both packages comes from
  www.sunfreeware.com

  The problem remains exaclty identical with flex 2.5.4a.

  I reported this bug because :

    If umbrello will be included in KDE 3.2  it should
be possible to compile "straight Out of the box "  on
Solaris .  There is just a two Standard KDE 3.1  packages that
does not compile on SPARC/Solaris and those are concerned with
PC Hardware like "kdeadmin/kxconfig" and "kdeadmin/kuser" , and
kuser does compile if quotamanagement is switched off.

//Lars

Comment 3 Lars Tunkrans 2003-03-11 23:03:50 UTC
Subject: Re:  Unable to compile on SPARC/SOLARIS 9

This is what happends  I I delete "Flex" and  try to
use "lex"  instead.

First:

pkgrm SMCflex

gmake distclean && ./configure

Then:

# gmake
cd . && /bin/bash ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
gmake  all-recursive
gmake[1]: Entering directory `/opt/src/kde3apps/umbrello-1.1.1'
Making all in uml
gmake[2]: Entering directory `/opt/src/kde3apps/umbrello-1.1.1/uml'
Making all in classparser
gmake[3]: Entering directory `/opt/src/kde3apps/umbrello-1.1.1/uml/classparser'
lex -+ -otokenizer.cc tokenizer.l
lex: illegal option -- +
Usage: lex [-ewctvnVY] [-Q(y/n)] [file]
gmake[3]: *** [tokenizer.cc] Error 1
gmake[3]: Leaving directory `/opt/src/kde3apps/umbrello-1.1.1/uml/classparser'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/opt/src/kde3apps/umbrello-1.1.1/uml'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/opt/src/kde3apps/umbrello-1.1.1'
gmake: *** [all] Error 2
-----------------


User Commands                                              lex(1)

NAME
      lex - generate programs for lexical tasks

SYNOPSIS
      lex [-cntv] [-e | -w]  [ -V -Q
       [y | n] ] [file...]

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

Apperantly   "configure" finds "lex"  but the flags
are still in "flex"-style.


I Agree that the problem seems to bee some incompatability between
the modern GCC 3.2.2 and the somewhat dated flex from 1997/8

I even tried to rebuild "flex" from source .  Still the same "istream"
problem.

//Lars


Comment 4 Lars Tunkrans 2003-03-14 18:08:51 UTC
  Problem resolved by installing  FLEX 2.5.27  from  http://lex.sourceforge.net 
  download page http://sourceforge.net/project/showfiles.php?group_id=72099

  This is the modern version of Flex. The flex available from  the GNU 
  mirrors  is 6 years old.

  Also  Umbrello 1.1.1 needs a one-line patch in the file            
./umbrello-1.1.1/uml/classparser/tokenizer.l

  The patch is the string   "%option noyywrap" 
  a good place to but it is at line 57 after the other similar 
  declarations.

  //Lars