New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #25261 (assigned submission)

Opened 4 years ago

Last modified 22 months ago

gphpedit submission

Reported by: jdunn@… Owned by: ryandesign@…
Priority: Normal Milestone:
Component: ports Version: 1.9.0
Keywords: Cc:
Port: gphpedit

Description

this port is almost complete, but i cant figure out why its giving errors.

Attachments

Portfile (932 bytes) - added by jdunn@… 4 years ago.
error.log (70.5 KB) - added by jdunn@… 4 years ago.
Portfile.2 (2.1 KB) - added by ryandesign@… 22 months ago.
patch-autogen.sh.diff (637 bytes) - added by ryandesign@… 22 months ago.
patch-compiler.diff (1.6 KB) - added by ryandesign@… 22 months ago.

Change History

Changed 4 years ago by jdunn@…

comment:1 Changed 4 years ago by ryandesign@…

  • Owner changed from macports-tickets@… to ryandesign@…
  • Status changed from new to assigned
  • Port set to gphpedit

comment:2 Changed 4 years ago by ryandesign@…

I'll take a look.

It looks like it requires webkit; guess that's the webkit-gtk port. I recall that takes awhile to build, so give me a minute...

comment:3 Changed 4 years ago by ryandesign@…

The error I get from gphpedit is

make[2]: *** No rule to make target `gtkscintilla2/scintilla/bin/scintilla.a', needed by `gphpedit'.  Stop.

Is that what you get too?

comment:4 Changed 4 years ago by ryandesign@…

And I'll ask the same question here that I did for libmcs in #25264: why are we downloading a distfile from your site and not from the project's site, and why do they differ?

comment:5 Changed 4 years ago by jdunn@…

the one on my site doesnt need autogen.sh to be run. In the regular distfile on the project's site, autogen.sh runs configure automatically after being run. Your more than welcome to change it.

comment:6 Changed 4 years ago by jdunn@…

i dont remember exactly about the errors i was getting, but it was scintilla related. I'll attach the log when i get home tonight.

comment:7 Changed 4 years ago by ryandesign@…

I think I was seeing the wrong error because I was building in parallel. Perhaps gPHPEdit doesn't like parallel building. Building serially, I get

cd gtkscintilla2 && /usr/bin/make libgtkscintilla2.a && cd ..
cd ./scintilla/gtk ; /usr/bin/make GTK2=1
g++ -D_REENTRANT -I/opt/local/include/gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/atk-1.0 -I/opt/local/include/cairo -I/opt/local/include/pango-1.0 -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/pixman-1 -I/opt/local/include/freetype2 -I/opt/local/include/libpng12   -DNDEBUG -Os -Wall -Wno-missing-braces -Wno-char-subscripts -pedantic -Os -DGTK -DSCI_LEXER -I ../include -I ../src  -c ../src/DocumentAccessor.cxx
In file included from ../src/DocumentAccessor.cxx:17:
../src/DocumentAccessor.h:26: error: 'WindowID' does not name a type
../src/DocumentAccessor.h:41: error: 'WindowID' has not been declared
../src/DocumentAccessor.h:63: error: 'WindowID' does not name a type
../src/DocumentAccessor.h: In constructor 'DocumentAccessor::DocumentAccessor(Document*, PropertyGet&, int)':
../src/DocumentAccessor.h:42: error: class 'DocumentAccessor' does not have any field named 'id'
[snip]

After spending hours on Google I'm no smarter about what to do about this, so I filed a bug report with the developers.

comment:8 Changed 4 years ago by jdunn@…

i attached the errors i get.

Changed 4 years ago by jdunn@…

comment:9 Changed 4 years ago by jdunn@…

also, i've been building in parallel, but i dont notice any difference when building serially

comment:10 Changed 4 years ago by ryandesign@…

What version of Mac OS X? What's build_arch set to in macports.conf?

comment:11 Changed 4 years ago by jdunn@…

10.6.3, x86_64

comment:12 Changed 4 years ago by ryandesign@…

Hm. For what arch has gtkscintilla2/libgtkscintilla2.a ended up being built, if not x86_64?

comment:13 Changed 4 years ago by jdunn@…

i think its part of the gtk2 package, which means it should be x86_64 unless for some reason it got built as i386/i686, but i didnt change it at all.

comment:14 Changed 4 years ago by jdunn@…

for the distfiles question, its because when the project site's file is extracted, it is a weirdly named dir. my version extracts to gphpedit-0.9.98/

comment:15 Changed 4 years ago by ryandesign@…

It is not part of the gtk2 port. It is a library built by the gphpedit port. Please use "lipo -info" on it to determine its architecture.

comment:16 Changed 4 years ago by jdunn@…

$ lipo -info libgtkscintilla2.a 
input file libgtkscintilla2.a is not a fat file
Non-fat file: libgtkscintilla2.a is architecture: x86_64

comment:17 follow-up: ↓ 19 Changed 4 years ago by ryandesign@…

I don't know what to make of that since the error message specifically stated the linker wanted x86_64 but didn't find it in that library.

ld: warning: in gtkscintilla2/libgtkscintilla2.a, file was built for unsupported file format which is not the architecture being linked (x86_64)

comment:18 Changed 4 years ago by jdunn@…

is gphpedit for some reason being built as i386 possibly?

Changed 22 months ago by ryandesign@…

Changed 22 months ago by ryandesign@…

Changed 22 months ago by ryandesign@…

comment:19 in reply to: ↑ 17 ; follow-up: ↓ 20 Changed 22 months ago by ryandesign@…

Sorry, this ticket was forgotten, several times; I've come back to this port several times over the years to try to make it build, but have never succeeded; I still end up with:

Replying to ryandesign@…:

ld: warning: in gtkscintilla2/libgtkscintilla2.a, file was built for unsupported file format which is not the architecture being linked (x86_64)

Actually with Xcode 4.5.2 and Apple clang 4.1 the wording has changed to:

ld: warning: ignoring file gtkscintilla2/libgtkscintilla2.a, file was built for archive which is not the architecture being linked (x86_64): gtkscintilla2/libgtkscintilla2.a

The attached port is updated to the final version of 0.9.98 fetched from the developer's github. Parallel building is disabled for now to ensure consistent error messages. The universal variant is enabled but has not been tested; it's blocked by #37774.

comment:20 in reply to: ↑ 19 Changed 22 months ago by ryandesign@…

Replying to ryandesign@…:

The universal variant is enabled but has not been tested; it's blocked by #37774.

Now that I've got a patch for #37774 I was able to try gphpedit's universal variant, which failed at the same place, with a different error message:

ar -rs libgtkscintilla2.a scintilla/bin/scintilla.a gtkscintilla.o marshal.o
ar: creating archive libgtkscintilla2.a
/opt/local/bin/ranlib: archive member: libgtkscintilla2.a(scintilla.a) fat file for cputype (16777223) cpusubtype (3) is not an object file (bad magic number)

Searching on this error message I found #29261 (about a different port) in which Joshua said "Apparently it's trying to put an archive inside another archive, and ranlib doesn't support that." That seems to be the case here as well: it's trying to put an archive (scintilla.a) inside another archive (libgtkscintilla2.a).

Note: See TracTickets for help on using tickets.