Is anyone working on reducing the testsuite when Nettle isn't existant? (Alternatively *demanding* nettle.)
see http://pike.ida.liu.se/generated/pikefarm/7.5/1797_349/verifylog.txt
If anyone has a nice idea what to test for to remove all the testsuite of Crypto, that'd work too.
I think demanding Nettle is the best idea. The normal export make target should abort if it couldn't include gmp and nettle in the dist.
/ Martin Nilsson (saturator)
Previous text:
2004-02-18 12:28: Subject: Crypto
Is anyone working on reducing the testsuite when Nettle isn't existant? (Alternatively *demanding* nettle.)
see http://pike.ida.liu.se/generated/pikefarm/7.5/1797_349/verifylog.txt
If anyone has a nice idea what to test for to remove all the testsuite of Crypto, that'd work too.
/ Mirar
Demanding Nettle would seem the way to go. Then we get to demand Gmp at the same time, since Nettle relies on Gmp. :-)
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2004-02-18 12:28: Subject: Crypto
Is anyone working on reducing the testsuite when Nettle isn't existant? (Alternatively *demanding* nettle.)
see http://pike.ida.liu.se/generated/pikefarm/7.5/1797_349/verifylog.txt
If anyone has a nice idea what to test for to remove all the testsuite of Crypto, that'd work too.
/ Mirar
Yes... Although I somehow think it should be allowed to compiled and tested even if nettle isn't in the dist, like it can be compiled and tested without gmp.
/ Mirar
Previous text:
2004-02-18 12:32: Subject: Crypto
Demanding Nettle would seem the way to go. Then we get to demand Gmp at the same time, since Nettle relies on Gmp. :-)
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Yes. The configure scripts in GMP and Nettle should be fixed so that the bundled Nettle/GMP is built and used if none is found on the target system. And make export should be fixed so that GMP and Nettle is bundled.
/ Martin Nilsson (saturator)
Previous text:
2004-02-18 12:37: Subject: Crypto
Yes... Although I somehow think it should be allowed to compiled and tested even if nettle isn't in the dist, like it can be compiled and tested without gmp.
/ Mirar
Well, the parts of nettle that are used by the pike glue doesn't depend on Gmp. As far as I know.
About this bundling stuff, where should the source for the nettle and gmp libraries live in a pike dist? Pike-v47.11/gmp and Pike-v47.11/nettle seem reasonable. This is if we want fix places, otherwise Pike-v47.11/nettle-1.9 might be better.
Then next question is if and when to build them. There should be some rules in the top-level Makefile I guess, but it seems a little ugly to have src/configure invoke "make -f ../Makefile gmp".
/ Niels Möller (vässar rödpennan)
Previous text:
2004-02-18 12:42: Subject: Crypto
Yes. The configure scripts in GMP and Nettle should be fixed so that the bundled Nettle/GMP is built and used if none is found on the target system. And make export should be fixed so that GMP and Nettle is bundled.
/ Martin Nilsson (saturator)
If we put some libraries in e.g. ./bundle then the configure/Makefile in that directory could just decide to build its children if no system counterpart was found. Perhaps that can be made general and abstract enough so that one can just drop in libraries with minimal extra configurations. But perhaps that would be too good to hope for...
/ Martin Nilsson (saturator)
Previous text:
2004-02-18 13:15: Subject: Crypto
Well, the parts of nettle that are used by the pike glue doesn't depend on Gmp. As far as I know.
About this bundling stuff, where should the source for the nettle and gmp libraries live in a pike dist? Pike-v47.11/gmp and Pike-v47.11/nettle seem reasonable. This is if we want fix places, otherwise Pike-v47.11/nettle-1.9 might be better.
Then next question is if and when to build them. There should be some rules in the top-level Makefile I guess, but it seems a little ugly to have src/configure invoke "make -f ../Makefile gmp".
/ Niels Möller (vässar rödpennan)
One way would be to first run all pike's configurescripts. The nettle and gmp modules could use some PIKE_NEED_BUNDLED_LIB, which would (i) add necessary link and cpp flags to uses the bundled libraries, and (ii) write some file indicating to the top level Makefile which bundled libraries are needed.
Then make of the top level should build the bundled libraries and install them in some proper place in the buildtree, before running make in pike's build tree.
Installation of bundled libraries seem a little tricky. Either then can be installed in the build tree, and link the corresponding modules statically. Or we link dynamically and install (at make install time, not earlier!) them in some proper place on the system, and then we'll need some additional trickery to have a working pike before make install time.
/ Niels Möller (vässar rödpennan)
Previous text:
2004-02-18 13:28: Subject: Crypto
If we put some libraries in e.g. ./bundle then the configure/Makefile in that directory could just decide to build its children if no system counterpart was found. Perhaps that can be made general and abstract enough so that one can just drop in libraries with minimal extra configurations. But perhaps that would be too good to hope for...
/ Martin Nilsson (saturator)
We should link statically I would think.
/ Martin Nilsson (saturator)
Previous text:
2004-02-18 13:42: Subject: Crypto
One way would be to first run all pike's configurescripts. The nettle and gmp modules could use some PIKE_NEED_BUNDLED_LIB, which would (i) add necessary link and cpp flags to uses the bundled libraries, and (ii) write some file indicating to the top level Makefile which bundled libraries are needed.
Then make of the top level should build the bundled libraries and install them in some proper place in the buildtree, before running make in pike's build tree.
Installation of bundled libraries seem a little tricky. Either then can be installed in the build tree, and link the corresponding modules statically. Or we link dynamically and install (at make install time, not earlier!) them in some proper place on the system, and then we'll need some additional trickery to have a working pike before make install time.
/ Niels Möller (vässar rödpennan)
Yes, bundled libraries should not be installed; the whole reason the bundled library is used is that the user does not have an installed copy of the library and we should respect that choice.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2004-02-18 13:45: Subject: Crypto
We should link statically I would think.
/ Martin Nilsson (saturator)
One of the most annoying features of the configure script is that you get a fatal for missing Gmp after having run it for minutes, so if possible the tests for zlib, gmp and nettle should be the first to run.
/ Peter Bortas
Previous text:
2004-02-18 13:42: Subject: Crypto
One way would be to first run all pike's configurescripts. The nettle and gmp modules could use some PIKE_NEED_BUNDLED_LIB, which would (i) add necessary link and cpp flags to uses the bundled libraries, and (ii) write some file indicating to the top level Makefile which bundled libraries are needed.
Then make of the top level should build the bundled libraries and install them in some proper place in the buildtree, before running make in pike's build tree.
Installation of bundled libraries seem a little tricky. Either then can be installed in the build tree, and link the corresponding modules statically. Or we link dynamically and install (at make install time, not earlier!) them in some proper place on the system, and then we'll need some additional trickery to have a working pike before make install time.
/ Niels Möller (vässar rödpennan)
Why? If the script uses bundled versions instead of failing it shouldn't matter when the test is performed.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2004-02-18 14:16: Subject: Crypto
One of the most annoying features of the configure script is that you get a fatal for missing Gmp after having run it for minutes, so if possible the tests for zlib, gmp and nettle should be the first to run.
/ Peter Bortas
Because when it really hurts you are trying to build on something archaic like a cray and forgot to check the function of the libraries before starting the Pike build.
/ Peter Bortas
Previous text:
2004-02-18 14:21: Subject: Crypto
Why? If the script uses bundled versions instead of failing it shouldn't matter when the test is performed.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Eh? "Check the function of the libraries"? If Gmp doesn't compile on Cray, that's something which has to be fixed. That's a one-time job.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2004-02-18 14:25: Subject: Crypto
Because when it really hurts you are trying to build on something archaic like a cray and forgot to check the function of the libraries before starting the Pike build.
/ Peter Bortas
No, after I have fixed that one of grubbas* sadistic tests will find a flaw in it and spit it back.
*Exempel Helge.
/ Peter Bortas
Previous text:
2004-02-18 14:30: Subject: Crypto
Eh? "Check the function of the libraries"? If Gmp doesn't compile on Cray, that's something which has to be fixed. That's a one-time job.
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
One would expect that Gmp's own testsuite would be sufficient to find any problems with the library itself?
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
Previous text:
2004-02-18 14:32: Subject: Crypto
No, after I have fixed that one of grubbas* sadistic tests will find a flaw in it and spit it back.
*Exempel Helge.
/ Peter Bortas
In the case of Gmp it might be true. For any other random library (zlib, freetype, gl etc) I wouldn't be so sure.
/ Peter Bortas
Previous text:
2004-02-18 14:34: Subject: Crypto
One would expect that Gmp's own testsuite would be sufficient to find any problems with the library itself?
/ Marcus Comstedt (ACROSS) (Hail Ilpalazzo!)
pike-devel@lists.lysator.liu.se