Re: Problem with a Qt application portfile
On Dec 5, 2007, at 12:29 PM, Ryan Schmidt wrote:
On Dec 5, 2007, at 10:26, Linc Davis wrote:
I'm trying to port evolvotron:
http://sourceforge.net/projects/evolvotron
It build with qmake. Works in Fink.
So far, I have this:
PortSystem 1.0 name evolvotron version 0.4.0 categories graphics x11 platforms darwin maintainers nomaintainer@macports.org homepage http://sourceforge.net/projects/evolvotron master_sites http://downloads.sourceforge.net/evolvotron/ checksums md5 ab6f3a3247e36ca0024d3837f78bdf6b description "Generative art" image evolver, based on Qt long_description "Generative art" software to evolve images/ textures/patterns through an \ iterative process of random mutation and user- selection driven evolution. depends_lib port:qt3 depends_build port:graphviz port:doxygen patchfiles patch-common.pro patch-evolvotron.pro worksrcdir ${name} configure.args --mandir=${prefix}/share/man destroot.destdir INSTALL_ROOT=${destroot} configure.env QTDIR=${prefix} INSTALLBASE=${prefix} INSTALLPATH=${destroot}${prefix} build.env QTDIR=${prefix} INSTALLBASE=${prefix} INSTALLPATH=${destroot}${prefix} destroot.env QTDIR=${prefix} INSTALLBASE=${prefix} INSTALLPATH=${destroot}${prefix}
The patches are as follows:
--- common.pro.orig 2005-05-11 11:23:36.000000000 -0700 +++ common.pro 2007-10-10 09:31:18.000000000 -0700 @@ -10,7 +10,7 @@ # INSTALLPATH = /usr/local/bin # For a personal install use something like the next line
-INSTALLPATH = /home/$(USER)/bin +#INSTALLPATH = /home/$(USER)/bin
################## # Improved optimisation options from qmake defaults. @@ -79,8 +79,8 @@ # This probably wouldn't be usable until all the strings were moved out of the app - see Qt I18N docs. # Also add gcc threading option (not entirely clear whether this is needed but it doesn't seem to hurt)
-QMAKE_CXXFLAGS_RELEASE += -DQT_NO_ASCII_CAST -pthread -QMAKE_CXXFLAGS_DEBUG += -DQT_NO_ASCII_CAST -pthread +QMAKE_CXXFLAGS_RELEASE += -DQT_NO_ASCII_CAST +QMAKE_CXXFLAGS_DEBUG += -DQT_NO_ASCII_CAST
###################################### # Hide those crufty moc_ files away
--- evolvotron/evolvotron.pro.orig 2007-10-06 21:02:12.000000000 -0700 +++ evolvotron/evolvotron.pro 2007-10-06 21:03:32.000000000 -0700 @@ -10,6 +10,7 @@
QMAKE_CXXFLAGS_RELEASE += -I../libevolvotron QMAKE_CXXFLAGS_DEBUG += -I../libevolvotron +QMAKE_LFLAGS_RELEASE += -undefined dynamic_lookup
target.path = $$INSTALLPATH
I get as far as this:
---> Fetching evolvotron ---> Verifying checksum(s) for evolvotron ---> Extracting evolvotron ---> Applying patches to evolvotron ---> Configuring evolvotron ---> Building evolvotron with target all ---> Staging evolvotron into destroot ---> Packaging tgz archive for evolvotron 0.4.0_0
And then I get this:
Error: Target org.macports.archive returned: error copying "/opt/ local/var/macports/build/ _opt_local_var_macports_sources_local_graphics_evolvotron/ work/.macports.evolvotron.state" to "/opt/local/var/macports/build/ _opt_local_var_macports_sources_local_graphics_evolvotron/work/ destroot/+STATE": no such file or directory Error: Status 1 encountered during processing.
The destroot directory appears momentarily in the work directory, then disappears. Apparently it's being deleted just before the tgz archive is created. I have no idea why.
Passing the -d option to 'port install' has no effect on the build output. MacPorts 1.520, Mac OS 10.4.11 PPC, Xcode 2.4.1.
Why are you "Packaging tgz archive"?
# Create and use binary archive packages for installation/ reinstallation ease
Does it work if you skip that step?
No: ---> Fetching evolvotron ---> Verifying checksum(s) for evolvotron ---> Extracting evolvotron ---> Applying patches to evolvotron ---> Configuring evolvotron ---> Building evolvotron with target all ---> Staging evolvotron into destroot ---> Installing evolvotron 0.4.0_0 couldn't change working directory to "/opt/local/var/macports/build/ _opt_local_var_macports_sources_local_graphics_evolvotron/work/ destroot": no such file or directory ---> Activating evolvotron 0.4.0_0
On Dec 5, 2007, at 16:24, Linc Davis wrote:
On Dec 5, 2007, at 12:29 PM, Ryan Schmidt wrote:
On Dec 5, 2007, at 10:26, Linc Davis wrote:
I'm trying to port evolvotron:
http://sourceforge.net/projects/evolvotron
It build with qmake. Works in Fink.
So far, I have this:
PortSystem 1.0 name evolvotron version 0.4.0 categories graphics x11 platforms darwin maintainers nomaintainer@macports.org homepage http://sourceforge.net/projects/evolvotron master_sites http://downloads.sourceforge.net/evolvotron/ checksums md5 ab6f3a3247e36ca0024d3837f78bdf6b description "Generative art" image evolver, based on Qt long_description "Generative art" software to evolve images/ textures/patterns through an \ iterative process of random mutation and user- selection driven evolution. depends_lib port:qt3 depends_build port:graphviz port:doxygen patchfiles patch-common.pro patch-evolvotron.pro worksrcdir ${name} configure.args --mandir=${prefix}/share/man destroot.destdir INSTALL_ROOT=${destroot} configure.env QTDIR=${prefix} INSTALLBASE=${prefix} INSTALLPATH=${destroot}${prefix} build.env QTDIR=${prefix} INSTALLBASE=${prefix} INSTALLPATH=${destroot}${prefix} destroot.env QTDIR=${prefix} INSTALLBASE=${prefix} INSTALLPATH=${destroot}${prefix}
The patches are as follows:
--- common.pro.orig 2005-05-11 11:23:36.000000000 -0700 +++ common.pro 2007-10-10 09:31:18.000000000 -0700 @@ -10,7 +10,7 @@ # INSTALLPATH = /usr/local/bin # For a personal install use something like the next line
-INSTALLPATH = /home/$(USER)/bin +#INSTALLPATH = /home/$(USER)/bin
################## # Improved optimisation options from qmake defaults. @@ -79,8 +79,8 @@ # This probably wouldn't be usable until all the strings were moved out of the app - see Qt I18N docs. # Also add gcc threading option (not entirely clear whether this is needed but it doesn't seem to hurt)
-QMAKE_CXXFLAGS_RELEASE += -DQT_NO_ASCII_CAST -pthread -QMAKE_CXXFLAGS_DEBUG += -DQT_NO_ASCII_CAST -pthread +QMAKE_CXXFLAGS_RELEASE += -DQT_NO_ASCII_CAST +QMAKE_CXXFLAGS_DEBUG += -DQT_NO_ASCII_CAST
###################################### # Hide those crufty moc_ files away
--- evolvotron/evolvotron.pro.orig 2007-10-06 21:02:12.000000000 -0700 +++ evolvotron/evolvotron.pro 2007-10-06 21:03:32.000000000 -0700 @@ -10,6 +10,7 @@
QMAKE_CXXFLAGS_RELEASE += -I../libevolvotron QMAKE_CXXFLAGS_DEBUG += -I../libevolvotron +QMAKE_LFLAGS_RELEASE += -undefined dynamic_lookup
target.path = $$INSTALLPATH
I get as far as this:
---> Fetching evolvotron ---> Verifying checksum(s) for evolvotron ---> Extracting evolvotron ---> Applying patches to evolvotron ---> Configuring evolvotron ---> Building evolvotron with target all ---> Staging evolvotron into destroot ---> Packaging tgz archive for evolvotron 0.4.0_0
And then I get this:
Error: Target org.macports.archive returned: error copying "/opt/ local/var/macports/build/ _opt_local_var_macports_sources_local_graphics_evolvotron/ work/.macports.evolvotron.state" to "/opt/local/var/macports/ build/_opt_local_var_macports_sources_local_graphics_evolvotron/ work/destroot/+STATE": no such file or directory Error: Status 1 encountered during processing.
The destroot directory appears momentarily in the work directory, then disappears. Apparently it's being deleted just before the tgz archive is created. I have no idea why.
Passing the -d option to 'port install' has no effect on the build output. MacPorts 1.520, Mac OS 10.4.11 PPC, Xcode 2.4.1.
Why are you "Packaging tgz archive"?
# Create and use binary archive packages for installation/ reinstallation ease
Does it work if you skip that step?
No:
---> Fetching evolvotron ---> Verifying checksum(s) for evolvotron ---> Extracting evolvotron ---> Applying patches to evolvotron ---> Configuring evolvotron ---> Building evolvotron with target all ---> Staging evolvotron into destroot ---> Installing evolvotron 0.4.0_0 couldn't change working directory to "/opt/local/var/macports/build/ _opt_local_var_macports_sources_local_graphics_evolvotron/work/ destroot": no such file or directory ---> Activating evolvotron 0.4.0_0
Ok, so I've seen something like that before, when the port didn't install any files at all into the destroot and the destroot got pruned. Perhaps everything is getting installed directly to ${prefix} and bypassing the destroot (which should obviously be fixed, but which would explain the error).
participants (2)
-
Linc Davis
-
Ryan Schmidt