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:
- git clone git@github.com:OpenSmalltalk/opensmalltalk-vm.git
- I am running the next command: ./scripts/updateSCCSVersions
- cd image
- ./buildspurtrunkvmmaker64image.sh || also tried with an specific
version like these: ./buildspurtrunkvmmaker64image.sh -vm Squeak6.1alpha-23007-64bit
- ./buildspurtrunkreader64image.sh
- I am running the Squeak with the VMMaker image:
sqcogspur64linuxht/squeak Spur64VMMaker.image
Then inside Squeak, I run some of the commands in the worksapce:
[VMMaker generateAllConfigurationsUnderVersionControl]
valueSupplyingAnswer: false.
[VMMaker generateSqueakSpurCog64VM] valueSupplyingAnswer: false.
VMMaker generateVMPlugins.
After it finish, I go to the directory: cd
building/linux64x64/squeak.cog.spur/build
An run the command ./mvm
Is asks if I want to make a clean build, which I answer Y
Then the configure commands outputs all right
But then the build breaks with the message which I paste before.
Attached you can get the full log.
Any input will be really appreciated, since I am really stuck!!
Thanks! Nicolas.