You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@impala.apache.org by Randy Hammon <yo...@gmail.com> on 2016/04/08 21:23:04 UTC

Re: New link errors. undefined reference to _Ux86_64*

Hi Skye,
I followed your instruction and glog include is pointing into toolchain.
For grins, I uninstalled libgoogle-glog-dev and libgoogle-glog0. I got past
that error and it linked impalad.
Later on I got an error with no real error stacktrace when linking
session-expiry-test. I reinstalled glog and got my original error.
used to build just fine.
complain() {
stdcomplain << "sigh.... impala could be the most delicate apache project
ever.
}



On Wed, Mar 30, 2016 at 3:46 PM, Skye Wanderman-Milne <sk...@cloudera.com>
wrote:

> It might be useful to run the following:
> cd $IMPALA_HOME
> rm CMakeCache.txt
> cmake .
>
> This will print the locations of all the linked libraries. For instance, I
> get:
> -- GLog include dir: /opt/Impala-Toolchain/glog-0.3.2-p1/include
>
> You can use this to verify which glog you're linking against.
>
> On Wed, Mar 30, 2016 at 3:33 PM, Tim Armstrong <ta...@cloudera.com>
> wrote:
>
>> It looks like you are picking up your system's version of glog rather
>> than one of the versions distributed with Impala.
>>
>> I'm not sure why it would be doing this, but I'd suggest doing a full
>> clean and build first to see if that resolves it.
>>
>> If you are doing a toolchain build, it should be linking against the
>> toolchain glog, or if you're not it should be linking against the one in
>> thirdparty/.
>>
>>
>> On Wed, Mar 30, 2016 at 3:16 PM, Randy Hammon <yo...@gmail.com> wrote:
>>
>>> Hi all,
>>> rebased my local repository and got the following build errors.
>>>
>>> Haven't changed anything on ubuntu 14.04.3 vmware image.
>>> googling suggests maybe something related to  missing dependency.
>>> Thanks
>>> Randy
>>>
>>> [100%] Building CXX object
>>> be/src/service/CMakeFiles/impalad.dir/daemon-main.cc.o
>>> Linking CXX executable ../../build/debug/service/impalad
>>> ../../../toolchain/openldap-2.4.25/lib/libldap.a(os-ip.o): In function
>>> `ldap_int_poll':
>>> os-ip.c:(.text+0x2a6): warning: `sys_errlist' is deprecated; use
>>> `strerror' or `strerror_r' instead
>>> os-ip.c:(.text+0x29a): warning: `sys_nerr' is deprecated; use `strerror'
>>> or `strerror_r' instead
>>> ../../build/debug/common/libCommon.a(logging.cc.o): In function
>>> `impala::InitGoogleLoggingSafe(char const*)':
>>> /home/osboxes/impala/be/src/common/logging.cc:101: undefined reference
>>> to `google::InstallLogMessageListenerFunction(void (*)(std::string*,
>>> bool*))'
>>> /usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-utilities.o): In function
>>> `google::GetStackTrace(void**, int, int)':
>>> (.text+0x7b1): undefined reference to `_Ux86_64_getcontext'
>>> /usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-utilities.o): In function
>>> `google::GetStackTrace(void**, int, int)':
>>> (.text+0x7ca): undefined reference to `_ULx86_64_init_local'
>>> /usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-utilities.o): In function
>>> `google::GetStackTrace(void**, int, int)':
>>> (.text+0x823): undefined reference to `_ULx86_64_get_reg'
>>> /usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-utilities.o): In function
>>> `google::GetStackTrace(void**, int, int)':
>>> (.text+0x882): undefined reference to `_ULx86_64_step'
>>> collect2: error: ld returned 1 exit status
>>> make[3]: *** [be/build/debug/service/impalad] Error 1
>>> make[2]: *** [be/src/service/CMakeFiles/impalad.dir/all] Error 2
>>> make[1]: *** [be/src/service/CMakeFiles/impalad.dir/rule] Error 2
>>> make: *** [impalad] Error 2
>>> Error in /home/osboxes/impala/bin/make_impala.sh at line 123: make
>>> -j${IMPALA_BUILD_THREADS:-4} impalad
>>> Error in ./buildall.sh at line 269: $IMPALA_HOME/bin/make_impala.sh
>>> ${MAKE_IMPALA_ARGS}
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Impala Dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to impala-dev+unsubscribe@cloudera.org.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Impala Dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to impala-dev+unsubscribe@cloudera.org.
>>
>
>

Re: New link errors. undefined reference to _Ux86_64*

Posted by Skye Wanderman-Milne <sk...@cloudera.com>.
I hear ya, it can be tricky to get set up unfortunately... here's my
workflow, YMMV.

In .bashrc:
export IMPALA_HOME=...
export IMPALA_TOOLCHAIN=...

Then before you do anything, rm $IMPALA_HOME/CMakeCache.txt
Or if you're really worried, delete all cmake tmp files: cd $IMPALA_HOME &&
find -iname '*cmake*' -not -name CMakeLists.txt | grep -v -e cmake_module |
grep -v -e thirdparty | xargs rm -Rf
You shouldn't need to do this often though.

Finally, make_debug.sh or make_release.sh to clean and set cmake to that
kind of build, then make_impala.sh for incremental builds thereafter (or
just make -j8 impalad).

If you share your commands and output, we can try to help you further.

On Fri, Apr 8, 2016 at 12:23 PM, Randy Hammon <yo...@gmail.com> wrote:

> Hi Skye,
> I followed your instruction and glog include is pointing into toolchain.
> For grins, I uninstalled libgoogle-glog-dev and libgoogle-glog0. I got past
> that error and it linked impalad.
> Later on I got an error with no real error stacktrace when linking
> session-expiry-test. I reinstalled glog and got my original error.
> used to build just fine.
> complain() {
> stdcomplain << "sigh.... impala could be the most delicate apache project
> ever.
> }
>
>
>
> On Wed, Mar 30, 2016 at 3:46 PM, Skye Wanderman-Milne <sk...@cloudera.com>
> wrote:
>
>> It might be useful to run the following:
>> cd $IMPALA_HOME
>> rm CMakeCache.txt
>> cmake .
>>
>> This will print the locations of all the linked libraries. For instance,
>> I get:
>> -- GLog include dir: /opt/Impala-Toolchain/glog-0.3.2-p1/include
>>
>> You can use this to verify which glog you're linking against.
>>
>> On Wed, Mar 30, 2016 at 3:33 PM, Tim Armstrong <ta...@cloudera.com>
>> wrote:
>>
>>> It looks like you are picking up your system's version of glog rather
>>> than one of the versions distributed with Impala.
>>>
>>> I'm not sure why it would be doing this, but I'd suggest doing a full
>>> clean and build first to see if that resolves it.
>>>
>>> If you are doing a toolchain build, it should be linking against the
>>> toolchain glog, or if you're not it should be linking against the one in
>>> thirdparty/.
>>>
>>>
>>> On Wed, Mar 30, 2016 at 3:16 PM, Randy Hammon <yo...@gmail.com> wrote:
>>>
>>>> Hi all,
>>>> rebased my local repository and got the following build errors.
>>>>
>>>> Haven't changed anything on ubuntu 14.04.3 vmware image.
>>>> googling suggests maybe something related to  missing dependency.
>>>> Thanks
>>>> Randy
>>>>
>>>> [100%] Building CXX object
>>>> be/src/service/CMakeFiles/impalad.dir/daemon-main.cc.o
>>>> Linking CXX executable ../../build/debug/service/impalad
>>>> ../../../toolchain/openldap-2.4.25/lib/libldap.a(os-ip.o): In function
>>>> `ldap_int_poll':
>>>> os-ip.c:(.text+0x2a6): warning: `sys_errlist' is deprecated; use
>>>> `strerror' or `strerror_r' instead
>>>> os-ip.c:(.text+0x29a): warning: `sys_nerr' is deprecated; use
>>>> `strerror' or `strerror_r' instead
>>>> ../../build/debug/common/libCommon.a(logging.cc.o): In function
>>>> `impala::InitGoogleLoggingSafe(char const*)':
>>>> /home/osboxes/impala/be/src/common/logging.cc:101: undefined reference
>>>> to `google::InstallLogMessageListenerFunction(void (*)(std::string*,
>>>> bool*))'
>>>> /usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-utilities.o): In
>>>> function `google::GetStackTrace(void**, int, int)':
>>>> (.text+0x7b1): undefined reference to `_Ux86_64_getcontext'
>>>> /usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-utilities.o): In
>>>> function `google::GetStackTrace(void**, int, int)':
>>>> (.text+0x7ca): undefined reference to `_ULx86_64_init_local'
>>>> /usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-utilities.o): In
>>>> function `google::GetStackTrace(void**, int, int)':
>>>> (.text+0x823): undefined reference to `_ULx86_64_get_reg'
>>>> /usr/lib/x86_64-linux-gnu/libglog.a(libglog_la-utilities.o): In
>>>> function `google::GetStackTrace(void**, int, int)':
>>>> (.text+0x882): undefined reference to `_ULx86_64_step'
>>>> collect2: error: ld returned 1 exit status
>>>> make[3]: *** [be/build/debug/service/impalad] Error 1
>>>> make[2]: *** [be/src/service/CMakeFiles/impalad.dir/all] Error 2
>>>> make[1]: *** [be/src/service/CMakeFiles/impalad.dir/rule] Error 2
>>>> make: *** [impalad] Error 2
>>>> Error in /home/osboxes/impala/bin/make_impala.sh at line 123: make
>>>> -j${IMPALA_BUILD_THREADS:-4} impalad
>>>> Error in ./buildall.sh at line 269: $IMPALA_HOME/bin/make_impala.sh
>>>> ${MAKE_IMPALA_ARGS}
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Impala Dev" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to impala-dev+unsubscribe@cloudera.org.
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Impala Dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to impala-dev+unsubscribe@cloudera.org.
>>>
>>
>>
>