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.