Opened 12 years ago

Closed 12 years ago

#36272 closed defect (fixed)

Building gwenhywfar4 fails with frameworks

Reported by: mkae (Marko Käning) Owned by: mkae (Marko Käning)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: michaelld (Michael Dickens)
Port: gwenhywfar4

Description

qt4-mac now uses frameworks and gwenhywfar4 fails due to this:

.
.
.
:info:build /bin/sh ../../libtool --tag=CXX   --mode=link /usr/bin/g++-4.2  -pipe -O2 -arch x86_64 -Wall -Wall  -L/opt/
clean-slate/lib -arch x86_64 -o libtest libtest.o libgwengui-qt4.la ../../src/libgwenhywfar.la -L/opt/clean-slate/lib -lQtGui -lQtCore ./../testdialogs/libgwengui-test.la
:info:build libtool: link: cannot find the library `' or unhandled argument `-F/opt/clean-slate/Library/Frameworks'
:info:build make[4]: *** [libtest] Error 1
.
.
.
:info:build Warning: targets not executed for gwenhywfar4: org.macports.activate org.macports.build org.macports.destroot org.macports.install
:error:build Failed to install gwenhywfar4
:debug:build couldn't open "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tclIndex": no such file or directory
    while executing
"open [file join $dir tclIndex]"
.
.
.

What to do?

Change History (13)

comment:1 Changed 12 years ago by mkae (Marko Käning)

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

comment:2 Changed 12 years ago by mkae (Marko Käning)

I tried using the correct lib location for --with-qt4-libs, but it also fails:

:info:build libtool: link: cannot find the library `' or unhandled argument `-F/opt/clean-slate/Library/Frameworks'

So, I guess the "-F" option needs an extra space in between!!! (I just don't understand why this port built in the past, since I don't see how qt4-mac influences this step...)

comment:3 Changed 12 years ago by mkae (Marko Käning)

And no, the file tclIndex indeed doesn't exist on my system.

$ ls -la /System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources
total 0
drwxr-xr-x  8 root wheel  272 Jul 24  2009 .
drwxr-xr-x 11 root wheel  374 Mar 17  2011 ..
drwxr-xr-x  3 root wheel  102 Jul 24  2009 Documentation
-rw-r--r--  1 root wheel 1234 Jul 24  2009 Info.plist
drwxr-xr-x 18 root wheel  612 Jul 24  2009 Scripts
-rw-r--r--  1 root wheel 2257 Jul 19  2002 license.terms
drwxr-xr-x  4 root wheel  136 Jul 24  2009 tcl8
-rw-r--r--  1 root wheel  445 Jul 24  2009 version.plist

Wondering whether TCL might be involved here...

comment:4 Changed 12 years ago by mkae (Marko Käning)

This is what I read with "info coreutils link":

`-d'
`-F'
`--directory'
     Allow users with appropriate privileges to attempt to make hard
     links to directories.  However, note that this will probably fail
     due to system restrictions, even for the super-user.

Looks like there's a problem during link generation...

comment:5 in reply to:  2 ; Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to mk@…:

So, I guess the "-F" option needs an extra space in between!!!

Really? Does that help anything?

(I just don't understand why this port built in the past, since I don't see how qt4-mac influences this step...)

Presumably it built in the past because in the past qt4-mac was not doing an all-framework install. Now it is.

Replying to mk@…:

And no, the file tclIndex indeed doesn't exist on my system.

Please ignore the tclIndex portion of the error message; it is not relevant.

comment:6 Changed 12 years ago by michaelld (Michael Dickens)

The problem is in the lib*.la files; if you (temporarily) rename them (for QtCore and QtGui), then this port builds correctly. I'll look into this further over the weekend, though it might be next week before I can get enough time to actually fix it.

comment:7 in reply to:  5 Changed 12 years ago by mkae (Marko Käning)

Replying to ryandesign@…:

Replying to mk@…:

So, I guess the "-F" option needs an extra space in between!!!

Really? Does that help anything?

I couldn't locate this link-call anywhere yet, which is why I couldn't try to tweak it. :(

comment:8 in reply to:  6 Changed 12 years ago by mkae (Marko Käning)

Replying to michaelld@…:

The problem is in the lib*.la files; if you (temporarily) rename them (for QtCore and QtGui), then this port builds correctly.

Oh, I see, renaming to libQtCore.la instead of having it as QtCore.la below Frameworks is the problem...

Hmm, ok, so - actually - gwenhywfar4 has to be enabled to be use Qt4 as framework then. So, perhaps it's best if I also ask its developer(s).

comment:9 Changed 12 years ago by michaelld (Michael Dickens)

I think the issue is that QMake is not creating the lib*.la files correctly for Qt's frameworks -- and hence this is a qt4-mac issue. But, I won't know until I can compare and contrast the *.la files created by QMake for Qt as +framework with those as -framework. I'm guessing that GNU libtool is actually trying to use the information in libQtCore.la to do the linking, and since that information isn't well populated, libtool is having issues -- to me that's the only way to explain the strange info:build message since the actual command looks fully valid and does not even contain the ".../Library/Frameworks" reference while the lib*.la file does.

comment:10 Changed 12 years ago by titzke@…

Cc: titzke@… added

Cc Me!

comment:11 Changed 12 years ago by titzke@…

Cc: titzke@… removed

Cc Me!

comment:12 Changed 12 years ago by michaelld (Michael Dickens)

The *.la file issue should be fixed in r98334. This port now installs cleanly for me after this change to qt4-mac.

comment:13 Changed 12 years ago by mkae (Marko Käning)

Resolution: fixed
Status: newclosed

Hi Michael, thanks for all your effort!!! Indeed, the port builds just fine now. Greets, Marko

Note: See TracTickets for help on using tickets.