[MacPorts] #40531: codeblocks: universal variant fails when non-universal codeblocks is already installed
MacPorts
noreply at macports.org
Sun Sep 29 07:25:18 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@…):
As Rainer Müller pointed it out on IRC, the `Makefile` first generates
{{{
/bin/sh ../../libtool --tag=CXX --mode=link ccache /usr/bin/clang++ -O2
-ffast-math -DCB_AUTOCONF -pipe -Os -arch x86_64 -arch i386
-stdlib=libstdc++ -fPIC -DPIC -fexceptions -L/opt/local/lib
-Wl,-headerpad_max_install_names -arch x86_64 -arch i386 -o codeblocks
app.o [...] watchesdlg.o -L../sdk -lcodeblocks [...]
}}}
but `libtool` turns that into
{{{
libtool: link: ccache /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 [...] watchesdlg.o -Wl,-headerpad_max_install_names
-L/opt/local/lib -L../sdk /opt/local/lib/libcodeblocks.dylib [...]
}}}
The problem is that
{{{
-L/opt/local/lib -L../sdk -lcodeblocks
}}}
will would link against the wrong library in either case (even if
`libtool` didn't replace the link). Based on his advice I created a patch
that replaces
{{{
-L../sdk -lcodeblocks
}}}
with
{{{
../sdk/.libs/libcodeblocks.dylib
}}}
in the original `Makefile`, hoping that this would solve the problem.
I'm not sure about a sane way to fix this upstream.
--
Ticket URL: <https://trac.macports.org/ticket/40531#comment:4>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list