Thanks, DRC. If I am understanding your instructions correctly, I do not think _GNU_SOURCE is defined on the command line that builds access.c:
“ Building C object unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o cd /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os && /usr/bin/cc -DCLIENTIDS -DCOMPOSITE -DDAMAGE -DDPMSExtension -DGLXEXT -DHASXDMAUTH -DHAS_SHM -DHAVE_DIX_CONFIG_H -DHAVE_SHA1_IN_LIBSHA1 -DHAVE_XSHMFENCE -DIPv6 -DMITSHM -DMONOTONIC_CLOCK -DNVCONTROL -DPANORAMIX -DPRESENT -DRANDR -DRENDER -DRES -DSCREENSAVER -DSHAPE -DTCPCONN -DTURBOVNC -DUNIXCONN -DUSE_POLL -DXACE -DXCSECURITY -DXDMCP -DXF86BIGFONT -DXFIXES -DXINPUT -DXRECORD -DXTEST -DXV“ Alpine Linux uses musl although I do have glib also installed. Is there any simple instructions you could offer for me to modify CMakeFile or my Make build to enable _GNU_SOUCE? I’ve tried make CFLAGS=-D_GNU_SOURCE but that doesn’t work. As a novice user, I don’t have the knowledge to do any other changes myself. I’ll write the Alpine Linux support also to see if there is anything they can suggest. Thanks for your continued efforts to help. Sincerely On Wednesday, May 19, 2021 at 7:26:04 AM UTC-7 DRC wrote: > I think this is also a distribution-specific issue. I verified that my > build is using the same code path in access.c that your build is using. If > sys/socket.h defines SO_PEERCRED, then access.c will try to use 'struct > ucred'. (NOTE: access.c is X.org code, not TurboVNC code.) However, > 'struct ucred' is apparently only defined if _GNU_SOURCE is defined, so the > first thing I would do is 'make VERBOSE=1' and verify whether _GNU_SOURCE > is defined on the command line that builds access.c. If it isn't, then > it's probably because this build system check failed: > https://github.com/TurboVNC/turbovnc/blob/main/unix/Xvnc/CMakeLists.txt#L4-L9, > > which would happen if features.h doesn't define __GLIBC__ on your system. > It could also be that, for whatever reason, your system doesn't define > 'struct ucred'. > On 5/15/21 9:36 PM, SugarRayLua wrote: > > Thanks again for your continued help. > > If I am understanding you correctly, no, I did not make the build with > adding the switch “TVNC_SYSTEMX11=1”) if that was what your were asking > (i.e. just did “make”) > > Here is the relevant debug output again but with make VERBOSE=1: > > [ 84%] Built target sync > make -f unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/build.make > unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/depend > make[2]: Entering directory '/root/turbovnc-2.2.6' > cd /root/turbovnc-2.2.6 && /usr/bin/cmake -E cmake_depends "Unix > Makefiles" /root/turbovnc-2.2.6 > /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os /root/turbovnc-2.2.6 > /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os > /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/DependInfo.cmake > > --color= > make[2]: Leaving directory '/root/turbovnc-2.2.6' > make -f unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/build.make > unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/build > make[2]: Entering directory '/root/turbovnc-2.2.6' > [ 84%] Building C object > unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o > cd /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os && /usr/bin/cc > -DCLIENTIDS -DCOMPOSITE -DDAMAGE -DDPMSExtension -DGLXEXT -DHASXDMAUTH > -DHAS_SHM -DHAVE_DIX_CONFIG_H -DHAVE_SHA1_IN_LIBSHA1 -DHAVE_XSHMFENCE > -DIPv6 -DMITSHM -DMONOTONIC_CLOCK -DNVCONTROL -DPANORAMIX -DPRESENT -DRANDR > -DRENDER -DRES -DSCREENSAVER -DSHAPE -DTCPCONN -DTURBOVNC -DUNIXCONN > -DUSE_POLL -DXACE -DXCSECURITY -DXDMCP -DXF86BIGFONT -DXFIXES -DXINPUT > -DXRECORD -DXTEST -DXV -I/root/turbovnc-2.2.6/unix/include > -I/root/turbovnc-2.2.6/unix/Xvnc/X_include > -I/root/turbovnc-2.2.6/common/zlib > -I/root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/Xext > -I/root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/include > -I/root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/miext/damage > -I/root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/present > -I/root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/../../lib/pixman/pixman > -I/root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os/../render > -I/root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os/../../../lib/libsha1 > -w -O3 -DNDEBUG -fno-strict-aliasing -o CMakeFiles/os.dir/access.c.o > -c /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os/access.c > /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os/access.c: In function > 'GetLocalClientCreds': > /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os/access.c:1178:18: > error: storage size of 'peercred' isn't known > 1178 | struct ucred peercred; > | ^~~~~~~~ > make[2]: *** > [unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/build.make:96: > unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o] Error 1 > make[2]: Leaving directory '/root/turbovnc-2.2.6' > make[1]: *** [CMakeFiles/Makefile2:2834: > unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/all] Error 2 > make[1]: Leaving directory '/root/turbovnc-2.2.6' > make: *** [Makefile:150: all] Error 2 > > On Saturday, May 15, 2021 at 5:05:14 PM UTC-7 DRC wrote: > >> Can you rerun with >> >> make VERBOSE=1 >> >> ? I need to see which include directories are being passed to the >> compiler, because it seems as if one of the in-tree X.org headers isn’t >> being picked up (or are you using TVNC_SYSTEMX11?) >> >> On May 15, 2021, at 4:46 PM, SugarRayLua <[email protected]> wrote: >> >> Ok, thanks. >> >> >> Here is what I believe is the most verbose debugging of the relevant part >> of the make where the build stopped: >> >> Pruning file 'unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/flags.make'. >> Finished prerequisites of target file >> 'unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o'. >> Must remake target >> 'unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o'. >> Putting child 0x565bb320 >> (unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o) PID 674 on the >> chain. >> Live child 0x565bb320 >> (unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o) PID 674 >> [ 84%] Building C object >> unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o >> Reaping winning child 0x565bb320 PID 674 >> Live child 0x565bb320 >> (unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o) PID 675 >> /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os/access.c: In function >> 'GetLocalClientCreds': >> /root/turbovnc-2.2.6/unix/Xvnc/programs/Xserver/os/access.c:1178:18: >> error: storage size of 'peercred' isn't known >> 1178 | struct ucred peercred; >> | ^~~~~~~~ >> Reaping losing child 0x565bb320 PID 675 >> make[2]: *** >> [unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/build.make:96: >> unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/access.c.o] Error 1 >> Removing child 0x565bb320 PID 675 from chain. >> Reaping losing child 0x565d3d60 PID 673 >> make[1]: *** [CMakeFiles/Makefile2:2834: >> unix/Xvnc/programs/Xserver/os/CMakeFiles/os.dir/all] Error 2 >> Removing child 0x565d3d60 PID 673 from chain. >> Reaping losing child 0x565ac240 PID 522 >> make: *** [Makefile:150: all] Error 2 >> Removing child 0x565ac240 PID 522 from chain.“ >> >> Please let me know if you need more information. >> >> Sincerely, >> >> On Saturday, May 15, 2021 at 5:04:43 AM UTC-7 DRC wrote: >> >>> Please post the full text of the error so I can see where it is >>> occurring. Build errors are never very meaningful without context. >>> >>> On May 15, 2021, at 12:50 AM, SugarRayLua <[email protected]> wrote: >>> >>> Hello, again, TurboVNC Community, >>> >>> >>> I’m still trying to build TurboVNC for Alpine Linux x86 from downloaded >>> tarball. I managed to get cmake to work successfully and got through 84% of >>> the make build before I got an “in function ‘GetLocalClientCreds’ error = >>> storage size of ‘peercred’ isn’t known error”. I’m still a Linux novice and >>> searched the web for other users who encountered that error and most said >>> that setting either the CFLAGS or CPPFLAGS variable to “-D_GNU_SOURCE” >>> (e.g. make CFLAGS=-D_GNU_SOURCE) allowed the make build to compile. >>> However, setting neither flag fixes the problem and allows the make build >>> for me. >>> >>> Does anyone have any other suggestions? >>> >>> I appreciate any assistance anyone could offer. >>> >>> Thanks and have a good night. >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "TurboVNC User Discussion/Support" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/turbovnc-users/797b6ea1-993a-4e5e-a718-d6f47b94379dn%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/turbovnc-users/797b6ea1-993a-4e5e-a718-d6f47b94379dn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "TurboVNC User Discussion/Support" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/turbovnc-users/ac661251-a0ef-4606-9ba2-a934692d4224n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/turbovnc-users/ac661251-a0ef-4606-9ba2-a934692d4224n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> -- > You received this message because you are subscribed to the Google Groups > "TurboVNC User Discussion/Support" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/turbovnc-users/01f07e12-e2ea-40db-9a95-d5ba1c962addn%40googlegroups.com > > <https://groups.google.com/d/msgid/turbovnc-users/01f07e12-e2ea-40db-9a95-d5ba1c962addn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- You received this message because you are subscribed to the Google Groups "TurboVNC User Discussion/Support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/turbovnc-users/08f243f1-58bf-4799-9df9-3d2d28f7c0d7n%40googlegroups.com.
