[MacPorts] #40531: codeblocks: universal variant fails when non-universal codeblocks is already installed

MacPorts noreply at macports.org
Sat Sep 28 04:09:35 PDT 2013


#40531: codeblocks: universal variant fails when non-universal codeblocks is
already installed
---------------------------+---------------------
  Reporter:  ryandesign@…  |      Owner:  mojca@…
      Type:  defect        |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.2.0
Resolution:                |   Keywords:
      Port:  codeblocks    |
---------------------------+---------------------

Comment (by mojca@…):

 For me the solution was to replace
 {{{
 /opt/local/libcodeblocks.dylib
 }}}
 by
 {{{
 ../sdk/.libs/libcodeblocks.dylib
 }}}
 in the following command that creates the codeblocks binary:
 {{{
 /usr/bin/clang++ -O2 -ffast-math -DCB_AUTOCONF -pipe -Os -arch x86_64
 -arch i386 -stdlib=libstdc++ -fPIC -DPIC -fexceptions
 -Wl,-headerpad_max_install_names -arch x86_64 -arch i386 -o codeblocks
 app.o appglobals.o backtracedlg.o breakpointsdlg.o compilersettingsdlg.o
 cpuregistersdlg.o crashhandler.o debugger_interface_creator.o
 debuggermenu.o debuggersettingscommonpanel.o debuggersettingsdlg.o
 debuggersettingspanel.o disassemblydlg.o dlgabout.o dlgaboutplugin.o
 environmentsettingsdlg.o examinememorydlg.o infopane.o main.o
 notebookstyles.o prefix.o printdlg.o scriptconsole.o
 scriptingsettingsdlg.o splashscreen.o startherepage.o switcherdlg.o
 threadsdlg.o watchesdlg.o -Wl,-headerpad_max_install_names
 -L/opt/local/lib -L../sdk /opt/local/lib/libcodeblocks.dylib
 -L/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxGTK/2.8/lib
 -lwx_gtk2u_richtext-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_xrc-2.8
 -lwx_gtk2u_qa-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_adv-2.8
 -lwx_gtk2u_core-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_baseu-2.8
 /opt/local/lib/libgtk-x11-2.0.dylib /opt/local/lib/libgdk-x11-2.0.dylib
 /opt/local/lib/libpangocairo-1.0.dylib /opt/local/lib/libXrender.dylib
 /opt/local/lib/libXinerama.dylib /opt/local/lib/libXi.dylib
 /opt/local/lib/libXrandr.dylib /opt/local/lib/libXcursor.dylib
 /opt/local/lib/libXcomposite.dylib /opt/local/lib/libXdamage.dylib
 /opt/local/lib/libXfixes.dylib /opt/local/lib/libX11.dylib
 /opt/local/lib/libXext.dylib /opt/local/lib/libatk-1.0.dylib
 /opt/local/lib/libcairo.dylib /opt/local/lib/libgdk_pixbuf-2.0.dylib
 /opt/local/lib/libgio-2.0.dylib /opt/local/lib/libpangoft2-1.0.dylib
 /opt/local/lib/libpango-1.0.dylib -lm /opt/local/lib/libgobject-2.0.dylib
 /opt/local/lib/libglib-2.0.dylib /opt/local/lib/libintl.dylib
 /opt/local/lib/libfontconfig.dylib /opt/local/lib/libfreetype.dylib
 -lpthread -ldl -pthread -framework ApplicationServices -framework System
 -framework CoreServices -framework IOKit
 }}}

 Now I'm buffled because I don't understand the following `Makefile` rules.

 {{{
 am_codeblocks_OBJECTS = app.$(OBJEXT) appglobals.$(OBJEXT) \
         backtracedlg.$(OBJEXT) breakpointsdlg.$(OBJEXT) \
         compilersettingsdlg.$(OBJEXT) cpuregistersdlg.$(OBJEXT) \
         crashhandler.$(OBJEXT) debugger_interface_creator.$(OBJEXT) \
         debuggermenu.$(OBJEXT) debuggersettingscommonpanel.$(OBJEXT) \
         debuggersettingsdlg.$(OBJEXT) debuggersettingspanel.$(OBJEXT) \
         disassemblydlg.$(OBJEXT) dlgabout.$(OBJEXT) \
         dlgaboutplugin.$(OBJEXT) environmentsettingsdlg.$(OBJEXT) \
         examinememorydlg.$(OBJEXT) infopane.$(OBJEXT) main.$(OBJEXT) \
         notebookstyles.$(OBJEXT) prefix.$(OBJEXT) printdlg.$(OBJEXT) \
         scriptconsole.$(OBJEXT) scriptingsettingsdlg.$(OBJEXT) \
         splashscreen.$(OBJEXT) startherepage.$(OBJEXT) \
         switcherdlg.$(OBJEXT) threadsdlg.$(OBJEXT) \
         watchesdlg.$(OBJEXT)
 codeblocks_OBJECTS = $(am_codeblocks_OBJECTS)

 codeblocks_LDADD = -L../sdk -lcodeblocks \
         $(WX_LIBS) \
         $(WX_GTK2_LIBS)

 codeblocks$(EXEEXT): $(codeblocks_OBJECTS) $(codeblocks_DEPENDENCIES)
 $(EXTRA_codeblocks_DEPENDENCIES)~
         @rm -f codeblocks$(EXEEXT)
         $(CXXLINK) $(codeblocks_OBJECTS) $(codeblocks_LDADD) $(LIBS)
 }}}

 The variable `$(codeblocks_OBJECTS)` is:
 {{{
 app.o appglobals.o backtracedlg.o breakpointsdlg.o compilersettingsdlg.o
 cpuregistersdlg.o crashhandler.o debugger_interface_creator.o
 debuggermenu.o debuggersettingscommonpanel.o debuggersettingsdlg.o
 debuggersettingspanel.o disassemblydlg.o dlgabout.o dlgaboutplugin.o
 environmentsettingsdlg.o examinememorydlg.o infopane.o main.o
 notebookstyles.o prefix.o printdlg.o scriptconsole.o
 scriptingsettingsdlg.o splashscreen.o startherepage.o switcherdlg.o
 threadsdlg.o watchesdlg.o
 }}}
 and `$(WX_LIBS)` start with:
 {{{
 -L/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxGTK/2.8/lib
 ...
 }}}
 So how does the
 {{{
 -L../sdk -lcodeblocks
 }}}
 part of `$(codeblocks_LDADD)` result in
 {{{
 -Wl,-headerpad_max_install_names -L/opt/local/lib -L../sdk
 /opt/local/lib/libcodeblocks.dylib
 }}}
 ?

-- 
Ticket URL: <https://trac.macports.org/ticket/40531#comment:3>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list