[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