Make file error - /usr/bin/ld: libfab.a(fab.c.o): undefined reference to symbol 'sqrtf@@GLIBC_2.0'

A

amlavigne

Guest
Hi,

I am trying to install fabmodules from this MIT website: http://kokompe.cba.mit.edu/downloads.html

When I want to run the make fab command, the process strops and I have this error:


Linking C executable path_array
/usr/bin/ld: libfab.a(fab.c.o): undefined reference to symbol 'sqrtf@@GLIBC_2.0'
/lib/i386-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status


And the make stops.

Do you know what it means?


Here is the make file document I am using:

# The lines below extract out program names from the cmake cache
# This is used to automatically generate a documentation page.
C_ = $(shell sed -n -e 's/;/ /g' \
-e 's/SOLVER_EXECUTABLES:STRING=//gp' \
-e 's/PROGRAMS:STRING=//gp' \
build/CMakeCache.txt)
C = $(addprefix bin/, $(C_))

Python_ = $(shell sed -n -e 's/;/ /g' \
-e 's/PYs:STRING=//gp' \
build/CMakeCache.txt)
Python = $(addprefix bin/, $(Python_))


scripts_ = $(shell sed -n -e 's/;/ /g' \
-e 's/SCRIPTS:STRING=//gp' \
build/CMakeCache.txt)
scripts = $(addprefix bin/, $(scripts_))

GUIs_ = $(shell sed -n -e 's/;/ /g' \
-e 's/GUIs:STRING=//gp' \
build/CMakeCache.txt)
GUIs = $(addprefix bin/, $(GUIs_))

PWD := $(shell pwd)

help:
@echo "Makefile options:"
@echo " make fab Compile all files and copy scripts from src to bin"
@echo " make doc Saves command names and docstrings into commands.html"
@echo " make zip Bundles relevant files in fab.zip"
@echo " make dist Copies files to Web directory"
@echo " make install Copies files to /usr/local/bin"
@echo " make clean Removes compiled executables and scripts from bin"

fab:
@echo "Building with CMake"
@mkdir -p build

@cd build; \
cmake ../src; \
make; \
make install | sed "s@$(PWD)/src/../@@g"

# @sed -i '' "s/REVISION = None/REVISION = '`hg id --num`:`hg id --id`'/g" \
# bin/koko/about.py


doc: commands.html
commands.html: fab
@# Dump all of the command names
@echo " Storing command names"
@echo "<html>\n<body>\n<pre>\ncommands:" > commands.html
@for name in $(C) $(scripts) $(GUIs); do \
echo " "$$name >> commands.html; \
done

@echo "" >> commands.html

@# Dump command docstrings
@echo " Storing command docstrings"
@for name in $(C) $(scripts) ; do \
./$$name >> commands.html; \
echo "" >> commands.html; \
done

zip: commands.html
rm -f fab_src.zip
rm -rf src/apps/dist
rm -rf src/apps/build
zip -r fab_src.zip commands.html Makefile src

dist: zip
cp fab_src.zip ../../Web/fab_src.zip
cp commands.html ../../Web/
sed -e "s/Snapshot from [^\)]*/Snapshot from `date '+%B %d, %Y, %I:%M%p'`/g" \
../../Web/downloads.html > ../../Web/_downloads.html
mv ../../Web/_downloads.html ../../Web/downloads.html

install: fab
@echo "Installing executables and scripts to /usr/local/bin"
@if [ -e "/usr/local/bin/fab_send" ]; \
then \
mv /usr/local/bin/fab_send /usr/local/bin/fab_send.old; \
fi
@cp -r bin/* /usr/local/bin/
@if [ -e "/usr/local/bin/fab_send.old" ]; \
then \
mv /usr/local/bin/fab_send /usr/local/bin/fab_send.new; \
mv /usr/local/bin/fab_send.old /usr/local/bin/fab_send; \
echo "Note:"; \
echo " Pre-existing fab_send has not been overwritten, and"; \
echo " the new version of fab_send has been named fab_send.new"; \
fi
@echo "Copying shared libraries to /usr/local/lib"
@cp -r lib/* /usr/local/lib/

clean:
@echo "Deleting build directory"
@rm -rf build
 


I only partly understand this - so I'll gladly step aside for an answer from somebody who knows what they are talking about.

DSO missing from command line
means that you are missing something which points to the library.

Out of interest are you using a 32 bit computer or a 64 bit machine? You can run some 32 bit apps on a 64 bit computer but you need to correct 32 bit libraries installed.
 

Members online


Latest posts

Top