Fri Aug 27 12:21:51 CEST 2004
Your conjecture is correct.
I am no friend of -include_lib and would have preferred that
it had never been added. Too late to do anything about it now.
-include_lib was one of the major problem we encountered when
we tried to make SAE a supported part of OTP.
I don't recommend using SAE. It is no guarantee that it will work
at all in R10B, although the code for SAE is still there in
the current R10B snapshot. It is completely untested.
Re: stripping down Erlang/OTP. The installer for the Wings 3D
application is about 2.2 Mb for Windows and Linux; slightly more
for Mac OS X version. Included in that size is the Erlang emulator,
most of kernel and stdlib, plus the Wings application itself and
SDL and ESDL.
The scripts that build the binary packages for Mac OS X, Unix, and
Windows are included in the source release of Wings 3D. It can be
Obviously, to package another application, you'll have to alter the
scripts, but it should be a good starting point.
"Ulf Wiger (AL/EAB)" <> writes:
> I don't know exactly how ecc is built, but on my machine,
> it works with erlc, but not with ecc.
> The ecc compiler uses stand-alone erlang, which is built
> using only (basically) erts, kernel & stdlib. The include_lib
> directive assumes that the application refered to is in the
> path. As erlc starts a normal erlang VM, it is able to find
> all standard erlang applications, including megaco.
> All this is conjecture (well, after peeking at ecc.erl et al.)
> The gurus at the OTP team may step in and correct me.
> Solution to the problem: don't use -include_lib for megaco,
> but instead -include("megaco.hrl"), and then pass on a -I
> option to ecc.
> > -----Original Message-----
> > From:
> > [mailto:]On Behalf Of Guillermo
> > Fernandez Castellanos
> > Sent: den 26 augusti 2004 04:43
> > To:
> > Subject: Problem executing a program
> > Hi,
> > I have been trying to test very easy programs with Erlang.
> > I have made a standard installation of Erlang (configure
> > --prefix=/home/myhome; make; make install) after reading the README
> > When I try to execute this program:
> > -module(hello).
> > -export([start/1]).
> > -include_lib("kernel/include/file.hrl").
> > %%**HERE**
> > start(Args) ->
> > io:format("Hello world~nArgs=~p~n", [Args]),
> > erlang:halt().
> > $ ecc test.erl
> > works just well.
> > But when I add in %%**HERE** the line:
> > -include_lib("megaco/include/megaco.hrl").
> > it just do not work anymore:
> > $ecc test.erl
> > ./test.erl:6: can't find include lib "megaco/include/megaco.hrl"
> > Actually I obtain the same message while trying to compile
> > ~/lib/erlang/lib/megaco-2.1.3/examples/simple/megaco_simple_mgc.erl
> > $ecc megaco_simple_mgc.erl
> > ./megaco_simple_mgc.erl:52: can't find include lib
> > "megaco/include/megaco.hrl"
> > ./megaco_simple_mgc.erl:53: can't find include lib
> > "megaco/include/megaco_message_v1.hrl"
> > ./megaco_simple_mgc.erl:120: undefined macro 'megaco_ip_port_text'
> > ./megaco_simple_mgc.erl:134: record megaco_receive_handle undefined
> > ./megaco_simple_mgc.erl:283: undefined macro 'megaco_not_implemented'
> > ./megaco_simple_mgc.erl:312: undefined macro
> > 'megaco_root_termination_id'
> > ./megaco_simple_mgc.erl:334: undefined macro 'megaco_not_implemented'
> > ./megaco_simple_mgc.erl:76: function do_start/1 undefined
> > ./megaco_simple_mgc.erl:39: function
> > handle_trans_long_request/3 undefined
> > ./megaco_simple_mgc.erl:39: function handle_trans_request/3 undefined
> > Where come this error from? I could not find any reference
> > while googling...
> > Any link, hint would be most wellcome.
> > Thanks!
> > G
Björn Gustavsson, Erlang/OTP, Ericsson AB
More information about the erlang-questions