Skip to main content

PhoneME b23 for win32 build problem

3 replies [Last post]
vkolotov
Offline
Joined: 2007-12-17

Hi all. Guys could you please help us.

We are trying to build phoneme_feature-mr2-rel-src-b23-08_may-2007.zip for windows, but we are failed with building PCSL.

We are doing everything how it says in guide for porting PhoneME - https://phoneme.dev.java.net/content/mr2/index_feature.html.

But we are failed with this step - https://phoneme.dev.java.net/content/mr2/pcsl_feature.html

Javacall is build perfectly, no errors happened.

We called build of PCSL in this way:


call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"
make -C D:/Projects/ASP/PhoneME/phoneme_feature/pcsl PCSL_PLATFORM=javacall_i386_vc PCSL_OUTPUT_DIR=D:/Projects/ASP/PhoneME/phoneme_feature/build_output/pcsl JAVACALL_OUTPUT_DIR=D:/Projects/ASP/PhoneME/phoneme_feature/build_output/javacall

And tired to get following:

D:\Projects\ASP\PhoneME\tools>call "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"
Setting environment for using Microsoft Visual Studio 2005 x86 tools.
make: Entering directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl'
generating config file...
building all modules...
cd D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/types; make all
d:\cyg4me\bin\make.exe[1]: Entering directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/types'
d:\cyg4me\bin\make.exe[1]: Leaving directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/types'
cd D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/print; make all
d:\cyg4me\bin\make.exe[1]: Entering directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/print'
building print module...
d:\cyg4me\bin\make.exe[2]: Entering directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/print/javacall'
d:\cyg4me\bin\make.exe[2]: Leaving directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/print/javacall'
d:\cyg4me\bin\make.exe[1]: Leaving directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/print'
cd D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/memory; make all
d:\cyg4me\bin\make.exe[1]: Entering directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/memory'
building memory port module...
-d was unexpected at this time.
must was unexpected at this time.
D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/memory/memory_port/../../makefiles/share/javacall.gmk:47: *** ${JAVACALL_OUTPUT_DIR} does not point to a directory.
Stop.
make.exe[2]: Entering directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/memory/memory_port'
make.exe[2]: Leaving directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/memory/memory_port'
d:\cyg4me\bin\make.exe[1]: *** [all] Error 2
d:\cyg4me\bin\make.exe[1]: Leaving directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl/memory'
make: *** [all] Error 2
make: Leaving directory `D:/Projects/ASP/PhoneME/phoneme_feature/pcsl'

Line 47 of javacall.gmk contains following (mark bold):

INVALID_JAVACALL_OUTPUT_DIR = (\
echo ===================================================================== ; \
echo JAVACALL_OUTPUT_DIR \(environment or GNUmake variable\) must be set. ; \
echo Please set it such that it is possible to access ; \
echo \$${JAVACALL_OUTPUT_DIR}/inc and \$${JAVACALL_OUTPUT_DIR}/lib ; \
echo directories. ; \
echo ===================================================================== )

ifeq ($(JAVACALL_OUTPUT_DIR),)
$(shell $(INVALID_JAVACALL_OUTPUT_DIR) 1>&2)
$(error JAVACALL_OUTPUT_DIR is not set)
endif
ifneq ($(shell if test -d $(JAVACALL_OUTPUT_DIR); then echo valid; fi),valid)
echo $(JAVACALL_OUTPUT_DIR)
$(shell $(INVALID_JAVACALL_OUTPUT_DIR) 1>&2)
$(error $${JAVACALL_OUTPUT_DIR} does not point to a directory)
endif
ifneq ($(shell if test -d $(JAVACALL_OUTPUT_DIR)/inc; then echo valid; fi),valid)
$(shell $(INVALID_JAVACALL_OUTPUT_DIR) 1>&2)
$(error $${JAVACALL_OUTPUT_DIR}/inc is not a directory)
endif
ifneq ($(shell if test -d $(JAVACALL_OUTPUT_DIR)/lib; then echo valid; fi),valid)
$(shell $(INVALID_JAVACALL_OUTPUT_DIR) 1>&2)
$(error $${JAVACALL_OUTPUT_DIR}/lib is not a directory)
endif

JAVACALL_INCLUDE_DIR=$(JAVACALL_OUTPUT_DIR)/inc

CFLAGS += -I$(JAVACALL_INCLUDE_DIR)

It seems the environment variable JAVACALL_OUTPUT_DIR isn't available from gmk script.

Do any idea?

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
vkolotov
Offline
Joined: 2007-12-17

Answered

vkolotov
Offline
Joined: 2007-12-17

Hi Guys!
We was successfully builded PhoneME MR2 b23 for win32.

It turned out that at some point in the assembly pcsl weak path to cyg4me, in other words, global environment variable 'path' is exposed for changes.

Also, we had clarified that it is very important difference to use slash and the backslash in the path to files and directories.

[b]Build files that we used:[/b]

[b]1. Setting up variables:[/b]
variables.bat

[i]
call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat"

set MEHOME=D:/Projects/ASP/PhoneME/phoneme_feature
set BUILD_OUTPUT_DIR=D:/Projects/ASP/PhoneME/phoneme_feature/build_output
set CYG4ME=d:\cyg4me
set JDK_DIR=D:/java/j2sdk1.4.2_06
set PCSL_PLATFORM=javacall_i386_vc
set JAVACALL_PLATFORM=win32_i386_vc

set JAVACALL_DIR=%MEHOME%/javacall
set JAVACALL_PROJECT_DIR=%MEHOME%/javacall-com
set JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall

set PCSL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/pcsl

set JVMWorkSpace=%MEHOME%/cldc
set JVMBuildSpace=%BUILD_OUTPUT_DIR%/cldc

set MIDP_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/midp
set CLDC_DIST_DIR=%BUILD_OUTPUT_DIR%/cldc/javacall_i386_vc/dist
set TOOLS_DIR=%MEHOME%/tools

set PATH=%JDK_DIR%/bin;%CYG4ME%\bin;%PATH%
[/i]

[b]2. Building PCSL[/b]

[i]
call variables.bat

set BuildDir=%MEHOME%\\pcsl

make -C %BuildDir%
[/i]

[b]3. Building CLDC[/b]

[i]

call variables.bat

set BuildDir=%JVMWorkSpace%/build/javacall_i386_vc

make -C %BuildDir% ENABLE_PCSL=true ENABLE_ISOLATES=true
[/i]

[b]4. Building MIDP[/b]

[i]
call variables.bat

set BuildDir=%MEHOME%/midp/build/javacall

make -C %BuildDir% USE_MULTIPLE_ISOLATES=true
[/i]

Best regards.

yevgenydiomidov
Offline
Joined: 2006-08-07

Dear VKolotov,

Could you reply with the version of make you are using?
Also output of "set" command would help us to understand the problem.
Visual Studio 2005 has not supported for all components now (just for javacall and pcsl), but we are going to support it in a few days.

Thank you,
Yevgeny