modula3/cm3

[Minor issue] AMD64_CYGWIN problem - no hyphen allowed in folder names or OS variables

Opened this issue ยท 27 comments

Todo: add more details in this first post
AMD64_CYGWIN problem - no hyphen allowed in folder names or OS variables

It is minor issue because:

= =
P.S. I don't known only how reproduce "unsuccess".
Because we have successfully built and worked cm3-all-AMD64_CYGWIN*. 
This binary distributive has been published in "Releases" on Github. All people can download it and use.
= =

+
= =
We have Critical Mass Modula-3 version 5.11.9 :

https://github.com/VictorMiasnikov/cm3/releases/tag/d5.11.9-ZZYYXX-20220208_13-48
= =

We have info about a problem:

{{{
( VVM: someone text was by me ) After a lengthy build process it failed with this error:

 autoreconf -i
configure.ac:17: installing './ar-lib'
configure.ac:17: installing './compile'
configure.ac:13: installing './config.guess'
configure.ac:13: installing './config.sub'
configure.ac:14: installing './install-sh'
configure.ac:14: installing './missing'
Makefile.am:2: error: bad characters in variable name 'libm3unit-numeric_a_SOURCES'
Makefile.am: installing './depcomp'
automake-1.16: warnings are treated as errors
Makefile.am:2: warning: variable 'libm3unit-numeric_a_SOURCES' is defined but no program or
Makefile.am:2: library has 'libm3unit-numeric_a' as canonical name (possible typo)
autoreconf-2.71: error: automake failed with exit status: 1
"/home/Administrator/cm3-install/bin/config/Autotools.common", line 76: quake runtime error: exit 256:  autoreconf -i

--procedure--  -line-  -file---
exec               --  <builtin>
automake           76  /home/Administrator/cm3-install/bin/config/Autotools.common
make_lib          121  /home/Administrator/cm3-install/bin/config/Autotools.common
library            --  <builtin>
include_dir         7  /home/Administrator/cm3-master/m3-libs/unittest-numeric/src/m3makefile
                    8  /home/Administrator/cm3-master/m3-libs/unittest-numeric/AMD64_CYGWIN/m3make.args


Fatal Error: procedure "make_lib" defined in "/home/Administrator/cm3-install/bin/cm3.cfg" failed.

 *** execution of [<function _BuildGlobalFunction at 0x6fffffce5160>, <function _ShipFunction at 0x6fffffce51f0>] failed ***
ERROR: ./do-cm3-all.py buildship   AMD64_CYGWIN

Very disappointed.

}}}

+
{{{

It seems there is no hyphen allowed in variable names. This is the reason we have the errors above.

Update: or is it a typo? What does the 'a' in 'libm3unit-numeric_a_SOURCES' means?

}}}

Who can reproduce a problem?

Who can reproduce a problem?

You? Do you have Cygwin? Just try it and see. The bootstrap is fine but the compilation of the cloned repo (this repo) with boot2.py failed with this error. CM3 is not popular and Cygwin too. No one will do other than us (other than you to be clear).

(...) This is draft specially typed by V.V.M.

(...) This is draft N2 specially typed by V.V.M.

(...) This is draft N3 specially typed by V.V.M.

Who can reproduce a problem?

You? Do you have Cygwin? Just try it and see. The bootstrap is fine but the compilation of the cloned repo (this repo) with boot2.py failed with this error. CM3 is not popular and Cygwin too. No one will do other than us (other than you to be clear).

Of course, I can rename my folder "cm3" to folder "cm-3" Or to "c-m3" Or to "c--m3".
And by this way I can reproduce error.

But we should solve error. I am not sure than it is simple job

P.S.

Oh: AMD64_CYGWIN is one of targets for "cm3 with Autotools" method (?).

It is first target, but it will be "not last target".

Who can reproduce a problem?

You? Do you have Cygwin? Just try it and see. The bootstrap is fine but the compilation of the cloned repo (this repo) with boot2.py failed with this error. CM3 is not popular and Cygwin too. No one will do other than us (other than you to be clear).

Of course, I can rename my folder "cm3" to folder "cm-3" Or to "c-m3" Or to "c--m3". And by this way I can reproduce error.

But we should solve error. I am not sure than it is simple job

Makefiles are generated by the Python scripts? Are your Python scripts stupid? I don't see the relation here. Not because the source directory has a hyphen in name then it will add a hyphen to the makefile variable name. If it does so, then it's stupid. Let's recall. It's 'libm3unit-numeric_a_SOURCES' isn't it? The hyphen is between 'libm3unit' and 'numeric'. In short the library is called 'libm3unit-numeric'. So it has nothing to do with the source directory has a hyphen in name or not. Just it.

People do not use git to clone (suppose they are not on their home computer and can't install git bash or msys2), will use github's feature to download entire repo as zip. The zip downloaded will have the name '[repo]-master.zip'. Let's assume his Python scripts are stupid, then just tell them to rename it to something doesn't have the hyphen. BTW, @jpgpng 's directory structure: cm3-dist (the bootstrap), cm3-build (the build directory to build bootstrap), cm3-install (where he installs cm3) and cm3-master (the cloned repo via downloading zip) is very likely to cause problems because of these stupid Python scripts. Let's just tell him to rename his directories to sth like cm3_dist, cm3_build, cm3_install and cm3_master. If those Python scripts are too stupid then just cm3dist, cm3build, cm3install and cm3master.

Not to mention that this hyphen not allowed in source directory name nonsense. If someone has a look at the cm3 source tree he will see directories here all have a bunch of hyphens in their names!

To be clear. It's hyphen not allowed in makefile's variable names. It's his Python scripts that problematic and need to fix, not the hyphen in the source directory name.

@pwd96m4a If it's only because my directories have a hyphen in their names and autotools based build system failed then I was right to say cmake based build system is superior ๐Ÿ˜„ The cmake based build system worked perfectly fine for me ๐Ÿ˜„

@VictorMiasnikov It's right to stop investing on Cygwin related build issues. If you think everything is working fine then you could close this issue and forget about Cygwin, it has haunted us for weeks ๐Ÿ˜„

@VictorMiasnikov So we agreed to just close this issue. I'm totally agree with you that LLVM backend and m3gdb are more important ๐Ÿ˜„

So he's going to pollute the issues section of this repo with his cryptic titled ones that no one want to look at other than him...