That is very strange. I did not now that — |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 It's not normally a problem, there is no "tls.h" as far as I know, except for a perhaps (erroneously?) delivered tls.h by TCL: See the document "HowToBuild" in build.sunos64x64 : OpenSSL - ------- We have tested with openssl 1.0.2 and build the VM with the option: --disable-dynamicopenssl You may have to uninstall packages that provide/ usr/include/tls.h. The configure script may think that it has to enable TLS support, if it finds the tls.h header file. The package runtime/tcl-8 or runtime/tcl-8/tcl-openssl may provide tls.h. In order to avoid this problem, we build the VM with the option: --without-libtls Thanks, David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJerBijAAoJEAwpOKXMq1MajagH+gM3G31nU8UQwfUfdvzW5O8X PaHUtQ0zf5MALvvYufCBla3GXzXa224mgHLEuvVdmOdBMJXl2We2IIyNQPqzxVg5 dwKgR0PMZXsIRJmTiE/penN7w2COxrOpf0xgJ7B2pJe+OddDq8DDMKpqGZd3xbEy IG+Wf9FcRdHCmigNkjNXzT2zvFn31qUsALyqQPzi6Flmy7iFppmV14YICi2wtOz3 jlnnEDmjuI1+MXfyCGR+2nkXILbIE9JX90F4FSXd0RWagoWzo0zmNRYiuFcQzIBy Ov1KfhGbze2w3a4LAbauEoyiizp2cZkpaWcL3p/9/JBaQf4F0Weo6PKvXN4hj/4= =SXgj -----END PGP SIGNATURE----- -- Sent from: http://forum.world.st/Squeak-VM-f104410.html |
Hi > On 01.05.2020, at 14:41, stes <[hidden email]> wrote: > > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > > It's not normally a problem, there is no "tls.h" as far as I know, > except for a perhaps (erroneously?) delivered tls.h by TCL: > > See the document "HowToBuild" in build.sunos64x64 : > > OpenSSL > - ------- > > We have tested with openssl 1.0.2 and build the VM with the option: > > --disable-dynamicopenssl > > You may have to uninstall packages that provide/ usr/include/tls.h. > > The configure script may think that it has to enable TLS support, > if it finds the tls.h header file. > > The package runtime/tcl-8 or runtime/tcl-8/tcl-openssl may provide tls.h. > > In order to avoid this problem, we build the VM with the option: > > --without-libtls Yes, my comment was about exactly that part in the commit. Could you maybe suggest a better check in https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/plugins/SqueakSSL/acinclude.m4#L17 ? Does the tcl package also provide a libtls.so or so? If not we could check for that instead. Best regards -Tobias |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 I don't immediately see a reason to change the search logic in configure, it was possible to override the configure autodetection with --without-libtls. Perhaps searching for the presence of the library object files has the same sort of problems. Thanks, David Stes -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJerCp4AAoJEAwpOKXMq1MaQZIH/3X9dpi4lvn4xALm3WzbVH7D T3r+HEMXl7j9wckUcWCRIYn+NCB6HdJUNjLtYqIlfvMcGY2NfAbDeRth6XxUFONW RKVBfr184vRPKMSQt4hIHgNH8CMMBXUKA6OY6etMg4LS/asTVdLenD1ypjGCXVdf oLp8yYrlo+W4iVZsDRg2QrYozrhFcL9VutgW7QxeyzjWhJnV8MmtTwEgpop6IH9E pmorNB59BueCSDWZU+EISniWMAAyXL6x/jKJBTR87rIFOTAxllLR72avfH23oVOj kBpZhjA3G+S111WlPqsF15YidJd+MYImlxiDovj70SuSpB2fypFIwBLohmKMnm8= =lubK -----END PGP SIGNATURE----- -- Sent from: http://forum.world.st/Squeak-VM-f104410.html |
Hi > On 01.05.2020, at 15:56, stes <[hidden email]> wrote: > > I don't immediately see a reason to change the search logic in configure, > it was possible to override the configure autodetection with > --without-libtls. > > Perhaps searching for the presence of the library object files has the same > sort of problems. I really want to avoid to have user-configural options being necessary for a default install. ./configure should be sufficient to get a working VM regardless of operating system. If that is not the case, we got to change the configure-mechanics. Thanks for uncovering that, tho :) Best regards -Tobias |
On 01/05/20 8:16 pm, Tobias Pape wrote: > I really want to avoid to have user-configural options being > necessary for a default install. > > ./configure should be sufficient to get a working VM regardless of > operating system. > > If that is not the case, we got to change the configure-mechanics. +1. ./configure serves two purposes - detecting host/toolchain/library configurations on the fly and handling feature specific variable settings for a build Makefile. We also have separate files like plugins.int, plugins.ext etc that go into this Makefile. It would be better if the second purpose (i.e. feature vars) is consolidated into a conf file containing simple name=value pairs. Such a file is much easier to generate or edit from Squeak or platform tools. A build Makefile can pick up all variable settings from such files. We won't need separate files like plugins.int, plugins.ext etc. Regards .. Subbu |
Hi Subbu, Hi Tobias, > On May 2, 2020, at 6:36 AM, K K Subbu <[hidden email]> wrote: > > On 01/05/20 8:16 pm, Tobias Pape wrote: >> I really want to avoid to have user-configural options being >> necessary for a default install. >> ./configure should be sufficient to get a working VM regardless of >> operating system. >> If that is not the case, we got to change the configure-mechanics. > > +1. ./configure serves two purposes - detecting host/toolchain/library configurations on the fly and handling feature specific variable settings for a build Makefile. We also have separate files like plugins.int, plugins.ext etc that go into this Makefile. > > It would be better if the second purpose (i.e. feature vars) is consolidated into a conf file containing simple name=value pairs. Such a file is much easier to generate or edit from Squeak or platform tools. A build Makefile can pick up all variable settings from such files. We won't need separate files like plugins.int, plugins.ext etc. We need to tease things apart a little further. configure does (at least) these things - detects platform information (word sizes, include files and their contents, presence or absence of additional libraries) - checks if chosen tool chain can compile and link an executable program hand-crafted code takes configure output and plugins.int/.ext to produce very poor makefiles that font even maintain dependency information (so that code is not recompiled when included files are modified, a serious deficiency) plugins.int/plugins.ext & branding files (mvm script in configure builds, too-level Makefiles in Windows & MacOS builds) specify bane and contents of a VM bundle Note that this last tailoring step is essential; different users want to be able to build specific VMs with specific contents. Those specific contents don’t depend on configure, they depend on the builder’s requirements. So no, we do /not/ want to conflate configuring a build and determining what is available on a specific platform. It does make sense to use configure to derive platform-specific information. But as I’m tired of trying to explain, this needs to be done only once per platform, not once for every build on a platform. For example, a structure which generated a configure.h in build.FooSizeProc/include/configure.h would be a huge improvement (for those that have to do lots of vm builds in their development) over the per-build Linux mess. But it does not make sense to, for example, not build any doubt d plugins because the current platform is missing libraries that should have been installed. It makes sense not to build sound plugins on platforms that don’t support sound. On platforms where sound is supported what we’d like is for the build system to complain that sound cant be built rather than silently not building sound plugins. As far as the dependency issue and the hand-crafted code that autogenerates makefiles, it is brittle, opaque, has a phase problem (one has to run a compile step then a configure step before changes propagate to the actual build), and deficient (ni dependency information). Makefiles written as per Windows and MacOS aren’t subject to these flaws. > > Regards .. Subbu |
Free forum by Nabble | Edit this page |