View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum ↗

iraf-v216 · Code · Issues (50) · Pull requests (81)

iraf.net Issue #49

[macintel] Unable to build voapps (and libVO.a)

closed closed olebole opened this issue on 2017-05-09 · 1 comments


olebole commented on 2017-05-09

When building on MacOSX 64 bit, linking the voapps fails:

gcc -g -Wall -m64 -mmacosx-version-min=10.5 -DDarwin -I/Users/travis/build/olebole/iraf-v216/vendor/voclient/voapps -I../ -I../include/ -I../../../include  -L./  -o voregistry voApps.c libVOApps.a -lVOTable -lVOClient -lsamp -lcurl -L../ -L../lib/ -L../../../bin/ -lcfitsio   
ld: warning: object file (../lib//libcfitsio.a(cfileio.o)) was built for newer OSX version (10.11) than being linked (10.5)  
[... more similar linker warnings ...]  
Undefined symbols for architecture x86_64:  
  "_xmlrpc_DECREF", referenced from:  
      _xr_freeArray in libsamp.a(xrArray.o)  
      _xr_setIntInArray in libsamp.a(xrArray.o)  
      _xr_setDoubleInArray in libsamp.a(xrArray.o)  
      _xr_setBoolInArray in libsamp.a(xrArray.o)  
      _xr_setStringInArray in libsamp.a(xrArray.o)  
      _xr_setDatetimeInArray in libsamp.a(xrArray.o)  
      _xr_initParam in libsamp.a(xrClient.o)  
      ...  
  "_xmlrpc_INCREF", referenced from:  
      _xr_defaultMethod in libsamp.a(xrServer.o)  
      _xr_defaultAsynchHandler in libsamp.a(xrClient.o)  
      _xr_getIntFromParam in libsamp.a(xrMethod.o)  
      _xr_getDoubleFromParam in libsamp.a(xrMethod.o)  
      _xr_getStringFromParam in libsamp.a(xrMethod.o)  
      _xr_getBoolFromParam in libsamp.a(xrMethod.o)  
      _xr_getDatetimeFromParam in libsamp.a(xrMethod.o)  
      ...  
  "_xmlrpc_array_append_item", referenced from: [...]  
  "_xmlrpc_array_new", referenced from: [...]  
  "_xmlrpc_array_read_item", referenced from: [...]  
  "_xmlrpc_array_size", referenced from: [...]  
  "_xmlrpc_bool_new", referenced from: [...]  
  "_xmlrpc_client_call2", referenced from: [...]  
  "_xmlrpc_client_create", referenced from: [...]  
  "_xmlrpc_client_event_loop_finish", referenced from: [...]  
  "_xmlrpc_client_setup_global_const", referenced from: [...]  
  "_xmlrpc_client_start_rpc", referenced from: [...]  
  "_xmlrpc_datetime_new_str", referenced from: [...]  
  "_xmlrpc_double_new", referenced from: [...]  
  "_xmlrpc_int_new", referenced from: [...]  
  "_xmlrpc_read_bool", referenced from:  
[...]      ...  
ld: symbol(s) not found for architecture x86_64  
clang: error: linker command failed with exit code 1 (use -v to see invocation)  
make[4]: *** [voregistry] Error 1  
make[3]: *** [all] Error 2  
make[2]: *** [all] Error 2  
cp: lib/libVO.a: No such file or directory  

The error can be found here, the full build log (including everything that goes to _spool) is here.


olebole commented on 2017-05-09

This is caused by the following problem, which appeared a few lines above:

gcc -g -ggdb -O0 -c -o xmlrpc_curl_transport.o -I/Users/travis/build/olebole/iraf-v216/vendor/voclient/libsamp/libxrpc/xmlrpc-c-1.16.29 -I/Users/travis/build/olebole/iraf-v216/vendor/voclient/libsamp/libxrpc/xmlrpc-c-1.16.29/include -I/Users/travis/build/olebole/iraf-v216/vendor/voclient/libsamp/libxrpc/xmlrpc-c-1.16.29/include -I/Users/travis/build/olebole/iraf-v216/vendor/voclient/libsamp/libxrpc/xmlrpc-c-1.16.29/lib/util/include  -DNDEBUG -m64 -mmacosx-version-min=10.4 -Wall -Wundef -Wimplicit -W -Winline -Wmissing-declarations -Wstrict-prototypes -Wmissing-prototypes -fno-common -g -ggdb -O0    xmlrpc_curl_transport.c  
xmlrpc_curl_transport.c:87:10: fatal error: 'curl/types.h' file not found  
#include <curl/types.h>  
         ^  
1 error generated.  

This is probably connected with curl/types.h being removed since more recent versions of curl: IRAF includes version 7.20.1, which was released in 2010 (!). Already then curl/types.h was deprecated, and in 2011 it got removed.


Fixed in #51


Last updated on 2017-05-09