Guest User

Untitled

a guest
Feb 23rd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. $ ll
  2. total 2
  3. -rw-r--r-- 1 izzy staff 6.4K 11 Feb 21:10 add.scm
  4. -rw-r--r-- 1 izzy staff 261B 11 Feb 21:15 useadd.c
  5.  
  6. $ cat add.scm
  7. (export add)
  8. (define (add x y)
  9. (displayln "Inside add!")
  10. (+ x y))
  11.  
  12.  
  13. $ cat useadd.c
  14.  
  15. #include <stdio.h>
  16.  
  17. extern int add(int x, int y);
  18.  
  19. int main()
  20. {
  21. printf("in add. result is: %d", add(5, 7));
  22. return add(5, 7);
  23. }
  24.  
  25. $ gsc -c add.scm # This generates add.c.
  26.  
  27.  
  28. $ glibtool --tag=CC --mode=compile gcc -I/usr/local/gambit/current/include -g -O -c add.c
  29.  
  30. glibtool: compile: gcc -I/usr/local/gambit/current/include -g -O -c add.c -fno-common -DPIC -o .libs/add.o
  31. glibtool: compile: gcc -I/usr/local/gambit/current/include -g -O -c add.c -o add.o >/dev/null 2>&1
  32.  
  33.  
  34. $ glibtool --tag=CC --mode=link gcc -L/usr/local/gambit/current/lib -g -O -o libadd.la add.lo -rpath /usr/local/lib -lgambit
  35.  
  36. glibtool: link: clang -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o .libs/libadd.0.dylib .libs/add.o -L/usr/local/gambit/current/lib -lgambit -g -O -install_name /usr/local/lib/libadd.0.dylib -compatibility_version 1 -current_version 1.0 -Wl,-single_module
  37. glibtool: link: (cd ".libs" && rm -f "libadd.dylib" && ln -s "libadd.0.dylib" "libadd.dylib")
  38. glibtool: link: ar cru .libs/libadd.a add.o
  39. glibtool: link: ranlib .libs/libadd.a
  40. glibtool: link: ( cd ".libs" && rm -f "libadd.la" && ln -s "../libadd.la" "libadd.la" )
  41.  
  42.  
  43. $ glibtool --tag=CC --mode=compile gcc -L. -g -O -c useadd.c
  44.  
  45. glibtool: compile: gcc -L. -g -O -c useadd.c -fno-common -DPIC -o .libs/useadd.o
  46. clang: warning: argument unused during compilation: '-L.' [-Wunused-command-line-argument]
  47. glibtool: compile: gcc -L. -g -O -c useadd.c -o useadd.o >/dev/null 2>&1
  48.  
  49. $ ll
  50. total 128
  51. -rw-r--r-- 1 izzy staff 6.4K 11 Feb 21:10 add.c
  52. -rw-r--r-- 1 izzy staff 261B 11 Feb 21:15 add.lo
  53. -rw-r--r-- 1 izzy staff 31K 11 Feb 21:15 add.o
  54. -rw-r--r-- 1 izzy staff 70B 11 Feb 15:52 add.scm
  55. -rw-r--r-- 1 izzy staff 943B 11 Feb 21:18 libadd.la
  56. -rw-r--r-- 1 izzy staff 139B 11 Feb 20:51 useadd.c
  57. -rw-r--r-- 1 izzy staff 270B 11 Feb 21:21 useadd.lo
  58. -rw-r--r-- 1 izzy staff 2.2K 11 Feb 21:21 useadd.o
  59.  
  60. ls -l .libs
  61. total 168
  62. -rw-r--r-- 1 izzy staff 31904 11 Feb 21:15 add.o
  63. -rwxr-xr-x 1 izzy staff 9852 11 Feb 21:18 libadd.0.dylib
  64. -rw-r--r-- 1 izzy staff 32096 11 Feb 21:18 libadd.a
  65. lrwxr-xr-x 1 izzy staff 14 11 Feb 21:18 libadd.dylib -> libadd.0.dylib
  66. lrwxr-xr-x 1 izzy staff 12 11 Feb 21:18 libadd.la -> ../libadd.la
  67. -rw-r--r-- 1 izzy staff 944 11 Feb 21:18 libadd.lai
  68. -rw-r--r-- 1 izzy staff 2268 11 Feb 21:21 useadd.o
  69.  
  70. $ glibtool --tag=CC --mode=link gcc -g -O -o useadd useadd.o libadd.la
  71.  
  72. glibtool: link: gcc -g -O -o .libs/useadd useadd.o ./.libs/libadd.dylib -L/usr/local/gambit/current/lib -lgambit
  73. Undefined symbols for architecture x86_64:
  74. "_add", referenced from:
  75. _main in useadd.o
  76. ld: symbol(s) not found for architecture x86_64
  77. clang: error: linker command failed with exit code 1 (use -v to see invocation)
Add Comment
Please, Sign In to add comment