libdnn icon indicating copy to clipboard operation
libdnn copied to clipboard

Add the depndency checking in `install-sh` script

Open MnO2 opened this issue 10 years ago • 10 comments

Resolve Issuse #12.

MnO2 avatar Jan 11 '15 10:01 MnO2

Sorry for the late reply. It's looks really great !! BTW, mind if I ask what does CFG means in CFG_WGET ? (is CFG for config? )

poweic avatar Jan 14 '15 03:01 poweic

Yes, it means configuration. Prefixing names with CFG is because we could generate config.mk from the script accordingly, then Makefile could simply include config.mk. That would grant us basic portability. They are not configuration variables for the script, but for the Makefile.

MnO2 avatar Jan 14 '15 08:01 MnO2

Hi, @MnO2 , I pulled it locally and found that commit a89e004 is actually recursively make clean instead of recursively make.
So when user type make after ./configure, they'll get the following error message

/usr/bin/ld: cannot find -lpbar
/usr/bin/ld: cannot find -lcumatrix
collect2: error: ld returned 1 exit status
make: *** [bin/nn-train] Error 1

poweic avatar Jan 16 '15 05:01 poweic

yeah, it is incorrect. I didn't realize that all of my master commits would be linked to this pull request. I would fix it asap.

MnO2 avatar Jan 17 '15 01:01 MnO2

@botonchou : I've tested on my Macbook Pro with Yosemite and g2.2xlarge with Ubuntu 14.04. Both building process looks fine now.

MnO2 avatar Jan 17 '15 09:01 MnO2

I'd like to keep it simple, user-friendly and lightweight, but have no idea how it can be achieve (at the same time) with those dependency checking and the configuration stuff. Maybe we can figure something out together.

poweic avatar Jan 18 '15 05:01 poweic

First, we have to define it is simple to library developer or library user. When you are saying user-friendly, I suppose you are referring to library user. As long as we have .deb, .rpm or homebrew stub. Library user would not have to figure these things by themselves. They would just simply run "brew install" or "apt-get install". As long as we have could command line options for nn-train etc., it is not a problem. Configuration script is unavoidable when you would build it in different environment. Especially when you would like to port it to Windows. If you are ambitious enough and would like make this library as popular as libsvm, this is a ugliness where library developers have to deal with.

MnO2 avatar Jan 18 '15 06:01 MnO2

Sure, I like the configuration scripts and I know it's unavoidable if I want to port it to windows. But I still want it be simple, lightweight, both user-friendly, and developer-friendly. (because I think there are different levels of developer and I used to be a rookie programmer. lol)

poweic avatar Jan 18 '15 06:01 poweic

For open source I've involved so far. A way to let junior developers have things to do is to establish a guide there. Mark different task with their difficulty and guide them to do that. Like: https://github.com/rust-lang/rust/wiki/Note-guide-for-new-contributors

MnO2 avatar Jan 18 '15 08:01 MnO2

Yeah, that makes sense. Why didn't I think of that before XDD

poweic avatar Jan 18 '15 08:01 poweic