Cannot build lp:mixxx #3014 "protobuf" with Ubuntu Lucid

Bug #982493 reported by Daniel Schürmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Undecided
Daniel Schürmann

Bug Description

Building on Ubuntu Lucid failed, because of checked in beats.pb.h depends on a newer protobuf vresion.

I am working on a patch to call protobufc from scons, and generate the beats.pb.* files when building.

Changed in mixxx:
assignee: nobody → Daniel Schürmann (daschuer)
Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

I definitely screwed this one up. I checked in the compiled versions of the .proto so that people wouldn't have to install the protobuf compiler but I guess this is won't work because the compiler version has to match the lib version.

Changed in mixxx:
milestone: none → 1.11.0
status: New → Confirmed
Revision history for this message
Daniel Schürmann (daschuer) wrote :

here it is ...
Its only tested on Ubuntu Lucid.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: [Bug 982493] Re: Cannot build lp:mixxx #3014 "protobuf" with Ubuntu Lucid

Is there a reason you added protobuf to the dependencies in addition to
protobuf-lite? The protobuf library is something like 12MB which is a lot
to bloat our packages while protobuf-lite is nice and small (500kb-1MB).

Since we're likely to add more proto files in the future this might be a
better way to do the object generation:

proto_args = {
    'PROTOCPROTOPATH': ['src'],
    'PROTOCPYTHONOUTDIR': '', # set to None to not generate python
    'PROTOCOUTDIR': build.build_dir,
    'PROTOCCPPOUTFLAGS': '',
    #'PROTOCCPPOUTFLAGS': "dllexport_decl=PROTOCONFIG_EXPORT:"
}
proto_sources = SCons.Glob('proto/*.proto')
proto_objects = [build.env.Protoc([], proto_source, **proto_args)
                 for proto_source in proto_sources]
sources.extend(proto_objects)

Otherwise, it worked perfectly for me, thanks!
RJ

2012/4/15 Daniel Schürmann <email address hidden>

> here it is ...
> Its only tested on Ubuntu Lucid.
>
> ** Patch added: "protobufc_lucid.patch"
>
> https://bugs.launchpad.net/mixxx/+bug/982493/+attachment/3073492/+files/protobufc_lucid.patch
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/982493
>
> Title:
> Cannot build lp:mixxx #3014 "protobuf" with Ubuntu Lucid
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/982493/+subscriptions
>

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Attached, you find the patch including your suggestions.

Its fine, because clementine-tagreader also makes use of protobuf. :-)

I should have mentioned that I had troubles with protobuf-lite on Ubuntu Lucid, because it is not properly installed.
It exists a /usr/lib/libprotobuf-lite.so.5 but no symlink without version number.
But
    pkg-config protobuf-lite --silence-errors --cflags --libs
returns
    -pthread -pthread -lprotobuf-lite
So linking failed.
With the patch scons tries protobuf-lite, if that fails on Ubuntu Lucid protobuf is linked instead.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Looks good, feel free to commit. Confirmed that protobuf-lite is linked on OSX. Hopefully the same is true on Windows.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Committed lp:mixxx #3015

Changed in mixxx:
status: Confirmed → Fix Committed
Revision history for this message
jus (jus) wrote :

WIth this patch in lp:trunk i cant compile with build line "scons" on MacOSX 10.6.8 anymore as of r3019.
Had installed protobuf via Macports "sudo port install protobuf-cpp" and lp:mixxx r3014 worked yesterday.
Tried to deleted all the cached build files and even tried a new checkout, error stays the same.

Installed version on my machine " protobuf-cpp @2.4.1_0 (active)"

Any advice?

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Did you ever install protobuf outside of MacPorts? Could you check if
/usr/local/bin/protoc exists?

If so could you paste the output of the following:

/usr/local/bin/protoc --version
(and if your macports directory is /opt/local/bin)
/opt/local/bin/protoc --version

On Mon, Apr 16, 2012 at 1:20 AM, jus <email address hidden> wrote:

> WIth this patch in lp:trunk i cant compile with build line "scons" on
> MacOSX 10.6.8 anymore as of r3019.
> Had installed protobuf via Macports "sudo port install protobuf-cpp" and
> lp:mixxx r3014 worked yesterday.
> Tried to deleted all the cached build files and even tried a new checkout,
> error stays the same.
>
> Installed version on my machine " protobuf-cpp @2.4.1_0 (active)"
>
> Any advice?
>
> ** Attachment added: "protobuf build error.txt"
>
> https://bugs.launchpad.net/mixxx/+bug/982493/+attachment/3075185/+files/protobuf%20build%20error.txt
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/982493
>
> Title:
> Cannot build lp:mixxx #3014 "protobuf" with Ubuntu Lucid
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/982493/+subscriptions
>

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

On second look this looks like GCC can't find the header files for
protobuf. Could you paste the GCC command that was run before these errors?

On Mon, Apr 16, 2012 at 1:37 AM, RJ Ryan <email address hidden> wrote:

> Did you ever install protobuf outside of MacPorts? Could you check if
> /usr/local/bin/protoc exists?
>
> If so could you paste the output of the following:
>
> /usr/local/bin/protoc --version
> (and if your macports directory is /opt/local/bin)
> /opt/local/bin/protoc --version
>
>
>
>
> On Mon, Apr 16, 2012 at 1:20 AM, jus <email address hidden> wrote:
>
>> WIth this patch in lp:trunk i cant compile with build line "scons" on
>> MacOSX 10.6.8 anymore as of r3019.
>> Had installed protobuf via Macports "sudo port install protobuf-cpp" and
>> lp:mixxx r3014 worked yesterday.
>> Tried to deleted all the cached build files and even tried a new
>> checkout, error stays the same.
>>
>> Installed version on my machine " protobuf-cpp @2.4.1_0 (active)"
>>
>> Any advice?
>>
>> ** Attachment added: "protobuf build error.txt"
>>
>> https://bugs.launchpad.net/mixxx/+bug/982493/+attachment/3075185/+files/protobuf%20build%20error.txt
>>
>> --
>> You received this bug notification because you are a member of Mixxx
>> Development Team, which is subscribed to Mixxx.
>> https://bugs.launchpad.net/bugs/982493
>>
>> Title:
>> Cannot build lp:mixxx #3014 "protobuf" with Ubuntu Lucid
>>
>> To manage notifications about this bug go to:
>> https://bugs.launchpad.net/mixxx/+bug/982493/+subscriptions
>>
>
>

Revision history for this message
jus (jus) wrote :

Only had installed from within macports
user:~ user$ /usr/local/bin/protoc --version
-bash: /usr/local/bin/protoc: No such file or directory
user:~ user$ /opt/local/bin/protoc --version
libprotoc 2.4.1
user:~ user$

Buildlog is here: http://pastebin.com/SxkGBC8F

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Huh! I'm not sure how my builds worked before (on OS X) but I forgot the
[0] that was in Daniel's original patch when I wrote my variant of it. The
beats.pb.h was being compiled as a source file. Just committed a fix.

On Mon, Apr 16, 2012 at 2:11 AM, jus <email address hidden> wrote:

> Only had installed from within macports
> user:~ user$ /usr/local/bin/protoc --version
> -bash: /usr/local/bin/protoc: No such file or directory
> user:~ user$ /opt/local/bin/protoc --version
> libprotoc 2.4.1
> user:~ user$
>
> Buildlog is here: http://pastebin.com/SxkGBC8F
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/982493
>
> Title:
> Cannot build lp:mixxx #3014 "protobuf" with Ubuntu Lucid
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/982493/+subscriptions
>

Revision history for this message
jus (jus) wrote :

Works now with the latest fix. Thanks for looking at it.

RJ Skerry-Ryan (rryan)
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/6367

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.