Closed Bug 210514 Opened 21 years ago Closed 21 years ago

Compile of Calender from 1_4_BRANCH fails on Solaris 2.8

Categories

(Calendar :: General, defect)

Sun
Solaris
defect
Not set
major

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: anlan, Assigned: mostafah)

Details

User-Agent:       Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4) Gecko/20030623
Build Identifier: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4) Gecko/20030623

CVS checkout of MOZILLA_1_4_BRANCH on 2003-06-23.

gcc version 2.95.2 19991024 (release)
GNU Make 3.80

Config:
ac_add_options --prefix=/sw/mozilla-1.4rc2
ac_add_options --with-x
ac_add_options --enable-default-toolkit=gtk
ac_add_options --enable-toolkit-gtk
ac_add_options --disable-toolkit-xlib
ac_add_options --disable-toolkit-qt
ac_add_options --enable-crypto
ac_add_options --enable-jsd
ac_add_options --enable-xinerama
ac_add_options --enable-ctl
ac_add_options --enable-js-ultrasparc
ac_add_options --disable-debug
ac_add_options --enable-optimize=-O2
ac_add_options --disable-tests
ac_add_options --enable-strip
ac_add_options --enable-default-mozilla-five-home=/sw/mozilla-1.4rc2
ac_add_options --disable-glibtest
ac_add_options --enable-xterm-updates
ac_add_options --enable-calendar
ac_add_options --enable-x11-shm


Reproducible: Always

Steps to Reproduce:
1.
2.
3.

Actual Results:  
gcc -o icallangbind.o -c -DOSTYPE=\"SunOS5\" -DOSARCH=\"SunOS\" -I. -I.
-I../../../../dist/include/ical -I../../../../dist/include
-I/.scratch/tmp/mozilla/dist/include/nspr         -fPIC  -pedantic
-Wno-long-long -pthreads  -DNDEBUG -DTRIMMED -O2   -include
../../../../mozilla-config.h -DMOZILLA_CLIENT
-Wp,-MD,.deps/icallangbind.pp icallangbind.c
lex  -t icallexer.l > icallexer.c
"icallexer.l":line 82: Error: Too late for %array
gmake[5]: *** [icallexer.c] Error 1
gmake[5]: *** Deleting file `icallexer.c'
gmake[5]: Leaving directory
`/.scratch/tmp/mozilla/other-licenses/libical/src/libical'
gmake[4]: *** [libs] Error 2
gmake[4]: Leaving directory
`/.scratch/tmp/mozilla/other-licenses/libical/src'
gmake[3]: *** [libs] Error 2
gmake[3]: Leaving directory `/.scratch/tmp/mozilla/other-licenses/libical'
gmake[2]: *** [tier_98] Error 2
gmake[2]: Leaving directory `/.scratch/tmp/mozilla'
gmake[1]: *** [default] Error 2
gmake[1]: Leaving directory `/.scratch/tmp/mozilla'
gmake: *** [build] Error 2


If "--enable-calendar" is removed, everything builds fine.
Mostafa is helping out on IRC as I write this.
Assignee: mikep → mostafah
Status: UNCONFIRMED → NEW
Ever confirmed: true
anlan@informatix:~> which lex
/usr/ccs/bin/lex
anlan@informatix:~> lex -V
lex: Software Generation Utilities (SGU) Solaris-ELF (4.0)
anlan@informatix:~> which flex
/sw/gnu/bin/flex
anlan@informatix:~> flex -V
flex version 2.5.4

"lex -t icallexer.l" fails with '"icallexer.l":line 82: Error: Too late for
%array' as reported above, while flex can handle the file as it should.

I'm not sure about the best way to consistently force the makefiles to go for
'flex' instead of 'lex'.
As far as I can see, the libcal configure/Makefile (even in 0.23) tries to find
flex and use that instead of lex, but that has been pruned from the files in the
Mozilla tree.
Making sure 'lex' pointed to 'flex' seemed enough to make the 1.4 source relase
compile on our system, calendar and all.

Looking around in the source for libical 0.24rc4, it seems the
libical/src/libical/icallexer.l has been removed. 

From the changelog:

2002-06-28  Andrea Campi  <a.campi@inet.it>

 [...]
        * src/libical/icallexer.c
        * src/libical/icallexer.l
        * src/libical/icalyacc.c
        * src/libical/icalyacc.h
        * src/libical/icalyacc.y: Sent lex/yacc code to Attic.
 [...]  

2002-06-28  Eric Busboom  <eric@softwarestudio.org>

        * src/libical/Makefile.am
        * src/libical/icalduration.c
        * src/libical/icalparser.c
        * src/libical/icalvalue.c
        * src/libical/icalyacc.c
        * src/libical/icalyacc.h: removed lex and yacc by writing
        code to parse UTC-OFFSET


However, flex is still necessary for libical/src/libicalss/icalsslexer.l. Trying
to use the old (default) lex on that file produces the same error as originally
reported in this bug, while flex handles it nicely.
OS: SunOS → Solaris
I'm not sure, but currently I believe that the cause of this is that make
could't see any difference between the timestamps for the files and so went on
to regenerate files unnecessarily. 

While testing builds with 1.4.1 it seemed enough to checkout and then touch the
relevent files (eg icallexer.c) before building.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → INVALID
The bugspam monkeys have been set free and are feeding on Calendar :: General. Be afraid for your sanity!
QA Contact: gurganbl → general
You need to log in before you can comment on or make changes to this bug.