Not sure if this might be helpful but I “fixed” the same problem today so that I could build a vm on debian. The “fix” is (although I don’t completely understand the problem…) to remove the #define for NoDbgRegParms, such that it will be defined as empty (in the second #define).
Example:
#if !PRODUCTION && defined(__GNUC__) && !(defined(__MINGW32__) || defined(__MINGW64__)) && !defined(NoDbgRegParms) # define NoDbgRegParms __attribute__ ((regparm (0))) #endif
#if !defined(NoDbgRegParms) # define NoDbgRegParms /*empty*/ #endif
Here, remove the first #if…#endif.
Although this doesn’t make the issue go away, it might help get a working VM.
Cheers, Max
On 24 Feb 2015, at 21:50, vm-dev-request@lists.squeakfoundation.org wrote:
---- On Mon, 23 Feb 2015 18:18:38 -0500 tim Rowledge <tim@rowledge.org mailto:tim@rowledge.org> wrote ----
Last summer I was using a vmware hosted ubuntu 14.0.4 system to build vms for use in making the ARM cog stuff. Last week I tried to get back to that and I simply canât make a working vm with the latest ~#3600 code.
The normal vm builds but wonât find the x11 display module - although it does seem to be able to find the null display. Not so terribly helpful though. Obviously the first thing I tried was building a debug vm to see if I could work out what is wrong but that wonât even come close to building. The log is full of exciting things like - /mnt/hgfs/tim/Documents/Squeak/Rasbian-VM/Pi-CogVM/Cog/src/vm/gcc3x-cointerp.c:579:13: note: previous declaration of âmarkStackPageMostRecentlyUsedâ was here static void markStackPageMostRecentlyUsed(StackPage *page) NoDbgRegParms; ^ /mnt/hgfs/tim/Documents/Squeak/Rasbian-VM/Pi-CogVM/Cog/src/vm/gcc3x-cointerp.c:18573:1: error: conflicting types for âmarkStackPageNextMostRecentlyUsedâ markStackPageNextMostRecentlyUsed(StackPage *page) ^
and later in the log - ^ /mnt/hgfs/tim/Documents/Squeak/Rasbian-VM/Pi-CogVM/Cog/src/vm/gcc3x-cointerp.c:579:13: warning: âmarkStackPageMostRecentlyUsedâ used but never defined [enabled by default] static void markStackPageMostRecentlyUsed(StackPage *page) NoDbgRegParms; ^
To extra check, I tried the stack vm as well; same problems.
Just to make life really amusing, the Raspbian system builds from the very same files without any problems, both plain and debug. I know itâs the same files because both unix systems mount the directories off my iMac.
Iâm at a loss to see why this is happening. Sure, different compilers with different bugs etc, but really?
tim
tim Rowledge; tim@rowledge.org mailto:tim@rowledge.org; http://www.rowledge.org/tim http://www.rowledge.org/tim Useful random insult:- Ready to check in at the HaHa Hilton.
Hi Max.
I have the same problem on Slackware 14.1 with gcc 4.8.xyz
in Cog/platforms/unix/config/config.h.in if you pre-undefine the variables before autoconf gets to it, it apears to fix the weirdness.
..... /* Author: Ian.Piumarta@squeakland.org * * Last edited: 2006-04-23 12:34:41 by piumarta on emilia.local */
/* pre-empty some preprocessor variables used in srv/vm/cogit.h, cointer.h, etc */ # define NoDbgRegParms # define NeverInline ....
This enables me to compile without that error; I have tested on all build types for squeak.cog.v3. and for the 'build' build type on squeak.cog.spur.
cordially,
tty
---- On Tue, 24 Feb 2015 16:10:29 -0500 Max Leske <maxleske@gmail.com> wrote ----
Not sure if this might be helpful but I “fixed” the same problem today so that I could build a vm on debian. The “fix” is (although I don’t completely understand the problem…) to remove the #define for NoDbgRegParms, such that it will be defined as empty (in the second #define).
Example:
#if !PRODUCTION && defined(__GNUC__) && !(defined(__MINGW32__) || defined(__MINGW64__)) && !defined(NoDbgRegParms) # define NoDbgRegParms __attribute__ ((regparm (0))) #endif
#if !defined(NoDbgRegParms) # define NoDbgRegParms /*empty*/ #endif
Here, remove the first #if…#endif.
Although this doesn’t make the issue go away, it might help get a working VM.
Cheers, Max
On 24 Feb 2015, at 21:50, vm-dev-request@lists.squeakfoundation.org wrote:
---- On Mon, 23 Feb 2015 18:18:38 -0500 tim Rowledge &lt;tim@rowledge.org&gt; wrote ----
Last summer I was using a vmware hosted ubuntu 14.0.4 system to build vms for use in making the ARM cog stuff. Last week I tried to get back to that and I simply canât make a working vm with the latest ~#3600 code.
The normal vm builds but wonât find the x11 display module - although it does seem to be able to find the null display. Not so terribly helpful though. Obviously the first thing I tried was building a debug vm to see if I could work out what is wrong but that wonât even come close to building. The log is full of exciting things like - /mnt/hgfs/tim/Documents/Squeak/Rasbian-VM/Pi-CogVM/Cog/src/vm/gcc3x-cointerp.c:579:13: note: previous declaration of âmarkStackPageMostRecentlyUsedâ was here static void markStackPageMostRecentlyUsed(StackPage *page) NoDbgRegParms; ^ /mnt/hgfs/tim/Documents/Squeak/Rasbian-VM/Pi-CogVM/Cog/src/vm/gcc3x-cointerp.c:18573:1: error: conflicting types for âmarkStackPageNextMostRecentlyUsedâ markStackPageNextMostRecentlyUsed(StackPage *page) ^
and later in the log - ^ /mnt/hgfs/tim/Documents/Squeak/Rasbian-VM/Pi-CogVM/Cog/src/vm/gcc3x-cointerp.c:579:13: warning: âmarkStackPageMostRecentlyUsedâ used but never defined [enabled by default] static void markStackPageMostRecentlyUsed(StackPage *page) NoDbgRegParms; ^
To extra check, I tried the stack vm as well; same problems.
Just to make life really amusing, the Raspbian system builds from the very same files without any problems, both plain and debug. I know itâs the same files because both unix systems mount the directories off my iMac.
Iâm at a loss to see why this is happening. Sure, different compilers with different bugs etc, but really?
tim
After completely rebuilding a new ubuntu vmware setup and loading a gazillion packages I can build a cog vm that runs and finds the display module. BUT I had to de-hack the midi plugin code so that the real midi stuff wasn’t included becasue despite having the libasound2-dev package a whole load of seq_blah-blah references were missing. Googling shows quite a few other people have had similar looking problems but nothing that made me think “ah-hah, load package X”. And yet on Raspbian, the midi plugin builds...
No improvement in the building of a debug vm though.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Fractured Idiom:- ALOHA OY - Love; greetings; farewell; from such a pain you should never know
vm-dev@lists.squeakfoundation.org