Dave,

Really appreciate your help!! Let me try it and I will go back to you with news!!

Have a great day!


El vie, 5 abr 2024 a las 19:20, <lewis@mail.msen.com> escribió:

Nicolas,

Actually I do have a suggestion that may help. You can do a type cast in the C program source code to work around the error. I am attaching a git diff that you can apply to do this.

This is not a proper fix for the source code, but the issue has no functional impact, so if you patch it like this you should be able to complete your VM build.

HTH,

Dave


On 2024-04-05 21:55, lewis@mail.msen.com wrote:

 

Hi Nicolas,

Welcome to VM building :-)

You are not doing anything wrong. The two errors in your log show up as warnings, not errors, when I compile the VM. That probably means two things:

1) There very likely is an existing problem in the source code that should be addressed.

2) Your compiler is choosing to treat this as an error, rather than a warning. Over time we are seeing compilers becoming more strict about enforcing rules like this, so it may be that your system has a newer compiler, or that it is somehow configured by default to use more strict rule enforcement.

I do not have a quick answer for how to work around this problem, but maybe someone who is familiar with compiler flag settings can offer a suggestion.

Dave


On 2024-04-05 14:55, Nicolas Sarfati wrote:

 

Hi everyone! My name is Nicolas Sarfati and I am working on my University Final work. For it, I am needing to generate an Image of the VM, but I am not getting lucky. On last step, when it converts the C code to the proper image, it's failing with the next error message: (Attached you can get the full log)
 
clang -Wall  -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -DCOGMTVM=0 -pthread -DLSB_FIRST=1 -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable  -DHAVE_CONFIG_H  -DSQUEAK_BUILTIN_PLUGIN -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/building/linux64x64/squeak.cog.spur/build -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/unix/vm -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/Cross/vm -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/src/spur64.cog -I/usr/local/include -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/Cross/vm -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/unix/vm -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/src/spur64.cog -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/Cross/plugins/FilePlugin -I/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/unix/plugins/B3DAcceleratorPlugin -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable   -c -o sqUnixMain.o /home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/unix/vm/sqUnixMain.c
/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/unix/vm/sqUnixMain.c:1832:10: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
                printf(optionStrings[count]);
                       ^~~~~~~~~~~~~~~~~~~~
/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/unix/vm/sqUnixMain.c:1832:10: note: treat the string as an argument to avoid this
                printf(optionStrings[count]);
                       ^
                       "%s",
/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/unix/vm/sqUnixMain.c:2324:38: error: incompatible function pointer types assigning to 'void (*)(int, siginfo_t *, void *)' from 'void (int, siginfo_t *, ucontext_t *)' (aka 'void (int, siginfo_t *, struct ucontext_t *)') [-Wincompatible-function-pointer-types]
        sigsegv_handler_action.sa_sigaction = sigsegv;
                                            ^ ~~~~~~~
/home/nicolas/fcen/tesis/04-04-24/opensmalltalk-vm/platforms/unix/vm/sqUnixMain.c:2331:38: error: incompatible function pointer types assigning to 'void (*)(int, siginfo_t *, void *)' from 'void (int, siginfo_t *, ucontext_t *)' (aka 'void (int, siginfo_t *, struct ucontext_t *)') [-Wincompatible-function-pointer-types]
        sigusr1_handler_action.sa_sigaction = sigusr1;
                                            ^ ~~~~~~~
1 warning and 2 errors generated.
make[1]: *** [Makefile:299: sqUnixMain.o] Error 1
make: *** [Makefile:413: vm/vm.a] Error 2
 
Environment: Linux x64 Manjaro
Kernel: 6.6.19-1-MANJARO
 
These are the steps that I am doing:
  1. git clone git@github.com:OpenSmalltalk/opensmalltalk-vm.git
  2. I am running the next command: ./scripts/updateSCCSVersions
  3. cd image
  4. ./buildspurtrunkvmmaker64image.sh || also tried with an specific version like these: ./buildspurtrunkvmmaker64image.sh -vm Squeak6.1alpha-23007-64bit
  5. ./buildspurtrunkreader64image.sh
  6. I am running the Squeak with the VMMaker image: sqcogspur64linuxht/squeak Spur64VMMaker.image
  7. Then inside Squeak, I run some of the commands in the worksapce:
    1. [VMMaker generateAllConfigurationsUnderVersionControl] valueSupplyingAnswer: false.
    2. [VMMaker generateSqueakSpurCog64VM] valueSupplyingAnswer: false.
    3. VMMaker generateVMPlugins.
  8. After it finish, I go to the directory: cd building/linux64x64/squeak.cog.spur/build
  9. An run the command ./mvm
    1. Is asks if I want to make a clean build, which I answer Y
    2. Then the configure commands outputs all right
    3. But then the build breaks with the message which I paste before.
  10. Attached you can get the full log.
Any input will be really appreciated, since I am really stuck!!
 
Thanks!
Nicolas.