HI,
I tried to compile fsa on my computer, which use
fedora kernel and use g++ (GCC) 3.4.3 20050227 but
unsuccessful. Could you please help me ?
Below is the error appeared when I tried to compile:
-------------------------------------------------------
Rules.make:99: warning: overriding commands for target
`install'
Makefile:43: warning: ignoring old commands for target
`install'
make: ccgnu2-config: Command not found
make: ccgnu2-config: Command not found
********************************************************************************
Project: The RWTH FSA Toolkit
********************************************************************************
Build host: local
Build date: Wed Jun 29 16:37:47 CEST 2005
Build directory: /users/owentn/fsa-0.9.1
Processor: intel
Operating system: linux
Version: - standard
Profiling: none
Compiler: gcc / g++
Preprocessor flags: -DSTANDARD -DBUILD=""
-DPROC_intel -DOS_linux -DARCH_linux_intel
-D__BASE_DIR__="/users/owentn/fsa-0.9.1" -D_GNU_SOURCE
-DTIMESTAMP -I. -I./src -I/usr/include/libxml2 -I
C compiler flags: -pipe -funsigned-char
-fno-exceptions -pedantic -Wall -Wno-long-long
-march=i686 -ffast-ma th -O2 -std=c99
C++ compiler flags: -pipe -funsigned-char
-fno-exceptions -pedantic -Wall -Wno-long-long
-march=i686 -ffast-ma th -O2 -fpermissive
-std=c++98
Linker: g++
Linker flags: -L/usr/lib -lxml2 -lz
-lpthread -lm -lz -lm -rdynamic
Installation directories:
Base:
Binaries:
Includes:
Libraries:
********************************************************************************
make -C src build
which: no ccache in
make[1]: Entering directory
`/users/owentn/fsa-0.9.1/src'
../Rules.make:99: warning: overriding commands for
target `install'
Makefile:30: warning: ignoring old commands for target
`install'
make -C Core libSprintCore.linux-intel-standard.a
which: no ccache in
make[2]: ccgnu2-config: Command not found
make[2]: Entering directory
`/users/owentn/fsa-0.9.1/src/Core'
compiling Application.cc
In file included from ../../src/Core/TextStream.hh:24,
from XmlStream.hh:26,
from Configuration.hh:21,
from Configurable.hh:20,
from Component.hh:21,
from Application.hh:22,
from Application.cc:21:
../../src/Core/Types.hh:79: error: an explicit
specialization must be preceded by 'template <>'
In file included from Channel.hh:21,
from Component.hh:22,
from Application.hh:22,
from Application.cc:21:
../../src/Core/Hash.hh:19:30: ext/stl_hash_fun.h: No
such file or directory
In file included from Channel.hh:23,
from Component.hh:22,
from Application.hh:22,
from Application.cc:21:
../../src/Core/Thread.hh:18:25: cc++/thread.h: No such
file or directory
In file included from Channel.hh:23,
from Component.hh:22,
from Application.hh:22,
from Application.cc:21:
../../src/Core/Thread.hh:23: error: `ost' has not been
declared
../../src/Core/Thread.hh:24: error: invalid use of
undefined type `class Core::Mutex'
../../src/Core/Thread.hh:22: error: forward
declaration of `class Core::Mutex'
../../src/Core/Thread.hh: In constructor
`Core::Mutex::Mutex()':
../../src/Core/Thread.hh:26: error: `ost' has not been
declared
../../src/Core/Thread.hh:26: error: type `class
Core::Mutex' is not a direct base of `Core::Mutex'
../../src/Core/Thread.hh: In member function `void
Core::Mutex::lock()':
../../src/Core/Thread.hh:27: error: `enterMutex'
undeclared (first use this function)
../../src/Core/Thread.hh:27: error: (Each undeclared
identifier is reported only once for each function it
appears i n.)
../../src/Core/Thread.hh: In member function `void
Core::Mutex::release()':
../../src/Core/Thread.hh:28: error: `leaveMutex'
undeclared (first use this function)
../../src/Core/Thread.hh: At global scope:
../../src/Core/Thread.hh:31: error: `ost' has not been
declared
../../src/Core/Thread.hh:31: error: invalid use of
undefined type `class Core::MutexLock'
../../src/Core/Thread.hh:31: error: forward
declaration of `class Core::MutexLock'
../../src/Core/Thread.hh:33: error: `ost' has not been
declared
../../src/Core/Thread.hh: In constructor
`Core::MutexLock::MutexLock(Core::Mutex&)':
../../src/Core/Thread.hh:33: error: `ost' has not been
declared
../../src/Core/Thread.hh:33: error: type `class
Core::MutexLock' is not a direct base of
`Core::MutexLock'
../../src/Core/Thread.hh: At global scope:
../../src/Core/Thread.hh:36: error: `ost' has not been
declared
../../src/Core/Thread.hh:36: error: invalid use of
undefined type `class Core::Conditional'
../../src/Core/Thread.hh:36: error: forward
declaration of `class Core::Conditional'
../../src/Core/Thread.hh:48: error: `ost' has not been
declared
../../src/Core/Thread.hh:48: error: invalid use of
undefined type `class Core::Thread'
../../src/Core/Thread.hh:48: error: forward
declaration of `class Core::Thread'
Application.cc:220:2: warning: #warning is a GCC
extension
Application.cc:220:2: warning: #warning "This is a
workaround for possible bug in LIBC 2.3.2. We are
waiting for an answer on our bug report."
make[2]: ***
[.build/linux-intel-standard/Application.o] Error 1
make[2]: Leaving directory
`/users/owentn/fsa-0.9.1/src/Core'
make[1]: *** [Core] Error 2
make[1]: Leaving directory
`/users/owentn/fsa-0.9.1/src'
make: *** [build] Error 2
____________________________________________________
Yahoo! Sports
Rekindle the Rivalries. Sign up for Fantasy Football
http://football.fantasysports.yahoo.com
Fsa seemed to have no way of constructing the cross product of two
acceptors, so I wrote a function that would do it. I think I must
have handled the alphabets wrong, because when I concatenate such a
transducer with others, I get arcs with 2147483647 for the label.
Here's what I did:
crossProduct is a function that maps the output labels of the first
transducer and the input labels of the second transducer to epsilon,
and then composes them.
To map input labels and output labels to epsilon, I have two different
classes extending ModifyAutomaton:
EpsilonInputAutomaton replaces all of the arc input labels with
Epsilon, and returns an empty Alphabet from getInputAlphabet.
EpsilonOutputAutomaton does likewise with the outputs.
Is there something obviously wrong with this that should lead to
InvalidLabelId (which I think 2147483647 corresponds to) when I
concatenate a transducer produced using my crossProduct function?
Thanks,
Roy