daokoder / dao

Dao Programming Language
http://daoscript.org
Other
199 stars 19 forks source link

Reorganizing Dao modules! #251

Open daokoder opened 10 years ago

daokoder commented 10 years ago

As I have mentioned in another thread, I have been considering to reorganize the modules in the following way:

This means only the following modules will stay with Dao: auxlib (it will be changed to include only auxiliary C interface functions), debugger, help (it does offer methods for accessing the helps, this is the only exception I am going to make), macro (maybe) and profiler. The other modules currently with Dao will be moved to DaoModules. The following modules will be moved out and become individual project/repo probably: cblas, clinker, DaoCXX, DaoJIT.

The modules with external dependency will be managed by a standard packaging tool. The reason for this change is that, currently it is really inconvenient to deliver some useful modules and tools to users because of dependency issues.

This packaging tool will be able to handle the dependency issues of each module, and can download, configure and build the dependent libraries and the modules. There will be an archive from which the dependent libraries and the modules can be downloaded.

The basic components of this packaging tool are already available in the standard modules (os.fs, web.http, zip and pkgtools). The use of these components is shown in https://github.com/daokoder/dao-tools/blob/master/daopkg/daopkg.dao, where daopkg is intended as the packaging tool.

Anyone like to volunteer for developing this packaging tool daopkg?

dumblob commented 10 years ago

First, a package may specify compatibility property, a comma separated list of supported systems (case-insensitive):

By default, this list ought to contain all the names from https://github.com/daokoder/dao/tree/master/tools/daomake/platforms .

I'm fine with the rest.

daokoder commented 10 years ago

I think we should use daomake as the interpreter for package manager scripts, so that we can use various functionalities of daomake. For instance, checking platform would be simpler. Also it can check the installation of Dao and the modules (may be even packages in general) much more easily.

Night-walker commented 10 years ago

It's needless to call daomake just to determine the platform when processing package files. Note that it should be done before building anything.

dumblob commented 10 years ago

Yes, daomake is for building. All the rest (which is not much after all) should handle dpg.

daokoder commented 10 years ago

It's needless to call daomake just to determine the platform when processing package files. Note that it should be done before building anything.

I did not mean calling daomake, I meant using daomake as a replacement for dao to run the package manager.

Night-walker commented 10 years ago

I did not mean calling daomake, I meant using daomake as a replacement for dao to run the package manager.

I think it's simpler to keep them separated, which seems more Unix-way. This way it allows to develop them independently (low cohesion) and keep only weak dependency of one on another.

dumblob commented 10 years ago

I think it's simpler to keep them separated,

Yes. Also, for a package manager it's highly important to not have any other dependencies than on the standard C library (you won't imagine the extreme problems and going in circles with e.g. yum on RHEL and many other package managers written in non-compilable languages depending on nearly hundreds of other packages and libraries). As far as Dao supports static compilation and is small enough, making it independent of daomake is definitely a better choice.

daokoder commented 10 years ago

I think it's simpler to keep them separated, which seems more Unix-way. This way it allows to develop them independently (low cohesion) and keep only weak dependency of one on another.

OK.

Night-walker commented 10 years ago

How the moved sys module is supposed to be used? os.dao only loads fs.

Also, I can't figure out how to actually use daomake:

c:\Dao\modules\os>..\..\bin\daomake.exe --platform mingw makefile.dao
Error: invalid platform "mingw"!
c:\Dao\modules\os>..\..\bin\daomake.exe makefile.dao
Error: invalid platform "mingw"!
daokoder commented 10 years ago

How the moved sys module is supposed to be used? os.dao only loads fs.

os.dao will be removed or renamed. Then load os would load the ex-sys module, and load os.fs would load fs. I am also considering to support something like load mod.{ submod1, submod2, ... }, so that we will no longer need files such as os.dao for convenience.

Also, I can't figure out how to actually use daomake:

There was a minor bug in handling the paths on non-unix system. This bug was introduced some days ago. Now fixed.

Night-walker commented 10 years ago

I am also considering to support something like load mod.{ submod1, submod2, ... }, so that we will no longer need files such as os.dao for convenience.

That would be nice.

daokoder commented 10 years ago

I am also considering to support something like load mod.{ submod1, submod2, ... }, so that we will no longer need files such as os.dao for convenience.

That would be nice.

Done:)

Night-walker commented 10 years ago
c:\Dao\modules\os>..\..\bin\daomake.exe makefile.dao
DaoMake: using Win32 settings!
DaoMake: using MinGW settings!
[[Error::Key]] --- Invalid key:

Raised by:  __main__(), at instruction 77 in line 24 in file "c:/Dao/modules/os/
makefile.dao";

It's complaining about DaoMake::Variables[ "INSTALL_MOD" ].

daokoder commented 10 years ago

Right, that was something I meant to fix, but simply forgot. Now done.

Night-walker commented 9 years ago

Tried daomake again. When called as daomake makefile.dao, nothing seems to be happening. Adding --platform mingw raises "invalid platform" error.

daokoder commented 9 years ago

Tried daomake again. When called as daomake makefile.dao, nothing seems to be happening. Adding --platform mingw raises "invalid platform" error.

I guess there is a problem with your build and/or setup of daomake.

Night-walker commented 9 years ago

I guess the problem is that daomake isn't installed, so it doesn't see its platforms directory.

Night-walker commented 9 years ago

Where should I place platforms relative to daomake? Everything is built using mingw32-make -f Makefile.daomake mingw MODE=debug.

daokoder commented 9 years ago

Probably you have already solved the problem, anyway, if dao and daomake is placed in bin, platforms should be placed in ../lib/daomake/.

BTW, how is the status of the package tool?

Night-walker commented 9 years ago

The minimal functionality was written long ago from now, I just stopped on making it compile (at some point, none of the Dao scripts I wrote could successfully be compiled). Will resume as soon as I have time and when I deal with few other (minor) things.

Night-walker commented 9 years ago

BTW, I installed libreadline-dev6, but it did not affect anything. Dao Makefile does not mention it.

Night-walker commented 9 years ago

Modules don't load neither when launching Dao from src/bin, nor when it's installed with make install, which actually ends with an unknown error:

danilov@danilov:~/Downloads/dao$ sudo make install
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/bin
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy bin/dao /usr/local/bin
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy lib/libdao.so /usr/local/lib
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy lib/libdao.a /usr/local/lib
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/dao.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoBase.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoClass.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoConst.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoGC.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoLexer.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoList.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoMap.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoNamespace.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoNumtype.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoObject.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoParser.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoBytecode.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoOptimizer.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoProcess.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoRegex.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoRoutine.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoTasklet.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoStdlib.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoStdtype.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoStream.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoString.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoThread.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoPlatforms.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoType.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoValue.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoVmcode.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy kernel/daoVmspace.h /usr/local/include/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib/daomake/packages
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy FindDao.dao /usr/local/lib/daomake/packages
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy doc/ /usr/local/share/dao
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/arrays.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/aspects.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/class_forward_claration.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/class_inheritance.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/classes.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/closures.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/decorators.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/defers.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/disjoint_union.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/enums.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/hello.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/interface.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/interface_forward_declaration.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/lists.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/macros.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/maps.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/mixins.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/numbers.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/object_operator.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/errors.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/routines.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/strings.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/tuples.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/user_functional.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/user_type_casting.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/verbatim.dao /usr/local/share/dao/demo/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/async_object.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/channel_block.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/channel_class.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/critical.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/future.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/parallel_quicksort.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/select_builtin.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/select_custom.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/select_mix.dao /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/share/dao/demo/concurrent/
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy demo/concurrent/start.dao /usr/local/share/dao/demo/concurrent/
cd modules/debugger && make -f Makefile install
make[1]: Entering directory `/home/danilov/Downloads/dao/modules/debugger'
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy ../../lib/dao/modules/libdao_debugger.so /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy ../../lib/dao/modules/libdao_debugger.a /usr/local/lib/dao/modules
make[1]: Leaving directory `/home/danilov/Downloads/dao/modules/debugger'
cd modules/profiler && make -f Makefile install
make[1]: Entering directory `/home/danilov/Downloads/dao/modules/profiler'
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy ../../lib/dao/modules/libdao_profiler.so /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy ../../lib/dao/modules/libdao_profiler.a /usr/local/lib/dao/modules
make[1]: Leaving directory `/home/danilov/Downloads/dao/modules/profiler'
cd modules/auxlib && make -f Makefile install
make[1]: Entering directory `/home/danilov/Downloads/dao/modules/auxlib'
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/include/dao/modules/auxlib
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy dao_aux.h /usr/local/include/dao/modules/auxlib
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy ../../lib/dao/modules/libdao_aux.so /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy ../../lib/dao/modules/libdao_aux.a /usr/local/lib/dao/modules
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake mkdir3 /usr/local/lib/daomake/packages
/home/danilov/Downloads/dao/tools/daomake/bootstrap/daomake copy FindDaoAux.dao /usr/local/lib/daomake/packages
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/danilov/Downloads/dao/modules/auxlib'
make: *** [install] Error 2

Ubuntu 14.04.

Night-walker commented 9 years ago

I did not diverge from the standard make procedure: make -f Makefile.daomake linux MODE=debug.

daokoder commented 9 years ago

at some point, none of the Dao scripts I wrote could successfully be compiled

That's too weird. Could it be that you have previously compiled dynamic linking libraries of Dao and Dao modules that are messing with it?

Please try a static build with: make -f Makefile.daomake linux MODE=debug STATIC=ON, and see if it solves anything.

BTW, I installed libreadline-dev6, but it did not affect anything. Dao Makefile does not mention it.

Try to remove CacheFindReadLine*.dao, and then rebuild. Or use, make -f Makefile.daomake linux MODE=debug OPTIONS="--reset".

it's installed with make install, which actually ends with an unknown error:

There was a minor bug with DaoMake for installing the finder scripts. Now fixed.

Night-walker commented 9 years ago

That's too weird. Could it be that you have previously compiled dynamic linking libraries of Dao and Dao modules that are messing with it?

No, there was just some DaoVM bugs which should be fixed by now :) There may be more, however.

Try to remove CacheFindReadLine*.dao, and then rebuild.

This helped.

daokoder commented 9 years ago

there was just some DaoVM bugs which should be fixed by now

I am not convinced about this. Surely there are bugs in the VM, but there should be none that can cause that kind of failing. I just tried on my recently installed Lubuntu 14.04, no such problem:)

Night-walker commented 9 years ago

By "could not compile" I meant that at that time I encountered different bugs trying to compile each of the scripts I had :) I think I reported them all.

daokoder commented 9 years ago

By "could not compile" I meant that at that time I encountered different bugs trying to compile each of the scripts I had :) I think I reported them all.

I see. I think all your reported bugs should have been fixed by now:)

Night-walker commented 9 years ago

If reorganization is complete, let's close this. Package manager can be discussed in the dedicated issue.

dumblob commented 8 years ago

In the proposal https://github.com/daokoder/dao/issues/251#issuecomment-55441322 I accidentally omitted precise information about backporting of patches to already released versions.

The TLV extension to SemVer should do the job.

Although the TLV approach requires splitting the version string first into logical pieces, ordering them according to internal priority given by the user of the package manager or just by the package manager itself and first then continuing with the usual version comparison.

The TLV approach also nicely solves the "type" component issues.