Re: Kaldi's CMake Port

321 views
Skip to first unread message

Daniel Povey

unread,
Jul 21, 2015, 2:40:25 PM7/21/15
to Bruno Gonçalves, kaldi-de...@googlegroups.com
Cc'ing kaldi-developers at google groups (we are moving the lists to there).
Others can chime in, but my feeling is that probably we wouldn't want to maintain a parallel build system alongside the "make"-based build system, because of the need to support it and keep it up to date.  What do you see as the advantages of using cmake?
Dan


On Tue, Jul 21, 2015 at 5:43 AM, Bruno Gonçalves <bru...@cpqd.com.br> wrote:
Hi Daniel,

I am Bruno, from Brasil.
I was thinking in contributing to Kaldi doing the cmake port and I don't know if this is something that already has been planned or done.
I couldn't find nothing about this on google and the only thing I found was in Kaldi's sourcefourge page, but It's closed now.
Do you know anyone that already start porting Kaldi's project to Cmake script? If there is please send me some information that could be useful for me. I could use this to start my contribution.

Thanks.

Alexander Solovets

unread,
Jul 21, 2015, 2:47:03 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves
> What do you see as the advantages of using cmake?
Does cmake have advantages? http://suckless.org/sucks

--
You received this message because you are subscribed to the Google Groups "kaldi-developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kaldi-develope...@googlegroups.com.
To post to this group, send email to kaldi-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/kaldi-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/kaldi-developers/CAEWAuyR5kjyJ_m2ctoDom6Wz5fsK%2BjcStroeVxn5toW1UQ2ePw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--
Sincerely, Alexander

Jan Trmal

unread,
Jul 21, 2015, 2:48:32 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves
* I fancy CMake as such.
* I'm not convinced we need it.
* it might be a way to closer integration of the windows build, as CMake can generate the Windows build solution
* Possibly the acceptable way would be a devise a perl script which would parse the Makefiles and generated the CMakeLists.txt.
* We are not able to maintain multiple build solutions -- so to me, it's either the script or nothing.

y.

Nagendra Goel

unread,
Jul 21, 2015, 2:50:43 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves

A Cmake expert told me that it’s extremely versatile in handling different OS and hardware architectures, and therefore easier to maintain as the sysadmin effort is less (assuming you have learned cmake). Does it work on native windows (without Cygwin?)

--

Jan Trmal

unread,
Jul 21, 2015, 2:50:47 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves
Alexander, that comparison is deeply unfair, but I guess you know it, so I will limit my reaction just to this statement. :)
y.

Jan Trmal

unread,
Jul 21, 2015, 2:51:31 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves
Yes, it works on win and can generate the MSVC solutions.
y.

Daniel Povey

unread,
Jul 21, 2015, 2:55:10 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves
Guys-
Certainly we're not switching over entirely to CMake, since the existing solution works fine on the platforms where Kaldi actually works.  On Windows Kaldi doesn't really work for reasons unrelated to the build system. 
However, if CMake does turn out to be the easiest way to generate the Windows solution files, it could be considered for that purpose.  Bruno, try to think about it in this light, mainly as a special-purpose solution for Windows.  Since Windows is so deeply broken in other ways, I don't want to allow any Windows considerations to make Kaldi less usable on the platforms where most people use it.
Dan



Danijel Korzinek

unread,
Jul 21, 2015, 3:15:52 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves
Just to chime in: Kladi does compile fine in Cygwin and works ok on other computers as long as you copy a few cygwin DLLs along with it (I did exactly that very recently). 

The problem with Kaldi on Windows is obviously not about the build system but the fact that all the experiments have a ton of Linux dependencies that noone will feel like installing under windows without the aid of something like cygwin of msys (all the bash/perl scripts). 

It may actually make more sense to make a completely different branch for windows runtimes, but since I doubt anyone will make any serious experiments on windows 90% of the programs are completely unnecessary there. 

As far as MSVC, first show me how to compile OpenFST and Pulseaudio under MSVC and then we can talk about Kaldi.

Daniel Povey

unread,
Jul 21, 2015, 3:20:58 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves
I think Yenda and Kirill ahve done some work lately on getting most of Kaldi to compile in Windows; it's based on a Windows port of OpenFst.  I don't think all the latest changes are committed yet, due to the sourceforge outage.
Dan


Jan Trmal

unread,
Jul 21, 2015, 4:06:14 PM7/21/15
to kaldi-de...@googlegroups.com, Bruno Gonçalves
OpenFST exists for windows for a really long time now (thanks to work of Paul Dixon )
https://github.com/edobashira/openfstwin-1.3.3
https://github.com/jtrmal/openfstwin-1.3.4
https://github.com/edobashira/openfstwin-1.4.1

Kaldi compiles natively without any problem, now.
The aim primary of the native windows port is to provide the libraries to windows developers. If you need the shell/perl scripts, then you'd better off using cygwin (or better yet, linux).

y.

Reply all
Reply to author
Forward
0 new messages