<div dir="ltr"><div>Hello all, <br></div><div><br></div><div>thanks once more for helping me getting the compilation of the squeak Stack Vm running.</div><div>I will need your help once more. I run into a compilation error: <br></div><div><br></div><div>/home/edwin/Smalltalk5/opensmalltalk-vm/spurstack64src/vm/gcc3x-interp.c:2530:5: error: invalid symbol redefinition<br>                                VM_LABEL(pushReceiverVariableBytecode);</div><div><br></div><div> <span style="font-family:monospace">       bytecodeDispatchDebugHook();<br><br>         <span style="background-color:rgb(204,204,204)">VM_LABEL(bytecodeDispatch);</span><br>     switch (currentBytecode) {<br>     CASE(0)<br>       CASE(256) /*0*/<br>                      /* pushReceiverVariableBytecode */<br>          {<br>            sqInt object;<span style="background-color:rgb(204,204,204)"><span style=""></span></span><br><br>              <span style="background-color:rgb(204,204,204)"><b>VM_LABEL(pushReceiverVariableBytecode);</b></span><span style="background-color:rgb(243,243,243)">  <------ line with error<br>          </span>/* begin fetchNextBytecode */<br>            currentBytecode = (byteAtPointer(++localIP)) + GIV(bytecodeSetSelector);</span></div><div><br></div><div>I found some indications that this could be due to a difference between gcc (as in the name of the file), and clang, that is the standard compiler of FreeBsd. <br></div><div>I went tot the mvm-script and changed the line CC=clang to CC=gcc. <br></div><div>Issue solved. <br></div><div><br></div><div>OK, then I got the libiconv-errors when linking libtool<br></div><div>  </div><div><span style="font-family:monospace">libtool: link: gcc -g -O1 -DNDEBUG -DDEBUGVM=0 -msse2 -Wall -pthread -DLSB_FIRST=1 -m64 -Wl,-z -Wl,now -o squeak disabledPlugins.o version.o -Wl,--export-dynamic  -L/usr/local/lib vm/vm.a ADPCMCodecPlugin/ADPCMCodecPlugin.a AioPlugin/AioPlugin.a AsynchFilePlugin/AsynchFilePlugin.a B2DPlugin/B2DPlugin.a BitBltPlugin/BitBltPlugin.a BMPReadWriterPlugin/BMPReadWriterPlugin.a CroquetPlugin/CroquetPlugin.a HostWindowPlugin/HostWindowPlugin.a ZipPlugin/ZipPlugin.a DropPlugin/DropPlugin.a DSAPrims/DSAPrims.a FFTPlugin/FFTPlugin.a FileCopyPlugin/FileCopyPlugin.a FilePlugin/FilePlugin.a FloatArrayPlugin/FloatArrayPlugin.a FloatMathPlugin/FloatMathPlugin.a IA32ABI/IA32ABI.a JoystickTabletPlugin/JoystickTabletPlugin.a JPEGReaderPlugin/JPEGReaderPlugin.a JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.a Klatt/Klatt.a LargeIntegers/LargeIntegers.a Matrix2x3Plugin/Matrix2x3Plugin.a MIDIPlugin/MIDIPlugin.a MiscPrimitivePlugin/MiscPrimitivePlugin.a Mpeg3Plugin/Mpeg3Plugin.a RePlugin/RePlugin.a SecurityPlugin/SecurityPlugin.a SerialPlugin/SerialPlugin.a SocketPlugin/SocketPlugin.a SoundCodecPrims/SoundCodecPrims.a SoundGenerationPlugin/SoundGenerationPlugin.a SoundPlugin/SoundPlugin.a StarSqueakPlugin/StarSqueakPlugin.a SurfacePlugin/SurfacePlugin.a VMProfileLinuxSupportPlugin/VMProfileLinuxSupportPlugin.a -luuid -lutil -lpulse-simple /usr/local/lib/libasound.so -lexecinfo -lm vm/vm.a -pthread -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib<br>/usr/local/bin/ld: vm/vm.a(sqUnixCharConv.o): in function `convertChars':<br><span style="background-color:rgb(204,204,204)">/home/edwin/Smalltalk5/opensmalltalk-vm/platforms/unix/vm/sqUnixCharConv.c:276: undefined reference to `libiconv_close'<br>/usr/local/bin/ld: /home/edwin/Smalltalk5/opensmalltalk-vm/platforms/unix/vm/sqUnixCharConv.c:278: undefined reference to `libiconv_open'<br>/usr/local/bin/ld: /home/edwin/Smalltalk5/opensmalltalk-vm/platforms/unix/vm/sqUnixCharConv.c:290: undefined reference to `libiconv'<br>collect2: error: ld returned 1 exit status</span></span></div><div><span style="font-family:monospace"><span style="background-color:rgb(204,204,204)"><br></span></span></div><div><span style="font-family:monospace"><span style="background-color:rgb(204,204,204)"></span></span></div><div>Here I cheated, as I had no idea how to add the library libiconv to the linker. I went to the Makefile in the directory ..../opensmaltalk-vm/build.linux64x64/squeak.stack.spur/build an added  iconv to the LIBS-statement: <br></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"> LIBS=         -luuid -lutil -lpulse-simple -lasound  -lexecinfo -lm <span style="background-color:rgb(153,153,153)">-liconv</span></span></div><div><span style="background-color:rgb(153,153,153)"><br></span></div><div><span style="background-color:rgb(255,255,255)">Don't know if that was allowed, but the  libiconv-problem was solved. <br></span></div><div><span style="background-color:rgb(238,238,238)"><span style="background-color:rgb(255,255,255)">But now I am at the end of my wits. I stumbled upon: </span><br></span></div><div><div><span style="background-color:rgb(238,238,238)"><span style="font-family:monospace"></span></span></div><div><div><span style="background-color:rgb(238,238,238)"><span style="font-family:monospace"></span></span></div><div><span style="background-color:rgb(238,238,238)"><span style="font-family:monospace"><br></span></span></div><div><span style="background-color:rgb(238,238,238)"><span style="font-family:monospace">ibtool: compile:  gcc -g -O1 -DNDEBUG -DDEBUGVM=0 -msse2 -Wall -pthread -DLSB_FIRST=1 -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-u                                                 nused-value -Wno-unused-label -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -DHAVE_CONFIG_H -I/home/edwin/Smalltal                                                 k5/opensmalltalk-vm/build.linux64x64/squeak.stack.spur/build -I/home/edwin/Smalltalk5/opensmalltalk-vm/build.linux64x64/squeak.stack.spur/b                                                 uild -I/home/edwin/Smalltalk5/opensmalltalk-vm/platforms/unix/vm -I/home/edwin/Smalltalk5/opensmalltalk-vm/platforms/Cross/vm -I/home/edwin                                                 /Smalltalk5/opensmalltalk-vm/spurstack64src/vm -I/usr/local/include -m64 -Wno-missing-braces -Wno-unknown-pragmas -Wno-unused-value -Wno-un                                                 used-label -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -c /home/edwin/Smalltalk5/opensmalltalk-vm/platforms/unix                                                 /vm-sound-ALSA/sqUnixSoundALSA.c  -fPIC -DPIC -o .libs/sqUnixSoundALSA.o                                                                                                                    <br>/home/edwin/Smalltalk5/opensmalltalk-vm/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c:951:13: error: 'devname' redeclared as different kin                                                 d of symbol                                                                                                                                                                             <br>  951 | static char devname[MAX_NAME_LEN];                                                                                                                                                  <br>      |             ^~~~~~~                                                                                                                                                                 <br>In file included from /home/edwin/Smalltalk5/opensmalltalk-vm/platforms/Cross/vm/sq.h:20,                                                                                                   <br>                 from /home/edwin/Smalltalk5/opensmalltalk-vm/platforms/unix/vm-sound-ALSA/sqUnixSoundALSA.c:31:                                                                            <br>/usr/include/stdlib.h:277:7: note: previous declaration of 'devname' was here                                                                                                               <br>  277 | char *devname(__dev_t, __mode_t);                      </span>                                                                                  <br></span></div></div></div><div><span style="background-color:rgb(153,153,153)"><br></span></div><div><span style="background-color:rgb(153,153,153)"></span></div><div><span style="background-color:rgb(153,153,153)"><br></span></div><div>Does anybody have an idea for a quick cheat to get trough the compilation, besides starting to rewrite parts of the code?</div><div><br></div><div>Kind regards,</div><div><br></div><div>Edwin Ancaer<br></div></div>