Justin C. Walker on Fri, 29 Nov 2002 12:25:00 -0800


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: --host in Configure



On Thursday, November 28, 2002, at 12:39 PM, Bill Allombert wrote:

On Thu, Nov 28, 2002 at 10:50:39AM -0800, Justin C. Walker wrote:

On Thursday, November 28, 2002, at 08:52 AM, Bill Allombert wrote:


I have Mac OS X boxes (10.15 and 10.2.2), and am happy to test if needs
be.

So it be!

Here a patch, that can do a lot of interesting things, but not make 'make bench', gp2c 'make check' or gp2c-run working. On the other hand, I would be only moderatly
surprised if you end up with a working dynamic library.

(To apply it, copy this mail to a file and do
patch Configure < file in the pari (2.2.5) directory...)

OK, I waddled back to my system, and tried to figure out the problem with the Makefile generated by Configure. 'make' doesn't make it easy :-}

First, the 'separator' error arises becase the library name is terminated with a ';', which causes the system some indigestion. Cf. the line below marked with <<<<<.

Second, you don't appear to need "-I/usr/local/include" for Mac OS X, at least in versions 10.2 and later. I'll check into that further, but as it is (on 10.2.2 with all tools updates installed), the compiler grouses about having that directory specified.

Finally (or, third), 'ld' grouses about the argument to "-i". The complaint is:

/usr/bin/ld: -i argument: nstall_name must have a ':' between its symbol names

The line in question is

/usr/bin/ld -o libpari-2.2.2.dylib -install_name /usr/local/lib/libpari-2.2.2.dylib -compatibility_version 2.2 -current_version 2.2.5 kernel.o mp.o alglin1.o alglin2.o arith1.o arith2.o base1.o base2.o base3.o base4.o base5.o bibli1.o bibli2.o buch1.o buch2.o buch3.o buch4.o galconj.o gen1.o gen2.o gen3.o ifactor1.o perm.o polarit1.o polarit2.o polarit3.o rootpol.o subcyclo.o subgroup.o trans1.o trans2.o trans3.o aprcl.o elliptic.o galois.o kummer.o mpqs.o nffactor.o stark.o subfield.o thue.o anal.o compat.o errmsg.o es.o helpmsg.o init.o sumiter.o mpinl.o

I'm not at all sure what's up here. Is '-install_name' a GNU thing? I see that 'libtool' has an argument by that name. At this point, though, you get beyond my understanding.

To summarize: removing the ';' above lets me run Configure and successfully run "make gp". The 'ld' problem causes the build to break prior to actually building the library.

Regards,

Justin

@@ -692,6 +697,7 @@
 	    # DLL names better be 8+3
 	    libpari_base=`echo "$libpari_base" | sed 's/\./_/g'`
 	 ;;
+ darwin-*) soname=''; sodest=''; DLSUFFIX="$VersionMajor.dylib;";; <<<<<
     *) DLLD=;;
   esac
 fi

--
Justin C. Walker, Curmudgeon-At-Large  *
Institute for General Semantics        |   If you're not confused,
                                       |   You're not paying attention
*--------------------------------------*-------------------------------*