#48994 closed submission (fixed)
py-bob @2.0.6 New release
Reported by: | tiagofrepereira2012 (Tiago Freitas Pereira) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | andre.anjos@…, laurent.el-shafey@…, petrrr | |
Port: | py-bob |
Description
Hi,
Follow attached a set of port files for publication that will replace the port bob@1.2.2. This port now is using the portgroup python and for that reason was renamed to py-bob. py-bob was split in several small port files and they are available in the attached files also for publication.
I will open another ticket to replace the current bob@1.2.2 to an obsolete version.
Any question, please let me know.
Thanks in advance
Attachments (5)
Change History (25)
comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Hi,
Thanks for the comments. I implemented them and the result is in the current attachment for publication.
Thank you very much
Tiago
comment:3 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Cc: | tiagofrepereira@… added |
---|
Cc Me!
comment:4 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Hello,
Any news about this one?
Thanks
Tiago
comment:5 Changed 9 years ago by mf2k (Frank Schima)
Cc: | tiagofrepereira@… removed |
---|---|
Version: | 2.3.3 |
As reporter, you do not need to Cc yourself.
comment:6 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Cc: | tiagofrepereira@… added |
---|
comment:7 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Hello,
Any news about this one?
PS: Sorry, but I don't know how to remove my e-mail from the Cc.
Thank you very much in advance
Tiago
comment:8 Changed 9 years ago by mf2k (Frank Schima)
Cc: | andre.anjos@… laurent.el-shafey@… added; tiagofrepereira@… removed |
---|---|
Port: | py-bob added |
comment:10 Changed 9 years ago by dbevans (David B. Evans)
Owner: | changed from macports-tickets@… to devans@… |
---|---|
Status: | new → assigned |
As mentioned in my ticket #46465, I've dowloaded your submitted ports and have begun testing. First let me thank you for porting the new bob to MacPorts. It's truly a monumental amount of work!
I've run into a few issues, however, some stylistic and some more substantial.
Minor issues:
- port names contain '.'. MacPorts common usage is to use '-' instead to separate name components.
- the port group python sets some parameters for you particularly categories and dependencies. In particular, the port group sets the primary category to python and adds a depends_lib for the appropriate python version. Normal practice is to use categories-append and depends_lib-append to append any additional categories and dependencies that my be required. In particular, you are overriding python as the primary category with science. MacPorts practice is that all python ports should be in the python category. So you should just append your additional categories. Note also that the name of the containing directory for all your ports should be the same as the primary category (python).
- you use 'revision 0' throughout. This is the default value so it is common practice to avoid explicitly setting the revision to 0 and only add the revision statement when incrementing the revision. If the version number is incremented the revision is reset to 0 and any revision statement removed.
- currently there is an effort underway to add support, if possible, for python35. If your ports are compatible with python35 and the appropriate dependencies exist in MacPorts you might want to add this to your python.versions statement.
None of the above are show stoppers so I went ahead and attempted to build py-bob. The first dependency py-bob.blitz failed during configuration due to a missing dependency on boost so that needs to be added. Note also that boost has different variants depending on which version of python was used to build its python libraries. Default is boost +python27. MacPorts doesn't allow you to specify a dependency by variant so you should probably check to ensure that the proper variant of boost is installed depending on your ports' python version. This can be done by using the active_variants port group as follows:
PortGroup active_variants 1.1 ... require_active_variants port:boost python${python.version}
This will perform a check during dependency checking at the beginning of the configure phase to determine if the installed version of boost uses the specified variant and will fail with an appropriate message to the user if not.
So that's where I am right now. Since I'm the one that asked for these ports, I'm taking ownership of this ticket and will commit these ports for you when the various issues are resolved and they build without error.
Thanks again for your help in contributing your significant software package to MacPorts. Let me know if you have any questions.
Dave
Changed 9 years ago by dbevans (David B. Evans)
Build log for py-bob showing configure failure of py-bob.blitz due to missing dependency on boost
Changed 9 years ago by dbevans (David B. Evans)
Attachment: | py27-bob.blitz-main.log added |
---|
Build log for py27-bob.blitz showing configure failure of py-bob.blitz due to missing dependency on boost
comment:11 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Dear Dave,
Thanks for your attention and advice on this one. I applied all the suggestions, except the one with the python 3.5 support (which was created an issue to take care of that https://github.com/idiap/bob/issues/209).
The portfiles are attached (py-bob.zip)
Thanks again for your attention.
Best Regards
Tiago
comment:12 Changed 9 years ago by dbevans (David B. Evans)
I finally got an opportunity to spend some time testing your latest update yesterday. Sorry for the delay.
With the new modifications, attempting to build py27-bob in a clean environment causes the following to be built successfully:
py27-bob-extension py27-bob-blitz
However, it then attempts to build py27-bob-core and fails with the following error (full log attached)
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_Users_devans_macports_dports_python_py-bob-core/py27-bob-core/work/bob.core-2.0.4" && /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 setup.py --no-user-cfg build' :debug:build Executing command line: cd "/opt/local/var/macports/build/_Users_devans_macports_dports_python_py-bob-core/py27-bob-core/work/bob.core-2.0.4" && /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 setup.py --no-user-cfg build :info:build Traceback (most recent call last): :info:build File "setup.py", line 56, in <module> :info:build boost_modules = ['system', 'iostreams', 'filesystem'], :info:build File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/bob/blitz/extension.py", line 92, in __init__ :info:build BobLibrary.__init__(self, *args, **kwargs) :info:build File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/bob/extension/__init__.py", line 532, in __init__ :info:build raise OSError("The Library class needs CMake version >= 2.8 to be installed, but CMake cannot be found") :info:build OSError: The Library class needs CMake version >= 2.8 to be installed, but CMake cannot be found :info:build Command failed: cd "/opt/local/var/macports/build/_Users_devans_macports_dports_python_py-bob-core/py27-bob-core/work/bob.core-2.0.4" && /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 setup.py --no-user-cfg build :info:build Exit code: 1
This is caused by a missing dependency on cmake and installing cmake at this point allows the full build to complete successfully but it's not clear to me where the dependency on cmake should go. It appears to be required when the BobLibrary class is initialized which implies that it should be included in one or more depends_lib statements. But not being familiar with your code, I'm not sure whether this is only needed in a few specific modules or all. Apparently not needed in the first two. So I'll leave this to you to determine. Note that when building on our buildbots (to generate potentially disstributable binary modules) each module will be built separately in a clean environment with no ports active initially so your declared dependencies for each module need to bring in all necessary dependencies.
So if we can resolve this issue, I think the ports should be ready to commit.
Changed 9 years ago by dbevans (David B. Evans)
Attachment: | py27-bob-core-main.log added |
---|
Build log for py27-bob-core showing build failure due to missing dependency cmake
Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Attachment: | py-bob.2.zip added |
---|
Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Attachment: | py-bob.zip added |
---|
comment:13 follow-up: 14 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Dear Dave,
Thanks for the feedback. I updated the PortFiles with your suggested fix.
I took a bit longer to submit this fix because we released the bob 2.0.6.
Now these portfiles relies on tbob 2.0.6. Hope this is not an issue.
Thanks again
Tiago
comment:14 Changed 9 years ago by dbevans (David B. Evans)
Replying to tiagofrepereira@…:
Now these portfiles relies on tbob 2.0.6.
Is this a typo? I don't see any dependencies on tbob or any new such submission.
comment:15 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Sorry, it is a typo. It is bob 2.0.6
comment:16 Changed 9 years ago by dbevans (David B. Evans)
OK, no problem. Also you posted two new zip files py-bob.zip appears to be malformed so I assume py-bob.2.zip is the correct file?
comment:17 Changed 9 years ago by tiagofrepereira2012 (Tiago Freitas Pereira)
Hi Dave,
Consider the second one please (py-bob.2.zip). I had a issue with the first upload.
Thanks
comment:19 Changed 9 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
All ports both python27 and python34 built successfully during testing.
Committed in r142985. Thanks for all your work on this latest update to bob.
If you have any further updates or modifications that you would like to make, copy me on your ticket and I'll be glad to test and commit them.
Dave
comment:20 Changed 9 years ago by dbevans (David B. Evans)
Summary: | py-bob @2.0.5 New release → py-bob @2.0.6 New release |
---|
I haven't looked at everything yet, but some initial problems I see are:
Each directory in the zip archive contains an alias called Portfile, pointing to a file called Portfile.current. There should be no alias, and the real file should be called Portfile.
The py-bob portfile declares dependencies globally. In python portgroup ports, dependencies should only be declared inside the "if {${subport} eq ${name}} {...}" block.