Opened 14 years ago
Closed 14 years ago
#26958 closed defect (fixed)
qscintilla build fails when tidy is installed
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | adfernandes (Andrew Fernandes) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.9.1 |
Keywords: | Cc: | michaelld (Michael Dickens) | |
Port: | qscintilla |
Description
After updating to qt4-mac @4.7.0_0, I now can't rebuild qscintilla:
/usr/bin/g++-4.2 -headerpad_max_install_names -single_module -dynamiclib -o libqscintillaplugin.dylib qscintillaplugin.o moc_qscintillaplugin.o -L/opt/local/lib -lqscintilla2 -L/opt/local/lib -lQtDesigner -lQtScript -lQtXml -lQtGui -lQtCore ld: library not found for -lqscintilla2 collect2: ld returned 1 exit status make: *** [libqscintillaplugin.dylib] Error 1
Mac OS X 10.6.4, x86_64. This was also reported on the mailing list.
libqscintilla2.dylib is located in /opt/local/libexec/qt4-mac/lib but I don't see any "-L/opt/local/libexec/qt4-mac/lib" up there.
Attachments (1)
Change History (6)
Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Also, I guess that's not really the first error; the first error is:
error: there are no arguments to 'PLATFORM_ASSERT' that depend on a template parameter, so a declaration of 'PLATFORM_ASSERT' must be available
comment:2 Changed 14 years ago by michaelld (Michael Dickens)
two thoughts: 1) can you try:
sudo port clean qscintilla sudo port selfupdate sudo port install qscintilla [+variants]
and see if that helps? Sometimes cleaning & updating does. If not, then:
2) "PLATFORM_ASSERT" is defined in the file "${worksrcpath}/include/Platform.h", which is included by the cpp file of issue via the header "ScintillaQt.h". The only way that these #define won't happen is if "PLATFORM_H" is already defined -- that would really mess things up for Qsci. I can't find another #define of it on my system (including /opt/local and /usr/local), but maybe you do on yours & it's messing up the install? Can you insert some code at the top of the Platform.h file & see what happens?
#ifdef PLATFORM_H #define PLATFORM_H #endif
and if at entry PLATFORM_H is already defined then GCC will print out a message about where it is already defined. Code compilation will not get any further than what you already have.
comment:3 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | qscintilla: ld: library not found for -lqscintilla2 → qscintilla build fails when tidy is installed |
---|
In my case it turns out this was caused by the presence of /opt/local/include/platform.h which is provided by the tidy port. Deactivating the tidy port while building qscintilla fixed it.
comment:4 Changed 14 years ago by michaelld (Michael Dickens)
I've checked in r72688: a trial fix that does no harm on my system (which uses a case-sensitive file system) & should work on those using a case-insensitive file system -- which, really, is the issue since the source code includes "Platform.h" while tidy installs "platform.h". Please do a "selfupdate" & try again with tidy still installed and active.
comment:5 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Yes, that works, thanks.
the log