reduce update
Mark Brethen
mark.brethen at gmail.com
Sat Jan 21 11:34:18 PST 2012
On Jan 19, 2012, at 11:47 PM, Joshua Root wrote:
> On 2012-1-20 13:30 , Mark Brethen wrote:
>> :info:build MACOSX_DEPLOYMENT_TARGET=10.6 /Developer/usr/bin/clang -DHAVE_CONFIG_H -I. -I/opt/local/var/macports/build/_Users_marbre_ports_math_reduce/reduce-with-csl/work/trunk/csl/cslbase -Dfontsdir=reduce.fonts -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -DBINDIR=/opt/local/bin -DPKGDATADIR=/opt/local/share/reduce -pipe -O2 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -I/opt/local/include/freetype2 -I/opt/local/include -fno-strict-aliasing -O2 -Wall -MT dyndemo.o -MD -MP -MF .deps/dyndemo.Tpo -c -o dyndemo.o /opt/local/var/macports/build/_Users_marbre_ports_math_reduce/reduce-with-csl/work/trunk/csl/cslbase/dyndemo.c
>> :info:build mv -f .deps/dyndemo.Tpo .deps/dyndemo.Po
>> :info:build MACOSX_DEPLOYMENT_TARGET=10.6 /Developer/usr/bin/clang -DHAVE_CONFIG_H -I. -I/opt/local/var/macports/build/_Users_marbre_ports_math_reduce/reduce-with-csl/work/trunk/csl/cslbase -Dfontsdir=reduce.fonts -I/opt/local/include -I/opt/local/include/freetype2 -I/opt/local/include -DBINDIR=/opt/local/bin -DPKGDATADIR=/opt/local/share/reduce -fPIC -fno-strict-aliasing -O2 /opt/local/var/macports/build/_Users_marbre_ports_math_reduce/reduce-with-csl/work/trunk/csl/cslbase/dynmodule.c -o dynmodule.so
>> :info:build Undefined symbols for architecture x86_64:
>> :info:build "_main", referenced from:
>> :info:build start in crt1.10.6.o
>> :info:build "_variable_in_base", referenced from:
>> :info:build _callme in cc-msGlG0.o
>> :info:build "_function_in_base", referenced from:
>> :info:build _callme in cc-msGlG0.o
>> :info:build ld: symbol(s) not found for architecture x86_64
>> Am I missing a flag that should be included in the portfile or is this an incompatibility with clang?
>
> The linker defaults to creating an executable, which needs to have a
> main(). From its name I would assume that dynmodule.so is not meant to
> be an executable. If it's meant to be a dynamically loaded plugin-type
> object, use -bundle. If it's meant to be a library, use -dylib. The
> former would also explain the other undefined symbols, which you can
> tell the linker to find at runtime (assuming they will be defined by the
> program that loads the bundle) by using '-undefined dynamic_lookup'.
>
> - Josh
I've opened Ticket #32973 to reflect developer changes to "play nice" with the MacPorts env. Could someone test this on snow leopard?
Thanks,
Mark
More information about the macports-dev
mailing list