Le 25/10/2012 20:20, Schindler Karl-Michael a écrit :
****** The linker does not find the X11 libraries
please check that in makedefs.grx, in the X11 specific section, you have replaced X11BASE=/usr/X11R6 by X11BASE=/usr
and it does not have the -soname option.
****** Libs on macosx do not have .so, but .dylib. ****** I do not completely understand in detail, what's done here with the renaming and ****** how to do this in the same way on macosx. I guess, these changes have a bad smell. ****** If you have some suggestions, i can try to figure out, how to achieve that.
diff -r '-x*.*o' ../grx249 2/src/makefile.x11 ./src/makefile.x11 42c58
< GRX20SH = ../lib/$(GRX_LIB_SUBDIR)/libgrx20X.so
GRX20SH = ../lib/$(GRX_LIB_SUBDIR)/libgrx20X.a
44c60
< GRX20SHna = $(GRX20SH).$(GRX_VERSION)
GRX20SHna = $(GRX20SH)
146c164
< $(CC) $(LDOPT) -shared -Wl,-soname,$(notdir $(GRX20SHli)) -o $(GRX20SHna) $(LO)
$(CC) $(LDOPT) -shared -lX11 -L/usr/X11/lib -o $(GRX20SHna) $(LO)
try to replace this by
$ diff -r '-x*.*o' grx249.orig/src/makefile.x11 grx249.macosx/src/makefile.osx 42,44c42,44 < GRX20SH = ../lib/$(GRX_LIB_SUBDIR)/libgrx20X.so < GRX20SHli = $(GRX20SH).$(word 1,$(subst ., ,$(GRX_VERSION))) < GRX20SHna = $(GRX20SH).$(GRX_VERSION) ---
GRX20SH = ../lib/$(GRX_LIB_SUBDIR)/libgrx20X GRX20SHli = $(GRX20SH).$(word 1,$(subst ., ,$(GRX_VERSION))).dylib GRX20SHna = $(GRX20SH).$(GRX_VERSION).dylib
146c146 < $(CC) $(LDOPT) -shared -Wl,-soname,$(notdir $(GRX20SHli)) -o $(GRX20SHna) $(LO) ---
$(CC) $(LDOPT) -dynamiclib -dylib_install_name,$(notdir
$(GRX20SHli)) -o $(GRX20SHna) $(LO)
this is taken from the makefile of the rts of gpc, which builds the dynamic libgpc, and gpc346u2-patches.diff in the gpc346u2-sources on the microbizz site. May be you will have to replace -dylib_install_name by -dylinker_install_name (I find only the second in the gcc.html help file)
in linux GRX20SHli is libgrx20X.so.2 GRX20SHna is libgrx20X.so.2.4.9 and I do not know if .dylib can replace .so at the same place. I have supposed that .dylib must be at the end (otherwise of course you have only to replace .so by .dylib in the original makefile)
Maurice