Open daokoder opened 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.
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.
It's needless to call daomake
just to determine the platform when processing package files. Note that it should be done before building anything.
Yes, daomake
is for building. All the rest (which is not much after all) should handle dpg
.
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.
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.
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.
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.
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"!
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.
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.
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:)
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" ]
.
Right, that was something I meant to fix, but simply forgot. Now done.
Tried daomake
again. When called as daomake makefile.dao
, nothing seems to be happening. Adding --platform mingw
raises "invalid platform" error.
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.
I guess the problem is that daomake isn't installed, so it doesn't see its platforms
directory.
Where should I place platforms
relative to daomake? Everything is built using mingw32-make -f Makefile.daomake mingw MODE=debug
.
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?
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.
BTW, I installed libreadline-dev6
, but it did not affect anything. Dao Makefile does not mention it.
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.
I did not diverge from the standard make procedure: make -f Makefile.daomake linux MODE=debug
.
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.
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.
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:)
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.
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:)
If reorganization is complete, let's close this. Package manager can be discussed in the dedicated issue.
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.
As I have mentioned in another thread, I have been considering to reorganize the modules in the following way:
Dao
(fossil)/dao
(git) will only include core modules which provide important functionalities, but no user-accessible types and methods (namely they are not used in coding);DaoModules
/dao-modules
will only include standard modules without external dependency. Namely, they can only use standard C and system libraries;DaoTools
/dao-tools
will only include standard tools without external dependency.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) andprofiler
. The other modules currently withDao
will be moved toDaoModules
. 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
andpkgtools
). The use of these components is shown in https://github.com/daokoder/dao-tools/blob/master/daopkg/daopkg.dao, wheredaopkg
is intended as the packaging tool.Anyone like to volunteer for developing this packaging tool
daopkg
?