Paralle build ability lost in 1.0.18

Bug #1278805 reported by grobbelaar on 2014-02-11
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libmemcached
Medium
Brian Aker

Bug Description

The problematic line is:

Makefile.in:10358:@BUILD_WIN32_FALSE@.NOTPARALLEL: $(dist_man_MANS)

It seems the intent was that $(dist_man_MANS) is not built in parallel. However, that is not how NOTPARALLEL works:

`.NOTPARALLEL'
     If `.NOTPARALLEL' is mentioned as a target, then this invocation of
     `make' will be run serially, even if the `-j' option is given.
     Any recursively invoked `make' command will still be run in
     parallel (unless its makefile contains this target). Any
     prerequisites on this target are ignored.

Note the last sentence. This line now prevents make from building in parallel. Commenting out the corresponding line in the generated Makefile restores parallel build ability.

Commenting it out will also cause things to break when the man pages are being built :(

On Feb 11, 2014, at 2:19, grobbelaar <email address hidden> wrote:

> Public bug reported:
>
> The problematic line is:
>
> Makefile.in:10358:@BUILD_WIN32_FALSE@.NOTPARALLEL: $(dist_man_MANS)
>
> It seems the intent was that $(dist_man_MANS) is not built in parallel.
> However, that is not how NOTPARALLEL works:
>
> `.NOTPARALLEL'
> If `.NOTPARALLEL' is mentioned as a target, then this invocation of
> `make' will be run serially, even if the `-j' option is given.
> Any recursively invoked `make' command will still be run in
> parallel (unless its makefile contains this target). Any
> prerequisites on this target are ignored.
>
> Note the last sentence. This line now prevents make from building in
> parallel. Commenting out the corresponding line in the generated
> Makefile restores parallel build ability.
>
> ** Affects: libmemcached
> Importance: Undecided
> Status: New
>
>
> ** Tags: build
>
> --
> You received this bug notification because you are subscribed to
> libmemcached.
> https://bugs.launchpad.net/bugs/1278805
>
> Title:
> Paralle build ability lost in 1.0.18
>
> Status in libmemcached - A C and C++ client library for memcached:
> New
>
> Bug description:
> The problematic line is:
>
> Makefile.in:10358:@BUILD_WIN32_FALSE@.NOTPARALLEL: $(dist_man_MANS)
>
> It seems the intent was that $(dist_man_MANS) is not built in
> parallel. However, that is not how NOTPARALLEL works:
>
> `.NOTPARALLEL'
> If `.NOTPARALLEL' is mentioned as a target, then this invocation of
> `make' will be run serially, even if the `-j' option is given.
> Any recursively invoked `make' command will still be run in
> parallel (unless its makefile contains this target). Any
> prerequisites on this target are ignored.
>
> Note the last sentence. This line now prevents make from building in
> parallel. Commenting out the corresponding line in the generated
> Makefile restores parallel build ability.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/libmemcached/+bug/1278805/+subscriptions

grobbelaar (grobbelaar) wrote :

Doesn't matter, building man pages doesn't work anyway:

$ make man
Making output directory...
WARNING: master file libmemcached/__build/docs/index.rst not found
Exception occurred:
  File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 189, in main
    app.build(force_all, filenames)
  File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 204, in build
    self.builder.build_update()
  File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 191, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 252, in build
    self.write(docnames, list(updated_docnames), method)
  File "/usr/lib/python2.7/dist-packages/sphinx/builders/manpage.py", line 72, in write
    tree = self.env.get_doctree(docname)
  File "/usr/lib/python2.7/dist-packages/sphinx/environment.py", line 1213, in get_doctree
    f = open(doctree_filename, 'rb')
IOError: [Errno 2] No such file or directory: 'libmemcached/__build/man/.doctrees/hashkit_create.doctree'

Man pages are built from source control. They are built before packaging.

On Feb 11, 2014, at 3:01, grobbelaar <email address hidden> wrote:

> Doesn't matter, building man pages doesn't work anyway:
>
> $ make man
> Making output directory...
> WARNING: master file libmemcached/__build/docs/index.rst not found
> Exception occurred:
> File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 189, in main
> app.build(force_all, filenames)
> File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 204, in build
> self.builder.build_update()
> File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 191, in build_update
> self.build(['__all__'], to_build)
> File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 252, in build
> self.write(docnames, list(updated_docnames), method)
> File "/usr/lib/python2.7/dist-packages/sphinx/builders/manpage.py", line 72, in write
> tree = self.env.get_doctree(docname)
> File "/usr/lib/python2.7/dist-packages/sphinx/environment.py", line 1213, in get_doctree
> f = open(doctree_filename, 'rb')
> IOError: [Errno 2] No such file or directory: 'libmemcached/__build/man/.doctrees/hashkit_create.doctree'
>
> --
> You received this bug notification because you are subscribed to
> libmemcached.
> https://bugs.launchpad.net/bugs/1278805
>
> Title:
> Paralle build ability lost in 1.0.18
>
> Status in libmemcached - A C and C++ client library for memcached:
> New
>
> Bug description:
> The problematic line is:
>
> Makefile.in:10358:@BUILD_WIN32_FALSE@.NOTPARALLEL: $(dist_man_MANS)
>
> It seems the intent was that $(dist_man_MANS) is not built in
> parallel. However, that is not how NOTPARALLEL works:
>
> `.NOTPARALLEL'
> If `.NOTPARALLEL' is mentioned as a target, then this invocation of
> `make' will be run serially, even if the `-j' option is given.
> Any recursively invoked `make' command will still be run in
> parallel (unless its makefile contains this target). Any
> prerequisites on this target are ignored.
>
> Note the last sentence. This line now prevents make from building in
> parallel. Commenting out the corresponding line in the generated
> Makefile restores parallel build ability.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/libmemcached/+bug/1278805/+subscriptions

I think I have a fix for both.

On Feb 11, 2014, at 3:01, grobbelaar <email address hidden> wrote:

> Doesn't matter, building man pages doesn't work anyway:
>
> $ make man
> Making output directory...
> WARNING: master file libmemcached/__build/docs/index.rst not found
> Exception occurred:
> File "/usr/lib/python2.7/dist-packages/sphinx/cmdline.py", line 189, in main
> app.build(force_all, filenames)
> File "/usr/lib/python2.7/dist-packages/sphinx/application.py", line 204, in build
> self.builder.build_update()
> File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 191, in build_update
> self.build(['__all__'], to_build)
> File "/usr/lib/python2.7/dist-packages/sphinx/builders/__init__.py", line 252, in build
> self.write(docnames, list(updated_docnames), method)
> File "/usr/lib/python2.7/dist-packages/sphinx/builders/manpage.py", line 72, in write
> tree = self.env.get_doctree(docname)
> File "/usr/lib/python2.7/dist-packages/sphinx/environment.py", line 1213, in get_doctree
> f = open(doctree_filename, 'rb')
> IOError: [Errno 2] No such file or directory: 'libmemcached/__build/man/.doctrees/hashkit_create.doctree'
>
> --
> You received this bug notification because you are subscribed to
> libmemcached.
> https://bugs.launchpad.net/bugs/1278805
>
> Title:
> Paralle build ability lost in 1.0.18
>
> Status in libmemcached - A C and C++ client library for memcached:
> New
>
> Bug description:
> The problematic line is:
>
> Makefile.in:10358:@BUILD_WIN32_FALSE@.NOTPARALLEL: $(dist_man_MANS)
>
> It seems the intent was that $(dist_man_MANS) is not built in
> parallel. However, that is not how NOTPARALLEL works:
>
> `.NOTPARALLEL'
> If `.NOTPARALLEL' is mentioned as a target, then this invocation of
> `make' will be run serially, even if the `-j' option is given.
> Any recursively invoked `make' command will still be run in
> parallel (unless its makefile contains this target). Any
> prerequisites on this target are ignored.
>
> Note the last sentence. This line now prevents make from building in
> parallel. Commenting out the corresponding line in the generated
> Makefile restores parallel build ability.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/libmemcached/+bug/1278805/+subscriptions

Brian Aker (brianaker) on 2014-02-16
Changed in libmemcached:
milestone: none → 1.0.19
importance: Undecided → Medium
assignee: nobody → Brian Aker (brianaker)
status: New → In Progress
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers