Post
Topic
Board Announcements (Altcoins)
Re: [DVC]DevCoin - Official Thread - Moderated
by
emfox
on 25/04/2014, 14:20:59 UTC
Looking at this makefile... why on earth are you building libcurl? It's on quite a few linux systems. The user is supposed to install the dependencies, except sometimes in the case of Windows...

Because you cant assume users have it.. unless you do a dynamic compile then its up to you to put the dll as a registered dll or in path of executable.

Take a look at the config for the build.. Then windows mingw makefile atleast. It strips out everything except the http get functionality.

Also it needs to be statically linked because I believe it is safer and avoids bugs where multi-threading could cause issues.. I believe this is why they went with the static
build for it.. was done before me.

You're thinking like a Windows user. If you're compiling for Linux, there is no reason to compile libcurl with Devcoin. If all developers thought like you, it'd be a disaster. Shared libraries were created so that every program didn't have to statically link their own copy of a common library, wasting memory and disk space.

Several distros don't ship static binaries, and AFAIK, it won't cause issues unless you're using archaic versions.
I believe I did change the dependencies to be dynamically linked and included them in the distro. With libcurl it the lib is compiled without the unneeded options so that is why the src was included. It wasnt a standard lib that any coins used at the time so the src was put in the repo. You still need the src to compile the linked lib and since we are only using 1/10th of it having src there makes sense.

How does it make sense to only waste a little memory copying code that already should be on the system? And what if there's a security bug in libcurl? With dynamic linking, I can use my package manager to upgrade. This way, I need to recompile EVERYTHING that depends on it.

Hello wolf. As the current linux admin of devcoin, I tell you just go ahead, to adapt the build method of linux as you like, and ask sidhujag to pull it. Because he is of the responsibility of developing our new release, but not the release manager of every distribution (though he happened to be maintaining the windows build). I was not too familiar with those libcurl hacks, and a little too busy to dig into it, so just modify the code (of linux part) as you like. I think sidhujag would like to see it, too, right?