trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2014

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

From: "David C. Rankin" <drankinatty@...>
Date: Mon, 20 Jan 2014 04:14:16 -0600
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.





-- 
David C. Rankin, J.D.,P.E.

Attachments: