-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AMD64_MINGW build looks for AMD64_NT exports files #1029
Comments
Okay, I've figured out what went wrong and I am leaving the issue open because I would assume that this is not the intended behavior. Using the default config that comes with the distribution, it looks for AMD64_NT libraries when it should be looking for AMD64_MINGW libraries. Changing the following line...
...to...
...does not fix the issue. Despite the host now explicitly being set to AMD64_MINGW, whereas the target was always AMD64_MINGW, the host is still being reported as AMD64_NT and builds still report the following message:
It wasn't until I changed the following two lines...
...to...
...that cm3 started building AMD64_MINGW builds, reporting the following message:
Despite that, the host is still being reported as AMD64_NT. I am unsure whether this is intentional. |
It is not latest. The latest is: P.S. To All: Please, see my message at "24.05.2022, 13:39" with subject contain "Modula-3 on Github 2) GITHub Action as CI/CD" P.S. HowTo will be ( and this already done) in next comment |
(
At this moment I does not even try bootstrapping from cm3-boot-AMD64_NT-d5.11.4.7z and cm3-boot-AMD64_NT-d5.11.9.7z But cm3-boot-AMD64_LINUX-d5.11.9.7z is good for Debian ) At first try this: and write result here. Thank! P.S. If it's need, then I can write algorithm how to create: and later create step by step "cm3-all*.7z" |
Sorry, I didn't realize there was a fork with a more updated version. Maybe that should be mentioned in the README. As for the result, I tried the
|
( I write short, because write from smartphone. )
I am not sure that my releases are "fork":
-- I'm always return source code ( and configs) to "master branch" as P. request(s);
-- I prefer / "love" compile modern commit[s] with minimal absolutely needed changed for test both "pure source code on M3 , C language and C++" and "build scripts".
( I send this part of answer and continue writing in next part)
+
( Part number 2. I will be do some editing on Monday, I hope... )
should be mentioned in the README
Oh, yes: sorry. It's because that AMD64_MINGW is most young target.
In fact i386_DJGPP is "return M3 to OS DOS"
Even name AMD64_MINGW was be result of big discussion.
May be best name is AMD64_NT_GCC, etc
( to be continued...)
… 04.06.2022, 00:26, "Ari" ***@***.***>:
Just got around to this.
Sorry, I didn't realize there was a fork with a more updated version. Maybe that should be mentioned in the README.
As for the results, it's exactly the same. It will not build for the right target unless the following is in cm3.cfg:
HOST = "AMD64_MINGW"
TARGET = HOST
|
= = =
As for the results, it's exactly the same. It will not build for the right target unless the following is in cm3.cfg:
HOST = "AMD64_MINGW"
TARGET = HOST
= = =
There is special .py script for creating cm3.cfg
I will send its name on Monday
In phrase AMD64_MINGW first part is name of CPU architecture ( i.e. Intel / AMD 64bit a-ka x64)
Second part , usual, is name of Operating System ( OS).
In any case our OS is NT ( NT family)
"MINGW" in fact is short form of " NT_GCC".
This short variant is best for using in .sh / .bat , .cmd and Python scripts
I write all this as historic info -)
( to be continued...)
… 04.06.2022, 00:26, "Ari" ***@***.***>:
Just got around to this.
Sorry, I didn't realize there was a fork with a more updated version. Maybe that should be mentioned in the README.
As for the results, it's exactly the same. It will not build for the right target unless the following is in cm3.cfg:
HOST = "AMD64_MINGW"
TARGET = HOST
|
Ok: let's go to "practical things"
As I understood, You have good and worked "Modula-3 AMD64_MINGW" ?
Even 5.11.4 is good for 64bit targets.
Version 5.11.9 is better variant for 32bit targets and for debugging with m3gdb on AMD64_LINUX.
( There is finally sub-message of weekend series -) )
… 04.06.2022, 00:26, "Ari" ***@***.***>:
Just got around to this.
Sorry, I didn't realize there was a fork with a more updated version. Maybe that should be mentioned in the README.
As for the results, it's exactly the same. It will not build for the right target unless the following is in cm3.cfg:
HOST = "AMD64_MINGW"
TARGET = HOST
|
AMD64_MINGW is working...but only if I make the config change I mentioned above. I have not had a working AMD64_MINGW version before. I didn't need it previously, but I recently discovered an issue with my Visual Studio install that I have as yet been unable to fix, so I have to use the AMD64_MINGW version for now. I don't think that the .py script is the issue. The issue is that the compiler doesn't seem to be setting the proper build environment by default and I can only get the proper build environment by making the aforementioned configuration changes. So the problem is thus: even though There is then the further problem that the reported host does not change, even when explicitly set to a different setting. |
Let go "step by step" Step N1: choice source code This commit: Step N2: We can use ( or cm3-min-AMD64_MINGW-* ) Or create even cm3-boot-AMD64_MINGW* "from scratch"? |
I have not built...
...or... ...but.... ...and the AMD64_NT version of 5.11.4 both have the issue. You said that AMD64_MINGW is the newest target. Perhaps there was simply some small switch that was missed when adding it. Have you run the same builds on your end? |
Yes, I have even 2 or more:
But we can switch to modern 5.11.9:
Let do it ( switch): I going to compile Hello.exe ( Hello World)
I think, yes |
Yes, You are right. And, yes -- this is right fix:
P.S. But description of problem, looks like, is not good. We will be change it... |
Description of problem: We are should change cm3.cfg for build Hello.exe in case of AMD64_MINGW target:
Diff of build logs:
In both cases output of cm3 -version still equal:
|
Try leaving HOST alone and just set TARGET: |
( I again on smartphone...)
J.K.} Try leaving HOST alone and just set TARGET:
J.K.} TARGET = "AMD64_MINGW"
J.K.} which "setup" should do.
There is "should do" or "it is really worked methodology" ?
I was built cm3 5.11.9 and even was not built anyone component ( Hello.exe for example) by "running cm3.exe" ;-(
It my first "organizational mistake".
And I think that issue related building cm3 by convergence.py
( In fact Issue is not related ).
Ok: I send this message "as is"
… 07.06.2022, 19:20, "Jay Krell" ***@***.***>:
|
I already did that. It doesn't work. The target is already reported as AMD64_MINGW, but it will only attempt to build for AMD64_NT unless the above changes are made. |
J.K.}}
J.K.}} Try leaving HOST alone and just set TARGET: TARGET = "AMD64_MINGW" which "setup" should do.
J.K.}}
`
I already did that. It doesn't work. The target is already reported as AMD64_MINGW, but it will only attempt to build for AMD64_NT unless the above changes are made.
There is very interesting info. ( Really)
It's important part of "description of problem".
… "07.06.2022, 20:46, "Ari" ***@***.***>:
|
2022-06-08: Inside a) cm3-min-AMD64_MINGW-d5.11.9-MINGW64(git-sdk-64@53940e3_and_{{mingw-w64-x86_64-gcc-10.3.0-2}})-2022-02-08_13-48__FIXed__by__VVM__2022-05-11_12-35__16bit__Unicode__AMD64_MINGW__Target__cm3-69f22c9.7z replaced by cm3-min-AMD64_MINGW-d5.11.9-MINGW64(git-sdk-64@53940e3_and_{{mingw-w64-x86_64-gcc-10.3.0-2}})-2022-02-08_13-48__FIXed__by__VVM__2022-05-11_12-37__16bit__Unicode__AMD64_MINGW__Target__cm3-69f22c9.7z b) cm3-all-AMD64_MINGW-d5.11.9-MINGW64(git-sdk-64@53940e3_and_{{mingw-w64-x86_64-gcc-10.3.0-2}})-2022-02-08_13-48__FIXed__by__VVM__2022-05-11_12-35__16bit__Unicode__AMD64_MINGW__Target__cm3-69f22c9.7z replaced by cm3-all-AMD64_MINGW-d5.11.9-MINGW64(git-sdk-64@53940e3_and_{{mingw-w64-x86_64-gcc-10.3.0-2}})-2022-02-08_13-48__FIXed__by__VVM__2022-05-11_12-37__16bit__Unicode__AMD64_MINGW__Target__cm3-69f22c9.7z |
So, looking at the updated distribution, your "fix" is to just change the config file? That doesn't fix the underlying problem that is that it is, by default, reporting that the target is AMD64_MINGW, but building for AMD64_NT. Whether or not the config file change allows it to function, something is still fundamentally broken (at least when built using MinGW-w64) about the way that the system is either a) reporting the target or b) choosing which target to build for. I'm personally leaning towards a, as changing the |
} your "fix" is to just change the config file?
Yes, You are right.
It's "quick fix".
In any key if we change source code then should create new binary release of cm3.
( I on smartphone, send as is)
… 10.06.2022, 21:34, "Ari" ***@***.***>:
So, looking at the updated distribution, your "fix" is to just change the config file? That doesn't fix the underlying problem that is that it is, by default, reporting that the target is AMD64_MINGW, but building for AMD64_NT. Whether or not the config file change allows it to function, something is still fundamentally broken about the way that the system is either a) reporting the target or b) choosing which target to build for.
I'm personally leaning towards a, as changing the HOST in cm3.cfg doesn't appear to change the reported host either.
|
I386_MINGW affected too:
|
I suffered from the same error. My solution is also manually edit cm3.cfg. This is my version:
|
Please see #1040 |
cm3 AMD64_CYGWIN affected too |
@VictorMiasnikov It's something related to MxConfig but I have no idea where is MxConfig defined to investigate further. |
File cm3.cfg has been generated by one of .py scripts.
IMHO, best way edit this .py script. ( I am on smartphone)
… 08.09.2022, 04:45, "jpgpng" ***@***.***>:
@VictorMiasnikov It's something related to MxConfig but I have no idea where is MxConfig defined to investigate further.
|
I just built the AMD64_MINGW version in MSYS2 using the latest release,
cm3-boot-AMD64_NT-d5.11.4.7z
(which says that it is meant to be used for both AMD64_NT and AMD64_MINGW builds). I followed the build process used in CI and addedinstall/cm3/bin
to PATH.When I go to the hello example's directory and run cm3 to build, I get the following error, indicating that it's still looking for AMD64_NT source files:
When I go to any of the libraries in
install/cm3/pkg
, I only seesrc
andAMD64_MINGW
folders, as expected. When I checkcm3.cfg
, this is what I see:EDIT: I forgot to include my
cm3 --help
output, so here it is.The text was updated successfully, but these errors were encountered: