(from cvs) sensors binary compile probs on rh8
Mark Studebaker
mds at paradyne.com
Tue Dec 17 23:45:54 CET 2002
>From reading 'man ld.so' and 'man ldconfig', it's apparent that /usr/lib and /lib are searched _after_ all
the libraries listed in /etc/ld.so.conf. So the only problem is if /usr/local/lib is not listed
in /etc/ld.so.conf at all.
Did you have /usr/local/lib/ in /etc/ld.so.conf or did you have to add it?
If Redhat doesn't have /usr/local/lib in there, I think that's the check we need to have.
Philip Edelbrock wrote:
>
> Ah, I found the trouble. I've got too many libsensors installed, and
> when sensors is compiled, it will link against an old one. At some
> point, we changed the default lib installation directory from /usr/lib
> to /usr/local/lib. Bins get linked against /usr/lib/libsensors.so
> instead of the newer /usr/local/libsensors.so.
>
> So, in essence, a newer include for the lib is used to link against an
> old lib.
>
> Once I deleted the old libs from /usr/lib and got it linking to the new
> lib, it worked fine.
>
> Should we have a check for an old lib? Or explicitly link against
> libsensors.1.4.0.so (if this is possible?).
>
>
> Phil
>
>
> Mark Studebaker wrote:
>
>> guess you saw the mail that it's a libc 2.3 thing...
>> Can you recompile w/ -g (sensors and libsensors) and get a better bt?
>> could be something I did to libsensors...
>>
>> Philip Edelbrock wrote:
>>
>>> :'(
>>>
>>> [phil at drtheopolis phil]$ sensors -v
>>> sensors version 2.7.0
>>>
>>> [phil at drtheopolis phil]$ sensors
>>> Segmentation fault (core dumped)
>>>
>>> [phil at drtheopolis phil]$ gdb sensors
>>> GNU gdb Red Hat Linux (5.2.1-4)
>>> Copyright 2002 Free Software Foundation, Inc.
>>> GDB is free software, covered by the GNU General Public License, and
>>> you are
>>> welcome to change it and/or distribute copies of it under certain
>>> conditions.
>>> Type "show copying" to see the conditions.
>>> There is absolutely no warranty for GDB. Type "show warranty" for
>>> details.
>>> This GDB was configured as "i386-redhat-linux"...
>>> (gdb) run
>>> Starting program: /usr/local/bin/sensors
>>>
>>> Program received signal SIGSEGV, Segmentation fault.
>>> 0x4207931a in strcmp () from /lib/i686/libc.so.6
>>> (gdb) bt
>>> #0 0x4207931a in strcmp () from /lib/i686/libc.so.6
>>> #1 0x40028bd9 in sensors_match_chip () from /usr/lib/libsensors.so.1
>>> #2 0x08049171 in do_the_real_work ()
>>> #3 0x08049073 in main ()
>>> #4 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6
>>>
>>>
>>> It's possible that it's just my strange computer. This isn't a RH8
>>> install from scratch, but an upgrade. There could be a legacy lib or
>>> something causing trouble which may not appear on another Athlon
>>> running RH8.... has anybody else tried on an Athlon?
>>>
>>>
>>> Phil
>>>
>>>
>>> Mark Studebaker wrote:
>>>
>>>> Phil, what processor are you compiling for? Or what's wrong with
>>>> <math.h>?
>>>> It works for me, but gcc is generating floating point assembler
>>>> instructions
>>>> and so it doesn't need -lm.
>>>> If we do add a -lm it should be added to lib/Module.mk for the library,
>>>> not in prog/sensors/Module.mk for sensors.
>>>>
>>>>
>>>> Jean Delvare wrote:
>>>>
>>>>>> FYI-
>>>>>>
>>>>>> gcc -o prog/sensors/sensors prog/sensors/main.ro
>>>>>> prog/sensors/chips.ro
>>>>>> -Llib -lsensors
>>>>>> lib/libsensors.so: undefined reference to `log'
>>>>>> lib/libsensors.so: undefined reference to `exp'
>>>>>> collect2: ld returned 1 exit stat
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Looks like we need an extra "-lm" on the command line.
>>>>>
>>>>
>>>>
>>>
>>
>>
>
More information about the lm-sensors
mailing list