Create a MacOS X App Bundle Using MacPorts: Difference between revisions

(→‎TODO List: add a link for helloworld.cc)
Line 260: Line 260:
*** Over-ride the built-in octave_configure_info and use an m-file version that replaces the original MacPorts prefix with the OCTAVE_HOME environment variable set by the bundle.
*** Over-ride the built-in octave_configure_info and use an m-file version that replaces the original MacPorts prefix with the OCTAVE_HOME environment variable set by the bundle.
*** The bundled mkoctfile references the gcc4.4 libraries instead of the gcc4.5 libraries that are actually bundled.  This needs to be corrected.
*** The bundled mkoctfile references the gcc4.4 libraries instead of the gcc4.5 libraries that are actually bundled.  This needs to be corrected.
** With the above changes [http://www.gnu.org/software/octave/doc/interpreter/Getting-Started-with-Oct_002dFiles.html {{Codeline|mkoctfile helloworld.cc}}] fails with the error below.  I can't find the source of {{Codeline|-lgcc}} in in either {{Codeline|mkoctfile}}, {{Codeline|octave_configure_info}}, or {{Codeline|octave-config-3.7.0+}}.
** With the above changes [http://www.gnu.org/software/octave/doc/interpreter/Getting-Started-with-Oct_002dFiles.html {{Codeline|mkoctfile helloworld.cc}}] fails with the error below.  Unable to locate the source of {{Codeline|-lgcc}} in in either {{Codeline|mkoctfile}}, {{Codeline|octave_configure_info}}, or {{Codeline|octave-config-3.7.0+}}.
  <nowiki>ld: library not found for -lgcc
  <nowiki>mkoctfile -v helloworld.cc
collect2: ld returned 1 exit status</nowiki>
 
ld: library not found for -lgcc
collect2: ld returned 1 exit status
 
"/Applications/Octave-3.7.0+.app/Contents/Resources/bin/g++-mp-4.5" \
-c -I"/Applications/Octave-3.7.0+.app/Contents/Resources/include/curl" \
-I"/Applications/Octave-3.7.0+.app/Contents/Resources/include/readline" -fPIC \
-I"/Applications/Octave-3.7.0+.app/Contents/Resources/include/Octave-3.7.0+/octave"/.. \
-I"/Applications/Octave-3.7.0+.app/Contents/Resources/include/Octave-3.7.0+/octave" \
-I"/Applications/Octave-3.7.0+.app/Contents/Resources/include/Octave-3.7.0+" \
-I"/Applications/Octave-3.7.0+.app/Contents/Resources/include/curl" \
-I"/Applications/Octave-3.7.0+.app/Contents/Resources/include/readline" \
helloworld.cc -o helloworld.o
 
"/Applications/Octave-3.7.0+.app/Contents/Resources/bin/g++-mp-4.5" -bundle -bundle_loader \
"/Applications/Octave-3.7.0+.app/Contents/Resources/bin/octave-3.7.0+" -o helloworld.oct helloworld.o \
-L"/Applications/Octave-3.7.0+.app/Contents/Resources/lib/octave/3.7.0+" \
-L"/Applications/Octave-3.7.0+.app/Contents/Resources/lib" -loctinterp -loctave -lcruft \
"/Applications/Octave-3.7.0+.app/Contents/Resources/lib/gcc45/libstdc++.6.dylib"</nowiki>
* Should the contents of the la-files, in {{Codeline|Octave-3.7.0+.app/Resources/lib}}, be changed to reflect to use the {{Codeline|@executable_path}} token.
* Should the contents of the la-files, in {{Codeline|Octave-3.7.0+.app/Resources/lib}}, be changed to reflect to use the {{Codeline|@executable_path}} token.
** These files are from libtool.  For limited development, such as building oct-files and mex-files, are they needed at all?
** These files are from libtool.  For limited development, such as building oct-files and mex-files, are they needed at all?
364

edits