No specific packager available for the distro version ubuntu_16_04_xenial

classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

No specific packager available for the distro version ubuntu_16_04_xenial

Matthew Thyer

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

David Ing
Cerbero was recently converted to python 3 from python 2.  Python 3 uses a different string encoding standard (utf8 I think) and errors like this often appear when something was missed during the conversion process.

You might try debugging with pycharm to patch the offending line of code.

On Tue, Apr 24, 2018, 1:27 AM Matthew Thyer <[hidden email]> wrote:

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: No specific packager available for the distro version ubuntu_16_04_xenial

Matthew Thyer

David,

 

As the traceback occurs after cerbero declares that “ubuntu_16_04_xenial” has no specific packager, I’m wondering whether I still have a chance to produce packages by using some other Linux distribution (e.g. would Debian 9.4 x86_64 work?).

How would I find out what distributions are supported for packaging?

I’m guessing that distros like Ubuntu aren’t building GStreamer using cerbero or else this wouldn’t still be an issue.

For the Linux case it seems that I can revert to building from git as per the FAQ answer: “Building GStreamer from git”.

I guess that I should examine Ubuntu’s launchpad.net to understand how they are packaging GStreamer.

 

From: gstreamer-devel <[hidden email]> On Behalf Of David Ing
Sent: Wednesday, 25 April 2018 11:54 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

Cerbero was recently converted to python 3 from python 2.  Python 3 uses a different string encoding standard (utf8 I think) and errors like this often appear when something was missed during the conversion process.

 

You might try debugging with pycharm to patch the offending line of code.

 

On Tue, Apr 24, 2018, 1:27 AM Matthew Thyer <[hidden email]> wrote:

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

David Ing
I can tell you that I built the deb packages for Gstreamer 1.12.4 on Lubuntu 16.04.   This version of cerbero (1.12.4) was prior to the migration from Python 2 to Python 3.  I did this because the Xenial version of Gstreamer is 1.8.something; and the Xenial repositories don't offer other versions (nobody is really distributing pre-built deb packages of all the different versions).

You can read about my deb packaging experience here:  https://lists.freedesktop.org/archives/gstreamer-devel/2018-April/067562.html

But having said that, errors like this are almost always about Python 2 vs. 3 compatability issues.

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)



On Wed, Apr 25, 2018 at 8:06 PM, Matthew Thyer <[hidden email]> wrote:

David,

 

As the traceback occurs after cerbero declares that “ubuntu_16_04_xenial” has no specific packager, I’m wondering whether I still have a chance to produce packages by using some other Linux distribution (e.g. would Debian 9.4 x86_64 work?).

How would I find out what distributions are supported for packaging?

I’m guessing that distros like Ubuntu aren’t building GStreamer using cerbero or else this wouldn’t still be an issue.

For the Linux case it seems that I can revert to building from git as per the FAQ answer: “Building GStreamer from git”.

I guess that I should examine Ubuntu’s launchpad.net to understand how they are packaging GStreamer.

 

From: gstreamer-devel <[hidden email]> On Behalf Of David Ing
Sent: Wednesday, 25 April 2018 11:54 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

Cerbero was recently converted to python 3 from python 2.  Python 3 uses a different string encoding standard (utf8 I think) and errors like this often appear when something was missed during the conversion process.

 

You might try debugging with pycharm to patch the offending line of code.

 

On Tue, Apr 24, 2018, 1:27 AM Matthew Thyer <[hidden email]> wrote:

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

Nicolas Dufresne-5
In reply to this post by Matthew Thyer


Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.


 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: No specific packager available for the distro version ubuntu_16_04_xenial

Matthew Thyer

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: No specific packager available for the distro version ubuntu_16_04_xenial

Matthew Thyer

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

Nicolas Dufresne-5


Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.


It's not clear what is considered broken here, did you run gst-shell ?

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: No specific packager available for the distro version ubuntu_16_04_xenial

Matthew Thyer

I don’t know what gst-shell is.

I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

Nicolas Dufresne-5


Le lun. 7 mai 2018 08:57, Matthew Thyer <[hidden email]> a écrit :

I don’t know what gst-shell is.

Or maybe it's called gst-env, anyway, you need a script in ordered to use the files installed by the generated packages. I'm assuming you managed to install it after you worked around the Python UTF8 bug. This second bug need to be fixed, assuming you have utf8 support in your Python installation. It's possible that it's a regression introduced by the porting to Python 3. We don't usually tes on bare distro without utf8 shell. For the first, it will only be fixed if someone is willing to improve this packager. It's not used much these days.


I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

David Ing
Nicolas, 

Are you saying that cerbero is not the preferred way of building deb packages?  If that is true then what is the preferred way?

On Mon, May 7, 2018, 5:27 AM Nicolas Dufresne <[hidden email]> wrote:


Le lun. 7 mai 2018 08:57, Matthew Thyer <[hidden email]> a écrit :

I don’t know what gst-shell is.

Or maybe it's called gst-env, anyway, you need a script in ordered to use the files installed by the generated packages. I'm assuming you managed to install it after you worked around the Python UTF8 bug. This second bug need to be fixed, assuming you have utf8 support in your Python installation. It's possible that it's a regression introduced by the porting to Python 3. We don't usually tes on bare distro without utf8 shell. For the first, it will only be fixed if someone is willing to improve this packager. It's not used much these days.


I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

Nicolas Dufresne-5


Le lun. 7 mai 2018 15:42, David Ing <[hidden email]> a écrit :
Nicolas, 

Are you saying that cerbero is not the preferred way of building deb packages?  If that is true then what is the preferred way?

Each Linux distribution have their own preferred way, tailored for the specific distro configuration. Some uses Debian Makefiles, some uses RPM specs, some have their own formats.

The Debian and RPM packagers in Cerbero have never been used by the GStreamer project to deliver prebuilds binaries, we have always delegated the work of distribution to distributions (Debian, UBuntu, Fedora, etc.). This could change in the future, but likely not through Cerbero.

These packagers scripts dates back from the commercial GStreamer SDK project, from witch Cerbero build system was built. It's the only build system that we know that supports all the targets we support (Linux, Windows, OSX, iOS and Android) and are very happy that this tool was later contributed upstream. Though we totally understand the limitation it has over build path, including the fact the the prefix does not match the final installation path (Wich Linux distro packagers normally do correctly). We workaround with scripts, as we don't have strong motivation to revisit these.


On Mon, May 7, 2018, 5:27 AM Nicolas Dufresne <[hidden email]> wrote:


Le lun. 7 mai 2018 08:57, Matthew Thyer <[hidden email]> a écrit :

I don’t know what gst-shell is.

Or maybe it's called gst-env, anyway, you need a script in ordered to use the files installed by the generated packages. I'm assuming you managed to install it after you worked around the Python UTF8 bug. This second bug need to be fixed, assuming you have utf8 support in your Python installation. It's possible that it's a regression introduced by the porting to Python 3. We don't usually tes on bare distro without utf8 shell. For the first, it will only be fixed if someone is willing to improve this packager. It's not used much these days.


I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

David Ing
That is very interesting.

I really like cerbero and hopefully I can find some personal time to fix this over the weekend.

So to summarize, these are the modifications that we would need.
  1. For the Python 3 version of cerbero, the ASCII license text needs to get written as ASCII (not UTF-8).  This seems straight-forward enough.
  2. The deb package paths need to be fixed, including the *.pc files.
    • I guess the proper way to do this would be to dig into the way the debian packages are being built and make the appropriate modifications.
    • A hacky way to do this would be extract each deb file using the `ar` command, modify the package paths and the *.pc files, then use the `ar` command to create the new *.deb file.
Question:  Does anybody have some useful tips about accomplishing item #2 the proper way?  My knowledge of auto-tools, make, and debian packagers is very limited.  Without guidance I will need to use the hacky solution, which means it probably won't get merged into the mainline.

Question:  Did I miss anything else that needs to get fixed around *.deb file packaging?


On Mon, May 7, 2018 at 7:13 AM, Nicolas Dufresne <[hidden email]> wrote:


Le lun. 7 mai 2018 15:42, David Ing <[hidden email]> a écrit :
Nicolas, 

Are you saying that cerbero is not the preferred way of building deb packages?  If that is true then what is the preferred way?

Each Linux distribution have their own preferred way, tailored for the specific distro configuration. Some uses Debian Makefiles, some uses RPM specs, some have their own formats.

The Debian and RPM packagers in Cerbero have never been used by the GStreamer project to deliver prebuilds binaries, we have always delegated the work of distribution to distributions (Debian, UBuntu, Fedora, etc.). This could change in the future, but likely not through Cerbero.

These packagers scripts dates back from the commercial GStreamer SDK project, from witch Cerbero build system was built. It's the only build system that we know that supports all the targets we support (Linux, Windows, OSX, iOS and Android) and are very happy that this tool was later contributed upstream. Though we totally understand the limitation it has over build path, including the fact the the prefix does not match the final installation path (Wich Linux distro packagers normally do correctly). We workaround with scripts, as we don't have strong motivation to revisit these.


On Mon, May 7, 2018, 5:27 AM Nicolas Dufresne <[hidden email]> wrote:


Le lun. 7 mai 2018 08:57, Matthew Thyer <[hidden email]> a écrit :

I don’t know what gst-shell is.

Or maybe it's called gst-env, anyway, you need a script in ordered to use the files installed by the generated packages. I'm assuming you managed to install it after you worked around the Python UTF8 bug. This second bug need to be fixed, assuming you have utf8 support in your Python installation. It's possible that it's a regression introduced by the porting to Python 3. We don't usually tes on bare distro without utf8 shell. For the first, it will only be fixed if someone is willing to improve this packager. It's not used much these days.


I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

Nicolas Dufresne-5


Le lun. 7 mai 2018 18:42, David Ing <[hidden email]> a écrit :
That is very interesting.

I really like cerbero and hopefully I can find some personal time to fix this over the weekend.

So to summarize, these are the modifications that we would need.
  1. For the Python 3 version of cerbero, the ASCII license text needs to get written as ASCII (not UTF-8).  This seems straight-forward enough.
No, we need to support UTF8, hence use the right method. Cerbero is Python 3 only.

  1. The deb package paths need to be fixed, including the *.pc files.
    • I guess the proper way to do this would be to dig into the way the debian packages are being built and make the appropriate modifications.
There is a relocate script in there already.
    • A hacky way to do this would be extract each deb file using the `ar` command, modify the package paths and the *.pc files, then use the `ar` command to create the new *.deb file.

Do that pre archiving please. Thought the debug path, and internal path in the code will still be broken, and you'll need special env still.

Question:  Does anybody have some useful tips about accomplishing item #2 the proper way?  My knowledge of auto-tools, make, and debian packagers is very limited.  Without guidance I will need to use the hacky solution, which means it probably won't get merged into the mainline.

What distro do is use --prefix to install path, and make DESTDIR=TMP/location

But it's difficult, since the dist sysroot will not have the right location.

Question:  Did I miss anything else that needs to get fixed around *.deb file packaging?

I'm not expert in .deb files, and am human, so I cannot say if I missed anything.




On Mon, May 7, 2018 at 7:13 AM, Nicolas Dufresne <[hidden email]> wrote:


Le lun. 7 mai 2018 15:42, David Ing <[hidden email]> a écrit :
Nicolas, 

Are you saying that cerbero is not the preferred way of building deb packages?  If that is true then what is the preferred way?

Each Linux distribution have their own preferred way, tailored for the specific distro configuration. Some uses Debian Makefiles, some uses RPM specs, some have their own formats.

The Debian and RPM packagers in Cerbero have never been used by the GStreamer project to deliver prebuilds binaries, we have always delegated the work of distribution to distributions (Debian, UBuntu, Fedora, etc.). This could change in the future, but likely not through Cerbero.

These packagers scripts dates back from the commercial GStreamer SDK project, from witch Cerbero build system was built. It's the only build system that we know that supports all the targets we support (Linux, Windows, OSX, iOS and Android) and are very happy that this tool was later contributed upstream. Though we totally understand the limitation it has over build path, including the fact the the prefix does not match the final installation path (Wich Linux distro packagers normally do correctly). We workaround with scripts, as we don't have strong motivation to revisit these.


On Mon, May 7, 2018, 5:27 AM Nicolas Dufresne <[hidden email]> wrote:


Le lun. 7 mai 2018 08:57, Matthew Thyer <[hidden email]> a écrit :

I don’t know what gst-shell is.

Or maybe it's called gst-env, anyway, you need a script in ordered to use the files installed by the generated packages. I'm assuming you managed to install it after you worked around the Python UTF8 bug. This second bug need to be fixed, assuming you have utf8 support in your Python installation. It's possible that it's a regression introduced by the porting to Python 3. We don't usually tes on bare distro without utf8 shell. For the first, it will only be fixed if someone is willing to improve this packager. It's not used much these days.


I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: No specific packager available for the distro version ubuntu_16_04_xenial

Matthew Thyer
In reply to this post by Nicolas Dufresne-5

Nicolas,

 

I was initially distressed to hear that the GStreamer project delegates packaging to the Linux distros and hence the information on the "Building from source using Cerbero" web page was misleading (as it’s not what is actually used) but then I refocussed on the fact that I don’t actually need packaging as I’m just looking for the answer to how to build GStreamer from source.

 

I’ve read a bit further on the "Building from source using Cerbero" web page and noticed something which I’d missed before regarding the prefix for the building. Under the heading “Build a single project with GStreamer” there’s the text “By default, Cerbero uses as prefix a folder in the user directory with the following schema ~/cerbero/dist/$platform_$arch” and that this prefix can be changed by using a “custom configuration file named custom.cbc”. It then gives an example on how to specify the prefix for various platforms.

 

I’ve tested this and my cerbero created packages look much better. I’m yet to test installation of the packages in a minimal system and to see if my application works but I’m feeling a lot closer.

 

My build process is now:

1. docker run -it ubuntu:xenial bash

2. apt install -y sudo python3 python-dev git intltool

3. populate your ~/.gitconfig for your identity

4. mkdir ~/git

5. cd ~/git

6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14

7. cd ~/git/cerbero

8. git checkout 1.14

9. yes | ./cerbero-uninstalled bootstrap

10. echo prefix=\'/usr/local/gstreamer\' >~/custom.cbc

11. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt

12. ./cerbero-uninstalled -c ~/custom.cbc package gstreamer-1.0

 

Do you think this may meet my requirements for simply being able to build and use any version of GStreamer?

If yes, then cerbero is still useful and we just need to fix it to be able to handle UTF-8 text in the packages/gstreamer-1.0/license.txt file.

I would also like to fix the cross compilation to be able to build for the ARMv7 hard float architecture so as to be useful for the Raspberry Pi 2, 3, 3B+ but I’ll work on that.

 

P.S. I tried to make Outlook reply to your emails correctly (indenting and allow me to comment inline but it’s very hard so please forgive yet another top posted reply).

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 11:43 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 15:42, David Ing <[hidden email]> a écrit :

Nicolas, 

 

Are you saying that cerbero is not the preferred way of building deb packages?  If that is true then what is the preferred way?

 

Each Linux distribution have their own preferred way, tailored for the specific distro configuration. Some uses Debian Makefiles, some uses RPM specs, some have their own formats.

 

The Debian and RPM packagers in Cerbero have never been used by the GStreamer project to deliver prebuilds binaries, we have always delegated the work of distribution to distributions (Debian, UBuntu, Fedora, etc.). This could change in the future, but likely not through Cerbero.

 

These packagers scripts dates back from the commercial GStreamer SDK project, from witch Cerbero build system was built. It's the only build system that we know that supports all the targets we support (Linux, Windows, OSX, iOS and Android) and are very happy that this tool was later contributed upstream. Though we totally understand the limitation it has over build path, including the fact the the prefix does not match the final installation path (Wich Linux distro packagers normally do correctly). We workaround with scripts, as we don't have strong motivation to revisit these.

 

 

On Mon, May 7, 2018, 5:27 AM Nicolas Dufresne <[hidden email]> wrote:

 

Le lun. 7 mai 2018 08:57, Matthew Thyer <[hidden email]> a écrit :

I don’t know what gst-shell is.

Or maybe it's called gst-env, anyway, you need a script in ordered to use the files installed by the generated packages. I'm assuming you managed to install it after you worked around the Python UTF8 bug. This second bug need to be fixed, assuming you have utf8 support in your Python installation. It's possible that it's a regression introduced by the porting to Python 3. We don't usually tes on bare distro without utf8 shell. For the first, it will only be fixed if someone is willing to improve this packager. It's not used much these days.

 

 

I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: No specific packager available for the distro version ubuntu_16_04_xenial

David Ing
I have submitted a new bug around the Debian package paths:  https://bugzilla.gnome.org/show_bug.cgi?id=796009

Here is a link to Matthew's bug on the license files (around ASCII vs UTF-8 encoding):  https://bugzilla.gnome.org/show_bug.cgi?id=795792

No bug has been files (yet) on the ARMv7, Raspberry PI stuff.  (I won't be filing a bug on that one.)

On Wed, May 9, 2018 at 12:17 AM, Matthew Thyer <[hidden email]> wrote:

Nicolas,

 

I was initially distressed to hear that the GStreamer project delegates packaging to the Linux distros and hence the information on the "Building from source using Cerbero" web page was misleading (as it’s not what is actually used) but then I refocussed on the fact that I don’t actually need packaging as I’m just looking for the answer to how to build GStreamer from source.

 

I’ve read a bit further on the "Building from source using Cerbero" web page and noticed something which I’d missed before regarding the prefix for the building. Under the heading “Build a single project with GStreamer” there’s the text “By default, Cerbero uses as prefix a folder in the user directory with the following schema ~/cerbero/dist/$platform_$arch” and that this prefix can be changed by using a “custom configuration file named custom.cbc”. It then gives an example on how to specify the prefix for various platforms.

 

I’ve tested this and my cerbero created packages look much better. I’m yet to test installation of the packages in a minimal system and to see if my application works but I’m feeling a lot closer.

 

My build process is now:

1. docker run -it ubuntu:xenial bash

2. apt install -y sudo python3 python-dev git intltool

3. populate your ~/.gitconfig for your identity

4. mkdir ~/git

5. cd ~/git

6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14

7. cd ~/git/cerbero

8. git checkout 1.14

9. yes | ./cerbero-uninstalled bootstrap

10. echo prefix=\'/usr/local/gstreamer\' >~/custom.cbc

11. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt

12. ./cerbero-uninstalled -c ~/custom.cbc package gstreamer-1.0

 

Do you think this may meet my requirements for simply being able to build and use any version of GStreamer?

If yes, then cerbero is still useful and we just need to fix it to be able to handle UTF-8 text in the packages/gstreamer-1.0/license.txt file.

I would also like to fix the cross compilation to be able to build for the ARMv7 hard float architecture so as to be useful for the Raspberry Pi 2, 3, 3B+ but I’ll work on that.

 

P.S. I tried to make Outlook reply to your emails correctly (indenting and allow me to comment inline but it’s very hard so please forgive yet another top posted reply).

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 11:43 PM


To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 15:42, David Ing <[hidden email]> a écrit :

Nicolas, 

 

Are you saying that cerbero is not the preferred way of building deb packages?  If that is true then what is the preferred way?

 

Each Linux distribution have their own preferred way, tailored for the specific distro configuration. Some uses Debian Makefiles, some uses RPM specs, some have their own formats.

 

The Debian and RPM packagers in Cerbero have never been used by the GStreamer project to deliver prebuilds binaries, we have always delegated the work of distribution to distributions (Debian, UBuntu, Fedora, etc.). This could change in the future, but likely not through Cerbero.

 

These packagers scripts dates back from the commercial GStreamer SDK project, from witch Cerbero build system was built. It's the only build system that we know that supports all the targets we support (Linux, Windows, OSX, iOS and Android) and are very happy that this tool was later contributed upstream. Though we totally understand the limitation it has over build path, including the fact the the prefix does not match the final installation path (Wich Linux distro packagers normally do correctly). We workaround with scripts, as we don't have strong motivation to revisit these.

 

 

On Mon, May 7, 2018, 5:27 AM Nicolas Dufresne <[hidden email]> wrote:

 

Le lun. 7 mai 2018 08:57, Matthew Thyer <[hidden email]> a écrit :

I don’t know what gst-shell is.

Or maybe it's called gst-env, anyway, you need a script in ordered to use the files installed by the generated packages. I'm assuming you managed to install it after you worked around the Python UTF8 bug. This second bug need to be fixed, assuming you have utf8 support in your Python installation. It's possible that it's a regression introduced by the porting to Python 3. We don't usually tes on bare distro without utf8 shell. For the first, it will only be fixed if someone is willing to improve this packager. It's not used much these days.

 

 

I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: No specific packager available for the distro version ubuntu_16_04_xenial

Matthew Thyer

David,

 

Thanks for the summary.

 

There seems to already be a bug files for the ARMHF issue (as required to cross compile for the Raspberry Pi 2, 3, 3B+).

See: https://bugzilla.gnome.org/show_bug.cgi?id=789101

I haven’t yet filed a bug for the failure to cross compile for the old ARMv7 – non HF (OpenSSL linking failed).

As this stage I’ll be emulating a Raspberry Pi 2 with QEMU to get my binaries built.

 

I still haven’t had a chance to test my packages built with “prefix=some-path” in custom.cbc but may soon.

 

From: gstreamer-devel <[hidden email]> On Behalf Of David Ing
Sent: Friday, 11 May 2018 3:05 AM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

I have submitted a new bug around the Debian package paths:  https://bugzilla.gnome.org/show_bug.cgi?id=796009

 

Here is a link to Matthew's bug on the license files (around ASCII vs UTF-8 encoding):  https://bugzilla.gnome.org/show_bug.cgi?id=795792

 

No bug has been files (yet) on the ARMv7, Raspberry PI stuff.  (I won't be filing a bug on that one.)

 

On Wed, May 9, 2018 at 12:17 AM, Matthew Thyer <[hidden email]> wrote:

Nicolas,

 

I was initially distressed to hear that the GStreamer project delegates packaging to the Linux distros and hence the information on the "Building from source using Cerbero" web page was misleading (as it’s not what is actually used) but then I refocussed on the fact that I don’t actually need packaging as I’m just looking for the answer to how to build GStreamer from source.

 

I’ve read a bit further on the "Building from source using Cerbero" web page and noticed something which I’d missed before regarding the prefix for the building. Under the heading “Build a single project with GStreamer” there’s the text “By default, Cerbero uses as prefix a folder in the user directory with the following schema ~/cerbero/dist/$platform_$arch” and that this prefix can be changed by using a “custom configuration file named custom.cbc”. It then gives an example on how to specify the prefix for various platforms.

 

I’ve tested this and my cerbero created packages look much better. I’m yet to test installation of the packages in a minimal system and to see if my application works but I’m feeling a lot closer.

 

My build process is now:

1. docker run -it ubuntu:xenial bash

2. apt install -y sudo python3 python-dev git intltool

3. populate your ~/.gitconfig for your identity

4. mkdir ~/git

5. cd ~/git

6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14

7. cd ~/git/cerbero

8. git checkout 1.14

9. yes | ./cerbero-uninstalled bootstrap

10. echo prefix=\'/usr/local/gstreamer\' >~/custom.cbc

11. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt

12. ./cerbero-uninstalled -c ~/custom.cbc package gstreamer-1.0

 

Do you think this may meet my requirements for simply being able to build and use any version of GStreamer?

If yes, then cerbero is still useful and we just need to fix it to be able to handle UTF-8 text in the packages/gstreamer-1.0/license.txt file.

I would also like to fix the cross compilation to be able to build for the ARMv7 hard float architecture so as to be useful for the Raspberry Pi 2, 3, 3B+ but I’ll work on that.

 

P.S. I tried to make Outlook reply to your emails correctly (indenting and allow me to comment inline but it’s very hard so please forgive yet another top posted reply).

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 11:43 PM


To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 15:42, David Ing <[hidden email]> a écrit :

Nicolas, 

 

Are you saying that cerbero is not the preferred way of building deb packages?  If that is true then what is the preferred way?

 

Each Linux distribution have their own preferred way, tailored for the specific distro configuration. Some uses Debian Makefiles, some uses RPM specs, some have their own formats.

 

The Debian and RPM packagers in Cerbero have never been used by the GStreamer project to deliver prebuilds binaries, we have always delegated the work of distribution to distributions (Debian, UBuntu, Fedora, etc.). This could change in the future, but likely not through Cerbero.

 

These packagers scripts dates back from the commercial GStreamer SDK project, from witch Cerbero build system was built. It's the only build system that we know that supports all the targets we support (Linux, Windows, OSX, iOS and Android) and are very happy that this tool was later contributed upstream. Though we totally understand the limitation it has over build path, including the fact the the prefix does not match the final installation path (Wich Linux distro packagers normally do correctly). We workaround with scripts, as we don't have strong motivation to revisit these.

 

 

On Mon, May 7, 2018, 5:27 AM Nicolas Dufresne <[hidden email]> wrote:

 

Le lun. 7 mai 2018 08:57, Matthew Thyer <[hidden email]> a écrit :

I don’t know what gst-shell is.

Or maybe it's called gst-env, anyway, you need a script in ordered to use the files installed by the generated packages. I'm assuming you managed to install it after you worked around the Python UTF8 bug. This second bug need to be fixed, assuming you have utf8 support in your Python installation. It's possible that it's a regression introduced by the porting to Python 3. We don't usually tes on bare distro without utf8 shell. For the first, it will only be fixed if someone is willing to improve this packager. It's not used much these days.

 

 

I’ve documented my steps to reproduce in the report for bug 795792.

That’s not exactly correct as I’m now restricting my to the Ubuntu Xenial docker image and I’m also building the 1.14 branch.

My exact steps are:

  1. docker run -it ubuntu:xenial bash
  2. apt install -y sudo python3 python-dev git intltool
  3. populate your ~/.gitconfig for your identity
  4. mkdir ~/git
  5. cd ~/git
  6. git clone git://anongit.freedesktop.org/gstreamer/cerbero -b 1.14
  7. cd ~/git/cerbero
  8. git checkout 1.14
  9. yes | ./cerbero-uninstalled bootstrap
  10. perl -pi -e 's/[^[:ascii:]]//g' packages/gstreamer-1.0/license.txt
  11. ./cerbero-uninstalled package gstreamer-1.0

 

I hope this makes it easy to reproduce as that’s my intention in using docker.

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Monday, 7 May 2018 3:58 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le lun. 7 mai 2018 01:27, Matthew Thyer <[hidden email]> a écrit :

I’ve found that stripping non-ascii characters from the file "packages/gstreamer-1.0/license.txt" allows packaging using the default packager to complete. However, the packages produced are not correct as reported by David Ing for cerbero v1.12.4 in his message: “Cerbero 1.12.4 Problem with paths inside *.deb files”. The error is that the paths for the files to be installed are the paths where the source was built rather than the default installation prefix of /usr/local as is expected.

 

It's not clear what is considered broken here, did you run gst-shell ?

 

 

From: gstreamer-devel <[hidden email]> On Behalf Of Matthew Thyer
Sent: Friday, 4 May 2018 3:22 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: RE: No specific packager available for the distro version ubuntu_16_04_xenial

 

Bug 795792 logged

 

From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne
Sent: Thursday, 26 April 2018 11:02 PM
To: Discussion of the development of and with GStreamer <[hidden email]>
Subject: Re: No specific packager available for the distro version ubuntu_16_04_xenial

 

 

Le mar. 24 avr. 2018 04:27, Matthew Thyer <[hidden email]> a écrit :

Greetings gstreamer-devel list,

 

I’m wishing to build and package GStreamer v1.14 (or later) for the ARM32 hard-float architecture (for Raspberry Pi 2, 3, 3B+). I mean the GNU Triplet: arm-linux-gnueabihf.

As you may have seen from my last two emails (“Failure to cross compile GStreamer v1.14 with config/cross-lin-arm.cbc” & “How to cross compile GStreamer for Raspberry Pi 2, 3, 3B+ (arch=armhf)?”) I’m not currently able to cross compile for this outcome so I have instead setup docker on my Raspberry Pi 3 and run a native build. This completes normally but then fails to package the results of the build.

It looks like cerbero tries to fall back to some kind of default packager but then crashes and I get a python traceback.

 

The error messages from the failure are:

WARNING: No specific packager available for the distro version ubuntu_16_04_xenial, using generic packager for distro debian

WARNING: No packager defined, using default packager "Default <[hidden email]>"

Traceback (most recent call last):

 File "./cerbero-uninstalled", line 9, in <module>

   main()

 File "./cerbero/main.py", line 130, in main

   Main(sys.argv[1:])

 File "./cerbero/main.py", line 55, in __init__

   self.run_command()

 File "./cerbero/main.py", line 105, in run_command

   res = commands.run(command, self.config, self.args)

 File "./cerbero/commands/__init__.py", line 78, in run

   return _commands[command].run(config, args)

 File "./cerbero/commands/package.py", line 82, in run

   pkg = Packager(config, p, self.store)

 File "./cerbero/packages/packager.py", line 53, in __new__

   return _packagers[d][v](config, package, store)

 File "./cerbero/packages/debian.py", line 448, in __new__

   return DebianPackager(config, package, store)

 File "./cerbero/packages/debian.py", line 187, in __init__

   self.license = f.read()

 File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode

   return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 0: ordinal not in range(128)

 

I’ve confirmed that I get the same error when running a native build in a docker container on an x86_64 VM so this problem is not specific to the ARM architecture.

Does anyone have a solution for this issue?

This crash is unrelated to the harmless warnings. It's reading from file expecting ASCII and hit some utf8 char, and crash. Can you file a bug to bugs.gnome.org with that backtrace attached.

 

 

 

Regards,

 

---

Matthew Thyer

(08) 8313 9283

4.38 Ingkarni Wardli

Adelaide University

 

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

 


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel