[Click] Recent commit broke click build on openwrt

Eddie Kohler kohler at cs.ucla.edu
Fri Oct 1 17:40:48 EDT 2010


Roberto,

The question is why your compiler declares clock_gettime *and* appears to 
define clock_gettime, but linking with clock_gettime fails?  My change was 
designed to search for a clock_gettime definition.

A complete config.log may help.

Eddie


On 10/01/2010 11:15 AM, Roberto Riggio wrote:
> Hi,
>
> no same result:
>
> configure:7511: checking whether clock_gettime is declared
> configure:7511: i486-openwrt-linux-uclibc-g++ -c -static -O2 -MD
> -I/home/rriggio/src/kamikaze/staging_dir/target-i386_uClibc-0.9.30.1/usr/include
> -I/home/rriggio/src/kamikaze/staging_dir/target-i386_uClibc-0.9.30.1/include
> conftest.cpp >&5
> configure:7511: $? = 0
> configure:7511: result: yes
>
> and:
>
> LINK click-mkmindriver
> ../lib/libclicktool_build.a(userutils.bo): In function
> `clickdl_load_package(String, ErrorHandler*)':
> userutils.cc:(.text+0xff1): warning: Using 'dlopen' in statically linked
> applications requires at runtime the shared libraries from the glibc
> version used for linking
> ../lib/libclicktool_build.a(confparse.bo): In function
> `cp_filename(String const&, String*)':
> confparse.cc:(.text+0x9945): warning: Using 'getpwnam' in statically
> linked applications requires at runtime the shared libraries from the
> glibc version used for linking
> ../lib/libclicktool_build.a(confparse.bo): In function
> `cp_tcpudp_port(String const&, int, unsigned short*)':
> confparse.cc:(.text+0x3551): warning: Using 'getservbyname' in
> statically linked applications requires at runtime the shared libraries
> from the glibc version used for linking
> ../lib/libclicktool_build.a(glue.bo): In function `click_random_srandom()':
> glue.cc:(.text+0xa40): undefined reference to `clock_gettime'
> ../lib/libclicktool_build.a(timestamp.bo): In function
> `Timestamp::warp_jump(Timestamp const&)':
> timestamp.cc:(.text+0x257): undefined reference to `clock_gettime'
> ../lib/libclicktool_build.a(timestamp.bo): In function
> `Timestamp::warp_set_now(Timestamp const&)':
> timestamp.cc:(.text+0x661): undefined reference to `clock_gettime'
> ../lib/libclicktool_build.a(timestamp.bo): In function
> `Timestamp::warp_set_speed(double)':
> timestamp.cc:(.text+0x782): undefined reference to `clock_gettime'
> collect2: ld returned 1 exit status
>
>
> On 10/01/2010 06:50 PM, Eddie Kohler wrote:
>> Hi Roberto,
>>
>> I checked in a different change to the configury. Does the current
>> HEAD work for you?
>>
>> Eddie
>>
>>
>> On 10/1/10 1:07 AM, Roberto Riggio wrote:
>>> This is the compilation error:
>>>
>>> LINK click-mkmindriver
>>> ../lib/libclicktool_build.a(userutils.bo): In function
>>> `clickdl_load_package(String, ErrorHandler*)':
>>> userutils.cc:(.text+0xff1): warning: Using 'dlopen' in statically linked
>>> applications requires at runtime the shared libraries from the glibc
>>> version used for linking
>>> ../lib/libclicktool_build.a(confparse.bo): In function
>>> `cp_filename(String const&, String*)':
>>> confparse.cc:(.text+0x9945): warning: Using 'getpwnam' in statically
>>> linked applications requires at runtime the shared libraries from the
>>> glibc version used for linking
>>> ../lib/libclicktool_build.a(confparse.bo): In function
>>> `cp_tcpudp_port(String const&, int, unsigned short*)':
>>> confparse.cc:(.text+0x3551): warning: Using 'getservbyname' in
>>> statically linked applications requires at runtime the shared libraries
>>> from the glibc version used for linking
>>> ../lib/libclicktool_build.a(glue.bo): In function
>>> `click_random_srandom()':
>>> glue.cc:(.text+0xa40): undefined reference to `clock_gettime'
>>> ../lib/libclicktool_build.a(timestamp.bo): In function
>>> `Timestamp::warp_jump(Timestamp const&)':
>>> timestamp.cc:(.text+0x257): undefined reference to `clock_gettime'
>>> ../lib/libclicktool_build.a(timestamp.bo): In function
>>> `Timestamp::warp_set_now(Timestamp const&)':
>>> timestamp.cc:(.text+0x661): undefined reference to `clock_gettime'
>>> ../lib/libclicktool_build.a(timestamp.bo): In function
>>> `Timestamp::warp_set_speed(double)':
>>> timestamp.cc:(.text+0x782): undefined reference to `clock_gettime'
>>> collect2: ld returned 1 exit status
>>> make[6]: *** [click-mkmindriver] Error 1
>>> make[6]: Leaving directory
>>> `/home/rriggio/src/kamikaze/build_dir/target-i386_uClibc-0.9.30.1/click-20101001/tools/click-mkmindriver'
>>>
>>>
>>> make[5]: *** [click-mkmindriver] Error 2
>>> make[5]: Leaving directory
>>> `/home/rriggio/src/kamikaze/build_dir/target-i386_uClibc-0.9.30.1/click-20101001/tools'
>>>
>>>
>>> make[4]: *** [tools] Error 2
>>> make[4]: Leaving directory
>>> `/home/rriggio/src/kamikaze/build_dir/target-i386_uClibc-0.9.30.1/click-20101001'
>>>
>>>
>>> make[3]: ***
>>> [/home/rriggio/src/kamikaze/build_dir/target-i386_uClibc-0.9.30.1/click-20101001/.built]
>>>
>>> Error 2
>>> make[3]: Leaving directory `/home/rriggio/src/kamikaze/package/click'
>>> make[2]: *** [package/click/compile] Error 2
>>> make[2]: Leaving directory `/home/rriggio/src/kamikaze'
>>> make[1]: ***
>>> [/home/rriggio/src/kamikaze/staging_dir/target-i386_uClibc-0.9.30.1/stamp/.package_compile]
>>>
>>> Error 2
>>> make[1]: Leaving directory `/home/rriggio/src/kamikaze'
>>> make: *** [world] Error 2
>>>
>>>
>>> On 10/01/2010 12:11 AM, Eddie Kohler wrote:
>>>> Roberto,
>>>>
>>>> Can you please send the actual compilation error, along with your
>>>> config.log?
>>>> This "fix" should not be necessary.
>>>>
>>>> Eddie
>>>>
>>>>
>>>> On 09/30/2010 09:02 AM, Roberto Riggio wrote:
>>>>> Hi,
>>>>>
>>>>> this commit:
>>>>>
>>>>> http://github.com/kohler/click/commit/e24deaae2ee5f326ee0febee18eff81fbeacf527
>>>>>
>>>>>
>>>>>
>>>>> broke the click build for openwrt. In particular the compilation
>>>>> process
>>>>> reports a missing
>>>>> clock_gettime method (not available on uclibc as far as a I've
>>>>> understood).
>>>>>
>>>>> Reverting this:
>>>>>
>>>>> - [AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Define if you have the
>>>>> clock_gettime function.])])
>>>>> + [AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Define if you have the
>>>>> clock_gettime function.])
>>>>> + have_clock_gettime=yes])
>>>>>
>>>>> solve the problem.
>>>>>
>>>>> R.
>>>>> _______________________________________________
>>>>> click mailing list
>>>>> click at amsterdam.lcs.mit.edu
>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>> _______________________________________________
>>>> click mailing list
>>>> click at amsterdam.lcs.mit.edu
>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>
>>>
>>>
>>> _______________________________________________
>>> click mailing list
>>> click at amsterdam.lcs.mit.edu
>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>


More information about the click mailing list