[Csync2] Undefined symbols for architecture x86_64 - OSX 10.7.5

Evan I. Ray evan.i.ray90 at gmail.com
Sun Oct 7 01:33:12 CEST 2012


Hello,

sorry for eventually not providing all necessary details, this is my first
mail ever.

I am trying to compile csync2-1.34 on Mac OSX Lion 10.7.5, Xcode 4.5.
However, I get the following error message when i use make:

Undefined symbols for architecture x86_64:
  "_get_current_dir_name", referenced from:
      _getrealfn in getrealfn.o


#uname -a
Darwin evan 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:26:45 PDT
2012; root:xnu-1699.32.7~1/RELEASE_I386 i386

# gcc --V
i686-apple-darwin11-llvm-gcc-4.2: no input files

Here is what I did:

# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for bison... bison -y
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for rs_sig_file in -lrsync... yes
checking for sqlite_exec in -lsqlite... yes
checking for libgnutls-config... /usr/bin/libgnutls-config
checking for libgnutls - version >= 1.0.0... yes
checking for SSL_new in -lgnutls-openssl... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

# make
bison -y  -d `test -f 'cfgfile_parser.y' || echo './'`cfgfile_parser.y
if test -f y.tab.h; then \
  to=`echo "cfgfile_parser_H" | sed \
                -e
'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
                -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
  sed "/^#/ s/Y_TAB_H/$to/g" y.tab.h >cfgfile_parser.ht; \
  rm -f y.tab.h; \
  if cmp -s cfgfile_parser.ht cfgfile_parser.h; then \
    rm -f cfgfile_parser.ht ;\
  else \
    mv cfgfile_parser.ht cfgfile_parser.h; \
  fi; \
 fi
if test -f y.output; then \
  mv y.output cfgfile_parser.output; \
 fi
sed '/^#/ s|y\.tab\.c|cfgfile_parser.c|' y.tab.c >cfgfile_parser.ct && mv
cfgfile_parser.ct cfgfile_parser.c
rm -f y.tab.c
make  all-am
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT action.o -MD -MP -MF
".deps/action.Tpo" \
  -c -o action.o `test -f 'action.c' || echo './'`action.c; \
then mv -f ".deps/action.Tpo" ".deps/action.Po"; \
 else rm -f ".deps/action.Tpo"; exit 1; \
fi
action.c: In function ‘csync_run_single_command’:
action.c:110: warning: missing sentinel in function call
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT cfgfile_parser.o -MD
-MP -MF ".deps/cfgfile_parser.Tpo" \
  -c -o cfgfile_parser.o `test -f 'cfgfile_parser.c' || echo
'./'`cfgfile_parser.c; \
then mv -f ".deps/cfgfile_parser.Tpo" ".deps/cfgfile_parser.Po"; \
 else rm -f ".deps/cfgfile_parser.Tpo"; exit 1; \
fi
flex   `test -f cfgfile_scanner.l || echo './'`cfgfile_scanner.l
sed '/^#/ s|lex.yy\.c|cfgfile_scanner.c|' lex.yy.c >cfgfile_scanner.c
rm -f lex.yy.c
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT cfgfile_scanner.o
-MD -MP -MF ".deps/cfgfile_scanner.Tpo" \
  -c -o cfgfile_scanner.o `test -f 'cfgfile_scanner.c' || echo
'./'`cfgfile_scanner.c; \
then mv -f ".deps/cfgfile_scanner.Tpo" ".deps/cfgfile_scanner.Po"; \
 else rm -f ".deps/cfgfile_scanner.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT check.o -MD -MP -MF
".deps/check.Tpo" \
  -c -o check.o `test -f 'check.c' || echo './'`check.c; \
then mv -f ".deps/check.Tpo" ".deps/check.Po"; \
 else rm -f ".deps/check.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT checktxt.o -MD -MP
-MF ".deps/checktxt.Tpo" \
  -c -o checktxt.o `test -f 'checktxt.c' || echo './'`checktxt.c; \
then mv -f ".deps/checktxt.Tpo" ".deps/checktxt.Po"; \
 else rm -f ".deps/checktxt.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT csync2.o -MD -MP -MF
".deps/csync2.Tpo" \
  -c -o csync2.o `test -f 'csync2.c' || echo './'`csync2.c; \
then mv -f ".deps/csync2.Tpo" ".deps/csync2.Po"; \
 else rm -f ".deps/csync2.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT daemon.o -MD -MP -MF
".deps/daemon.Tpo" \
  -c -o daemon.o `test -f 'daemon.c' || echo './'`daemon.c; \
then mv -f ".deps/daemon.Tpo" ".deps/daemon.Po"; \
 else rm -f ".deps/daemon.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT db.o -MD -MP -MF
".deps/db.Tpo" \
  -c -o db.o `test -f 'db.c' || echo './'`db.c; \
then mv -f ".deps/db.Tpo" ".deps/db.Po"; \
 else rm -f ".deps/db.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT error.o -MD -MP -MF
".deps/error.Tpo" \
  -c -o error.o `test -f 'error.c' || echo './'`error.c; \
then mv -f ".deps/error.Tpo" ".deps/error.Po"; \
 else rm -f ".deps/error.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT getrealfn.o -MD -MP
-MF ".deps/getrealfn.Tpo" \
  -c -o getrealfn.o `test -f 'getrealfn.c' || echo './'`getrealfn.c; \
then mv -f ".deps/getrealfn.Tpo" ".deps/getrealfn.Po"; \
 else rm -f ".deps/getrealfn.Tpo"; exit 1; \
fi
getrealfn.c: In function ‘my_get_current_dir_name’:
getrealfn.c:36: warning: return makes pointer from integer without a cast
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT groups.o -MD -MP -MF
".deps/groups.Tpo" \
  -c -o groups.o `test -f 'groups.c' || echo './'`groups.c; \
then mv -f ".deps/groups.Tpo" ".deps/groups.Po"; \
 else rm -f ".deps/groups.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT rsync.o -MD -MP -MF
".deps/rsync.Tpo" \
  -c -o rsync.o `test -f 'rsync.c' || echo './'`rsync.c; \
then mv -f ".deps/rsync.Tpo" ".deps/rsync.Po"; \
 else rm -f ".deps/rsync.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT update.o -MD -MP -MF
".deps/update.Tpo" \
  -c -o update.o `test -f 'update.c' || echo './'`update.c; \
then mv -f ".deps/update.Tpo" ".deps/update.Po"; \
 else rm -f ".deps/update.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT urlencode.o -MD -MP
-MF ".deps/urlencode.Tpo" \
  -c -o urlencode.o `test -f 'urlencode.c' || echo './'`urlencode.c; \
then mv -f ".deps/urlencode.Tpo" ".deps/urlencode.Po"; \
 else rm -f ".deps/urlencode.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT conn.o -MD -MP -MF
".deps/conn.Tpo" \
  -c -o conn.o `test -f 'conn.c' || echo './'`conn.c; \
then mv -f ".deps/conn.Tpo" ".deps/conn.Po"; \
 else rm -f ".deps/conn.Tpo"; exit 1; \
fi
if gcc -DHAVE_CONFIG_H -I. -I. -I.  -D'DBDIR="/var/lib/csync2"'
-D'ETCDIR="/etc"'    -g -O2 -I/opt/local/include   -MT prefixsubst.o -MD
-MP -MF ".deps/prefixsubst.Tpo" \
  -c -o prefixsubst.o `test -f 'prefixsubst.c' || echo './'`prefixsubst.c; \
then mv -f ".deps/prefixsubst.Tpo" ".deps/prefixsubst.Po"; \
 else rm -f ".deps/prefixsubst.Tpo"; exit 1; \
fi
gcc   -g -O2 -I/opt/local/include      -o csync2  action.o cfgfile_parser.o
cfgfile_scanner.o check.o checktxt.o csync2.o daemon.o db.o error.o
getrealfn.o groups.o rsync.o update.o urlencode.o conn.o prefixsubst.o
 -lgnutls-openssl -lsqlite -lrsync  -L/opt/local/lib -lgnutls   -ltasn1
Undefined symbols for architecture x86_64:
  "_get_current_dir_name", referenced from:
      _getrealfn in getrealfn.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [csync2] Error 1
make: *** [all] Error 2

I would appreciate any pointer into the right direction.

Best regards
Evan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linbit.com/pipermail/csync2/attachments/20121006/c8154a72/attachment.htm>


More information about the Csync2 mailing list