trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2014

Re: [trinity-devel] [PATCH] Re: [trinity-devel] tdebase FTBFS - No rule to make target '/opt/trinity/lib/libtdefakes_nonpic.a'

From: Slávek Banko <slavek.banko@...>
Date: Mon, 20 Jan 2014 12:43:00 +0100
Dne po 20. ledna 2014 David C. Rankin napsal(a):
> On 01/20/2014 02:25 AM, David C. Rankin wrote:
> > On 01/20/2014 02:07 AM, David C. Rankin wrote:
> >> All,
> >>
> >>   I do not know what in the heck this error is:
> >>
> >> [ 95%] Built target ksysguardd-static
> >> Scanning dependencies of target ksysguardd
> >> [ 95%] Building C object
> >> ksysguard/ksysguardd/CMakeFiles/ksysguardd.dir/Command.c.o [ 95%]
> >> Building C object
> >> ksysguard/ksysguardd/CMakeFiles/ksysguardd.dir/conf.c.o [ 95%]
> >> Building C object
> >> ksysguard/ksysguardd/CMakeFiles/ksysguardd.dir/ksysguardd.c.o
> >> [ 95%] Building C object
> >> ksysguard/ksysguardd/CMakeFiles/ksysguardd.dir/PWUIDCache.c.o
> >> make[2]: *** No rule to make target
> >> '/opt/trinity/lib/libtdefakes_nonpic.a', needed by
> >> 'ksysguard/ksysguardd/ksysguardd'.  Stop.
> >> CMakeFiles/Makefile2:24311: recipe for target
> >> 'ksysguard/ksysguardd/CMakeFiles/ksysguardd.dir/all' failed
> >> make[1]: *** [ksysguard/ksysguardd/CMakeFiles/ksysguardd.dir/all]
> >> Error 2 Makefile:116: recipe for target 'all' failed
> >> make: *** [all] Error 2
> >>
> >>   The base error is:
> >>
> >> *** No rule to make target '/opt/trinity/lib/libtdefakes_nonpic.a',
> >> needed by 'ksysguard/ksysguardd/ksysguardd'.  Stop.
> >>
> >>   Is this a CMake error or some other type of error? Where to start?
> >
> > The failure comes from ksysguard/ksysguardd/CMakeLists.txt
> >
> > #### ksysguardd (executable) ###################
> >
> > tde_add_executable( ksysguardd AUTOMOC
> >   SOURCES Command.c conf.c ksysguardd.c PWUIDCache.c
> >   LINK ccont-static ksysguardd-static
> > ${TDE_LIB_DIR}/libtdefakes_nonpic.a ${SENSORS_LIBRARIES}
> >   DESTINATION ${BIN_INSTALL_DIR}
> > )
> >
> > I suspect that should be libtdefakes_nonpic.la
> >
> > will patch and test (who pushed this stuff....:-)
>
>   [ 95%] Building C object
> ksysguard/ksysguardd/CMakeFiles/ksysguardd.dir/PWUIDCache.c.o
> make[2]: *** No rule to make target
> '/opt/trinity/lib/libtdefakes_nonpic.la', needed by
>
> There is NO file named:
>
>   '/opt/trinity/lib/libtdefakes_nonpic.a' (or .la)
>
> There IS a file named:
>
>   '/opt/trinity/lib/libtdefakes.la'
>
>   But why would something be trying to link against a libtool library.
> If someone can explain the ksysguardd AUTOMOC call, I'd appreciate it.
>
>   Regardless, tdebase was going to complete its build tonight. So
> instead of messing with the autotool .la file, I patched CMakeLists.txt
> to link to the shared-object .so file. It worked!
>
> --- CMakeLists.txt
> +++ ksysguard/ksysguardd/CMakeLists.txt 2014-01-20 04:06:29.291128193
> -0600 @@ -39,7 +39,7 @@
>
>  tde_add_executable( ksysguardd AUTOMOC
>    SOURCES Command.c conf.c ksysguardd.c PWUIDCache.c
> -  LINK ccont-static ksysguardd-static
> ${TDE_LIB_DIR}/libtdefakes_nonpic.a +  LINK ccont-static
> ksysguardd-static ${TDE_LIB_DIR}/libtdefakes.so ${SENSORS_LIBRARIES}
>    DESTINATION ${BIN_INSTALL_DIR}
>  )
>
> Whoop!
>
>   tde-tdebase-14.0.0-1-x86_64.pkg.tar.xz  (built without HAL)
>
>   Needless to say, the ksysguardd/CMakeLists.txt should be reworked. I
> believe this part of tdebase is only built if building with
> -DWITH_SENSORS=ON. I've attached the patch. Look it over and let me
> know if you want a bug opened.

I think that the patch is not correct. All other libraries are linked 
static, so it seems to me correct also tdefakes linking static, not 
shared.

Built on Debian, also without HAL:

# ls -1 /opt/trinity/lib/libtdefakes*
/opt/trinity/lib/libtdefakes.la
/opt/trinity/lib/libtdefakes.so
/opt/trinity/lib/libtdefakes.so.14
/opt/trinity/lib/libtdefakes.so.14.0.0
/opt/trinity/lib/libtdefakes_nonpic.a
/opt/trinity/lib/libtdefakes_pic.a

As I mentioned in the other mail, tdefakes is built in tdelibs. Please 
check your tdelibs build.

Slavek
--