PDA

View Full Version : problems to build under suse9.0



ppap
04-19-2004, 12:29 AM
Hello there
I download and try to build ml-1_0beta2.linux.tgz
so i have some problems to build and i want any help.
when i try to use the ./BUILD_LINUX -n
i have this
linux:/home/petp/ml # ./BUILD_LINUX -n

Setting the environment variables now.

WORKAREA=/home/petp/ml
XPROOT=/home/petp/ml
DIST_ROOT=/home/petp/ml/linux
LROOT=/home/petp/ml/linux
BOOT_ROOT=/home/petp/ml/oss/make/linux
LD_LIBRARY_PATH=:/home/petp/ml/linux/usr/lib
PATH=/usr/sbin:/bin:/usr/bin:/sbin:/usr/X11R6/bin:/home/petp/ml/linux/usr/sbin:/home/petp/ml/linux/usr/bin
./BUILD_LINUX: line 41: return: can only `return' from a function or sourced script

Continue with the build of the ML modules? (y/n)[y] n
linux:/home/petp/ml #
so i cant use the source ./SET_ENV
if i try i have this

linux:/home/petp/ml # source ./SET_ENV
bash: ./SET_ENV: line 25: syntax error near unexpected token `else'
bash: ./SET_ENV: line 25: `else'
linux:/home/petp/ml #

ps: i change the #! /bin/csh
to #! /bin/sh

so if i do ./BUILD_LINUX
it builds with out any problmes
and i have finaly that

The ML build has completed.

The ML dsos, executables, example source, man pages, and
include files have been installed under /linux/.
Example executables are under /oss/examples/linux.

Run the VERIFY_LINUX script to verify the operation of ML.
linux:/home/petp/ml # ./VERIFY_LINUX

This script will verify ML module build by invoking
mldaemon and test if it runs by invoking mlquery.
You may need root privilege to run this script.

Setting the environment variables now.

WORKAREA=/home/petp/ml
XPROOT=/home/petp/ml
DIST_ROOT=/home/petp/ml/linux
LROOT=/home/petp/ml/linux
BOOT_ROOT=/home/petp/ml/oss/make/linux
LD_LIBRARY_PATH=:/home/petp/ml/linux/usr/lib
PATH=/usr/sbin:/bin:/usr/bin:/sbin:/usr/X11R6/bin:/home/petp/ml/linux/usr/sbin:/home/petp/ml/linux/usr/bin

Do you have a bttv video4linux device and would like it
installed in the kernel now? (y/n)[n]

Press return to install mldaemon:

mldaemon has been installed.
Press return to test if mldaemon is running
and if mlquery can recognize any of the ML devices:


SYSTEM: linux.
active UST: (default software UST source)

DEVICES:
nullXcode:0
OSS audio device:0

*** Verification finished.

To install the ML components on your running system, use:
> su
# . ./BUILD_LINUX -n
# make DIST_ROOT=/ install

You can then use '/sbin/chkconfig mldaemon on' (Red Hat Linux)
to enable the mldaemon to startup each time the system is brought up.
linux:/home/petp/ml #
linux:/home/petp/ml # make DIST_ROOT=/ install
GNUmakefile:17: /oss/make//commondefs: No such file or directory
GNUmakefile:155: no file name for `include'
make: *** No rule to make target `/oss/make//commondefs'. Stop.
linux:/home/petp/ml #

i set the LD_LIBRARY_PATH, ML_INCLUDE_PATH, ML_LIB_PATH...

any help
thanks

fjaubert
04-21-2004, 09:09 AM
To recap your issues:

1) error in the ./BUILD_LINUX script. This is a bug in the script -- you're the first to catch it! If you wish to edit the file, simply replace the 'return' at line 41 by 'exit', and it will work.

Alternatively, you may call the script *without* the '-n' option (and you won't get the error message), and answer 'n' to the question "Continue with the build...". Your environment variables will then be correctly set for manual compilation.

2) Problems with the SET_ENV script. This script is intended for 'csh' and 'tcsh' shells. It will not work with 'sh' or 'bash'. To use this script, start a 'csh' or 'tcsh' shell. Otherwise, with 'sh' or 'bash', use the BUILD_LINUX as described in #1 above.

3)Problems doing a 'make install'. You are getting these errors because you have not set the necessary environment variables in your shell, before using the 'make' command. You need to set the variables using the BUILD_LINUX script (as described in #1 above).

ppap
04-22-2004, 04:32 AM
Thanks.. finaly i build all the sdk-ml

But now i have a problem with MLdc
in ml i put the environment variables for the headers with ML_INCLUDE_PATH,
but with MLdc the ML_INCLUDE_PATH it seems not working, how i give the INCLUDE_PATH?
with SET_ENV in csh i have this..

linux petp/MLdc# ML_INCLUDE_PATH=: /home/petp/MLdc/linux/usr/include/MLdc
ML_INCLUDE_PATH=:: Too many arguments

and another question maybe is stupid,
if i run mlquery i have this

linux petp/ml# /home/petp/ml/linux/usr/bin/mlquery -d all

DEVICE: nullXcode
parent: linux.
index: 0
version: 1.0
location: Software Null Xcode Device
xcodes: nullXcodeMemoryToMemoryCopy,
nullXcodeMemoryClear

DEVICE: OSS audio device
parent: linux.
index: 0
version: 1
location: /dev/dsp
jacks: mic input,
line input,
cd input,
line1 input,
phin input,
video input,
speaker output
paths: mic input,
line input,
cd input,
line1 input,
phin input,
video input,
speaker output

linux petp/ml# /home/petp/ml/linux/usr/bin/mlquery -j all

JACK: mic input
parent: OSS audio device
direction: input
type: Analog Audio

JACK: line input
parent: OSS audio device
direction: input
type: Analog Audio

JACK: cd input
parent: OSS audio device
direction: input
type: Analog Audio

JACK: line1 input
parent: OSS audio device
direction: input
type: Analog Audio

JACK: phin input
parent: OSS audio device
direction: input
type: Analog Audio

JACK: video input
parent: OSS audio device
direction: input
type: Analog Audio

JACK: speaker output
parent: OSS audio device
direction: output
type: Analog Audio

so i cant understand how to run the vidtogfx, where i put the video?
and how?

the ./vidtogfx -help say

petp@linux:~/ml/oss/examples/common> ./vidtogfx -h
usage: ./vidtogfx -d <device name> [options]
options:
-b # number buffers to allocate (and preroll)
-c # count of buffers to transfer (0 = indefinitely)
-d <device name> (run mlquery to find device names)
-j <jack name> (run mlquery to find jack names)
-s <timing> set video standard
-v <line #> enable vitc display (use -2 to not specify line number)
-D turn on debugging

available timings:
480i (or) 486i (or) 487i (or) NTSC
576i (or) PAL
1080i (or) SMPTE274/29I
1080p24 (or) SMPTE274/24P


thank you
ppap

fjaubert
04-23-2004, 07:09 AM
You don't explicitly mention it, but I a-ssume (pardon the mis-spelling, trying to get around the 'dirty word filter') you want the environment variables required for compiling the sample programs.

For MLdc, these variables all start with 'MLDC_' (rather than 'ML_'). Thus you would need 'MLDC_INCLUDE_PATH'. Set these exactly as you did with the env vars needed for the ML programs. So in 'csh', you would do:
# setenv MLDC_INCLUDE_PATH /home/petp/MLdc/linux/usr/include/MLdc


As for the output of 'mlquery': this shows two modules are available: one is the 'null' trans-coder (it doesn't do much -- it is a programming example), and the other is the audio device based on the OSS API. With this device, you can do audio capture and output.

Your system does not show the V4L device, which is the video I/O device based on the V4L API. That's either because it isn't installed properly (it should be in the same directory as the OSS and nullXcode modules -- that's where the installation procedure puts it), or more likely because your system has no V4L hardware.

Without a video device, you won't be able to use the video sample programs.