On Fri, Jun 17, 2022 at 8:49 AM Sérgio Basto <sergio@serjux.com> wrote:
On Thu, 2022-06-16 at 22:02 -0500, Richard Shaw wrote:
On Thu, Jun 16, 2022 at 9:57 PM Sérgio Basto <sergio@serjux.com> wrote:
On Wed, 2022-06-15 at 20:28 -0500, Richard Shaw wrote:
On Wed, Jun 15, 2022 at 5:24 PM Sérgio Basto <sergio@serjux.com> wrote:
On Mon, 2022-06-13 at 17:42 -0500, Richard Shaw wrote:
On Sun, Jun 12, 2022 at 1:03 PM Michal Schorm <mschorm@redhat.com> wrote:
See:


Whether it's part of the same problem or not, the "-S ." seems to be causing issues for projects that "add_subdirectory()" other projects. Not everything is propagating into the sub-project.

Hi , 

please tell me what packages you need fix the cmake builds and I will try to fix it . 


Now I see the problem regardless of whether I use the "-S ." or "." at the end method... The strange part is with GNUInstallDirs. It should only emit that message if neither CMAKE_SYSTEM_NAME nor CMAKE_SIZEOF_VOIDP is defined, but clearly one of them is:

CMake Warning (dev) at /usr/share/cmake/Modules/GNUInstallDirs.cmake:241 (message):
  Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
  target architecture is known.  Please enable at least one language before
  including GNUInstallDirs.
Call Stack (most recent call first):
  CMakeLists.txt:15 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.
CMAKE_SYSTEM_NAME: Linux
CMAKE_SIZEOF_VOID_P:

I'm working with it in a COPR currently so here's a link to the SRPM:



Good , now to fix "relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE" you need patch attached 

Now build ends with 

/usr/bin/ld: ../../../libnng.so.1.6.0-pre: undefined reference to `cJSON_Delete'
/usr/bin/ld: ../../../libnng.so.1.6.0-pre: undefined reference to `cJSON_PrintUnformatted'
/usr/bin/ld: ../../../libnng.so.1.6.0-pre: undefined reference to `conf_fini'
/usr/bin/ld: ../../../libnng.so.1.6.0-pre: undefined reference to `cJSON_AddStringToObject'
/usr/bin/ld: ../../../libnng.so.1.6.0-pre: undefined reference to `conf_auth_parser'
/usr/bin/ld: ../../../libnng.so.1.6.0-pre: undefined reference to `conf_auth_http_parse'
/usr/bin/ld: ../../../libnng.so.1.6.0-pre: undefined reference to `nano_msg_set_dup'
/usr/bin/ld: ../../../libnng.so.1.6.0-pre: undefined reference to `cJSON_CreateObject'


What did you change?

I sent the patch in attachment 

diff --git a/CMakeLists.txt b/CMakeLists.txt

-SET(CMAKE_C_FLAGS "-std=c99")
-SET(CMAKE_CXX_FLAGS "-std=c++11 -O3")

diff --git a/nanolib/CMakeLists.txt.orig b/nanolib/CMakeLists.txt

-SET(CMAKE_C_FLAGS "-std=gnu99")
-SET(CMAKE_CXX_FLAGS "-std=c++11 -O3")

you need not remove the default C_FLAGS and CXX_FLAGS 

Whoops. Didn't see the patch. So I thought that setting the CMAKE_Cxxxx flags were still additive with the environment variables, I guess not.  

Thanks!
RIchard