Opened 15 years ago

Closed 14 years ago

#21153 closed defect (duplicate)

math/SuiteSparse fails to build a universal variant

Reported by: Veence (Vincent) Owned by: stechert@…
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: Cc: nerdling (Jeremy Lavergne)
Port: SuiteSparse

Description

SuiteSparse has some weird behaviour that forbids universal builds. For example, it fails to call ranlib in two places (why ?), causing a subsequent link to fail. There is also one directory where standard options are not included and the Makefile needs to be patched directly.

I append three files : a Portfile.diff and two patch files to be placed in the files folder.

Attachments (3)

Portfile_SparseSuite.diff (1.1 KB) - added by Veence (Vincent) 15 years ago.
Portfile patch
MakefileCCOLAMD.diff (370 bytes) - added by Veence (Vincent) 15 years ago.
Colamd.diff patch
MakefileCOLAMD.diff (359 bytes) - added by Veence (Vincent) 15 years ago.
COLAMD patch

Download all attachments as: .zip

Change History (7)

Changed 15 years ago by Veence (Vincent)

Attachment: Portfile_SparseSuite.diff added

Portfile patch

Changed 15 years ago by Veence (Vincent)

Attachment: MakefileCCOLAMD.diff added

Colamd.diff patch

Changed 15 years ago by Veence (Vincent)

Attachment: MakefileCOLAMD.diff added

COLAMD patch

comment:1 Changed 15 years ago by blb@…

Owner: changed from macports-tickets@… to stechert@…

comment:2 Changed 15 years ago by nerdling (Jeremy Lavergne)

Cc: snc@… added

These didn't function entirely for me:

ar cr libcamd.a camd_global.o camd_i_aat.o camd_i_1.o camd_i_2.o camd_i_dump.o camd_i_postorder.o camd_i_defaults.o camd_i_order.o camd_i_control.o camd_i_info.o camd_i_valid.o camd_i_preprocess.o camd_l_aat.o camd_l_1.o camd_l_2.o camd_l_dump.o camd_l_postorder.o camd_l_defaults.o camd_l_order.o camd_l_control.o camd_l_info.o camd_l_valid.o camd_l_preprocess.o
ranlib libcamd.a
ranlib: for architecture: x86_64 file: libcamd.a(camd_i_dump.o) has no symbols
ranlib: for architecture: x86_64 file: libcamd.a(camd_l_dump.o) has no symbols
ranlib: for architecture: i386 file: libcamd.a(camd_i_dump.o) has no symbols
ranlib: for architecture: i386 file: libcamd.a(camd_l_dump.o) has no symbols
( cd ../../COLAMD ; /usr/bin/make library )
( cd Lib    ; /usr/bin/make )
make[4]: Nothing to be done for `default'.
( cd ../../CCOLAMD ; /usr/bin/make library )
( cd Lib    ; /usr/bin/make )
/usr/bin/gcc-4.2 -O3 -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -arch i386 -DNDEBUG -I../Include -I../../UFconfig -c ../Source/ccolamd_global.c
/usr/bin/gcc-4.2 -O3 -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -arch i386 -DNDEBUG -I../Include -I../../UFconfig -c ../Source/ccolamd.c
/usr/bin/gcc-4.2 -O3 -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -arch i386 -DNDEBUG -I../Include -I../../UFconfig -c ../Source/ccolamd.c -DDLONG -o ccolamd_l.o
ar cr libccolamd.a ccolamd.o ccolamd_l.o ccolamd_global.o
ranlib libccolamd.a
/usr/bin/gcc-4.2 -O3 -fno-common -no-cpp-precomp -fexceptions -arch x86_64 -arch i386 -DNDEBUG  -o cholmod_demo -I../Include -I../../UFconfig cholmod_demo.c ../Lib/libcholmod.a ../../AMD/Lib/libamd.a ../../COLAMD/Lib/libcolamd.a ../../CCOLAMD/Lib/libccolamd.a ../../CAMD/Lib/libcamd.a /opt/local/lib/libmetis.a -framework Accelerate -framework Accelerate  -lm
ld: warning: in /opt/local/lib/libmetis.a, file is not of required architecture
Undefined symbols for architecture i386:
  "_METIS_NodeND", referenced from:
      _cholmod_metis in libcholmod.a(cholmod_metis.o)
  "_METIS_NodeComputeSeparator", referenced from:
      _cholmod_metis_bisector in libcholmod.a(cholmod_metis.o)
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/tmp//ccba9gnd.out (No such file or directory)
make[2]: *** [cholmod_demo] Error 1
make[1]: *** [all] Error 2
make: *** [default] Error 2

comment:3 Changed 15 years ago by nerdling (Jeremy Lavergne)

Is it now metis not producing the correct arch?

comment:4 Changed 14 years ago by tenomoto (Takeshi Enomoto)

Resolution: duplicate
Status: newclosed

This is a duplicate of #20675. Let's continue the discussion there.

Note: See TracTickets for help on using tickets.