Mike Fiore
Forum Replies Created
-
AuthorPosts
-
Mike FioreBlocked
Alexey,
If you’re willing to share your recipe for Python 2.7.1, we could probably include it in a future CoreCDP release. If that’s the case, you can either post it on this thread or email it to me at mfiore@multitech.com.The issue detailed shows the same trace that you posted. There was talk in that thread and that, if you are using virtualenv with python, upgrading virtualenv resolved the issue.
Hope this helps!
MikeMike FioreBlockedAlexey,
I definitely understand where you’re coming from! It is unfortunate that the most powerful tools are usually the ones with the steepest learning curve as well!We are aware that OE Classic is deprecated and are hoping to have a version of CoreCDP based on OE Core released in the future. I am unaware of any current plans to support other distributions like Debian, but I will follow up on that suggestion.
Thanks!
MikeMike FioreBlockedHi Alexey,
CoreCDP is currently the only distribution that Multi-Tech supports for the OCG platform.May I ask why you’d like to install Debian instead?
-Mike
Mike FioreBlockedWe have a new release of CoreCDP coming down the pipe. I’m not sure if there is a release date yet. However, it will still be based on oe-classic, so support for the custom add-on you mentioned won’t be included if it isn’t already.
We are aware of how deprecated oe-classic is getting and are hoping to migrate to oe-core in the future. It’s probably still quite a ways out though.-Mike
February 13, 2014 at 1:53 pm in reply to: bitbake corecdp-base-image fail: guile-native_1.8.7.bb #5282Mike FioreBlockedAlso, I’ll make sure to get giule-1.8 added to our list of dependencies for CoreCDP so that this issue can be avoided in the future!
February 13, 2014 at 1:51 pm in reply to: bitbake corecdp-base-image fail: guile-native_1.8.7.bb #5281Mike FioreBlockedDavid,
I believe the problem is that your machine doesn’t have guile-1.8 installed. The lt-guile application is looking for libguil.so.17 in your /usr/lib/ directory or in your build tree (your-corecdp-dir/build/tmp/sysroots/your-native-platform/…) and can’t find it in either location. If this is the case, installing guile-1.8 should resolve the issue. You can install guile-1.8 with the command:sudo apt-get install guile-1.8
I spun up a Debian 6.0.8 VM and built CoreCDP with no issues, but that machine had guile-1.8 installed by default. When testing on Debian 7, I ran into the same issue you’ve seen and discovered it was because the machine had a newer version of guile (2.0) installed by default and the shared object files were named differently. After I installed guile-1.8, the build completed successfully.
Let us know if you have any other questions.
Cheers,
MikeMike FioreBlockedSorry, my link didn’t work!
http://docs.openembedded.org/usermanual/usermanual.html#update-rc-d_class
Mike FioreBlockedHi Greg,
Your bitbake recipe can inherit from the “update-rc.d” class, which takes care of this for you. Simply inherit from the class, define a couple of additional parameters in your recipe, and include the script in your fakeroot_do_install target. The update-rc.d class takes care of the rest.Here’s a link to OpenEmbedded documentation for the update-rc.d class:
A good example of how this class is used is our mts-io driver. Check out `path-to-corecdp/multitech/recipes/multitech/mts-io.inc for an example. Specifically take a look at the following lines for the inheritance and declaration of variables that the class needs:
inherit update-rc.d INITSCRIPT_NAME = "mts-io" INITSCRIPT_PARAMS = "start 39 S ."
These lines install the init script in the /etc/init.d/ directory:
install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/mts-io.init ${D}${sysconfdir}/init.d/mts-io
Let us know if you have more questions!
Cheers,
MikeMike FioreBlockedMark,
Linking /var/log/ to your media card shouldn’t cause any problems. You may want to take a look at the syslog settings if you’re also wanting to keep logs around longer, keep bigger log files, etc. CoreCDP uses Busybox Syslog, which ignores the default /etc/syslogd.conf file. It instead sources /etc/default/busybox-syslog for default parameters. Adjusting this file and restarting Syslog should change its behavior accordingly.Cheers,
MikeMike FioreBlockedGreg,
We don’t provide a C/C++ library for managing the PPP connection, so system() commands are a good alternative for managing the link from within your application. What you suggested should work just fine.-Mike
Mike FioreBlockedThat’s exactly it. Libcurl is not by any means the only C/C++ HTTP client library out there in the wild, but it is pretty well known and well used. I’ve used it before and haven’t really had any issues to speak of.
You should just need to add curl to your image recipe in CoreCDP and include the curl headers in your project.
I would also suggest checking out JSON libs if you haven’t already. I’ve used JsonCPP in conjunction with curl and they work quite nicely together.
I don’t think there’s a recipe for JsonCPP in OpenEmbedded, but you might be able to find one out in the wild.
-Mike
Mike FioreBlockedMike FioreBlockedHi Greg,
The Standard C++ Library contains definitions for many common mathematical operations and transformations. Here is a link to the reference:You should just need to add the line
#include <cmath>
to all relevant files in your project to resolve the linker issue. You might want to double check that your usage of the math functions matches the function definitions as well, so that you don’t run into any other compiler errors.I hope this resolves your issue!
-MikeMike FioreBlockedJeeva,
CoreCDP 2.2.2 doesn’t support this feature either, so updating wouldn’t help. I would suggest writing a simple bash script to toggle the LED using mts-io-sysfs. Here’s an example:#!/bin/bash if [ $# -ne 2 ]; then echo "usage: $0 <sysfs file> <frequency (us)>" exit fi on=1 while true; do mts-io-sysfs store $1 $on usleep $2 on=$((1-on)) done
-Mike
Mike FioreBlockedJeeva,
Unfortunately CoreCDP 2.0.2 doesn’t support flashing for all LED’s. There is a bug in the mts-io-sysfs command which shows a flashing option for the LED’s.-Mike
Mike FioreBlockedNicolai, that’s great news! I’m glad the issue has been resolved.
Would you be willing to share the recipe you wrote up with us?
Mike FioreBlockedHi Jeeva,
Which version of CoreCDP are you running on your OCG?-Mike
Mike FioreBlockedIf I follow the apt-get example above and name my file corecdp-apt-image.bb then it complains that nothing provides ‘apt-image’.
If I follow the naming convention shown for the asterisk install on the creating a custom image page and name the file ‘apt-image.bb’ I get further.If your recipe is named “corecdp-apt-image.bb” then you’d build it with the command
bitbake corecdp-apt-image
. Likewise, if your recipe is named “apt-image.bb” you’d build it with the commandbitbake apt-image
.It goes through several pages of the install script but then gets to this point:
Error: ‘/home/andrew/corecdp-2.2.2/openembedded/recipes/dpkg/dpkg_1.14.29.bb’ failedI tried running the example I gave earlier to build an image with apt. I also ran into an error in the same place you did. It looks like the version of dpkg it is looking for is no longer on any of the default source mirrors.
Any thoughts. I’d be interested to understand why you recommend against apt-get?
Multi-Tech doesn’t maintain a repository of packages to be fetched by apt-get for our devices. It is possible to install apt-get on your OCG, but there are not any repositories out in the wild providing packages that will be compatible with CoreCDP. The only supported way to add software packages to the OCG is by building them with openembedded and bitbake.
I’m ultimately trying to install the netatalk image but that doesn’t work either for easier access from my Mac. My feeling is that apt-get would be an easier way of installing this.
There is a recipe for netatalk in corecdp-2.2.2/openembedde/recipes. I tried building it and corecdp failed to find the source on any of the default source mirrors. I found the source on sourceforge:
http://sourceforge.net/projects/netatalk/files/netatalk/2.0.5/
I wrote up a .bbappend file using that repository instead of the one in the recipe by default and was able to build an image with netatalk included.Create “netatalk_2.0.5.bbappend” with the following contents:
SRC_URI = "http://sourceforge.net/projects/netatalk/files/netatalk/${PV}/netatalk-${PV}.tar.gz;name=src \ file://netatalk-dbd.patch \ file://netatalk.conf \ file://init"
This file needs to be in the directory “corecdp-2.2.2/multitech/recipes/netatalk/” which you will need to create.
You can then include netatalk in an image recipe by adding it to an existing recipe or creating a new recipe (similar to the example I gave earlier).
Mike FioreBlockedOops, looks like my link didn’t show up in there! Here is the link to the getting started page:
http://www.multitech.net/developer/products/multiconnect-ocg/getting-started/
-Mike Fiore
Software Engineer
Multi Tech SystemsMike FioreBlockedAndrew,
The directories that Bryan referred to wouldn’t be found on the OCG, but on your local machine. Typically, the way we add software packages to the OCG’s firmware is by editing or creating new firmware images for the device. This is done on your local machine within the corecdp-2.2.2/ directory.If you haven’t downloaded and unpacked the corecdp-2.2.2 tarball on your local machine, that would be the first step. See for instructions on downloading and unpacking the corecdp-2.2.2 tarball.
I looked in the corecdp-2.2.2/openembedded/recipes/apt/ directory and there is a recipe for apt v0.7.20.2 available.
So, to include apt in a new image, for example, you would create a new image recipe named “corecdp-apt-image.bb” in the corecdp-2.2.2/multitech/recipes/images/ directory. The contents of that file would look like this:
require recipes/images/corecdp-base-image.bb IMAGE_INSTALL += "apt" export IMAGE_BASENAME = "apt-image"
From here you should be able to follow the examples on the developer site to build and flash the image onto your device.
I would advise you to look in the corecdp-2.2.2/openembedded/recipes/ directory for packages you wish to install before using apt-get on the OCG.
I hope this helps.
-Mike Fiore
Software Engineer
Multi Tech Systems -
AuthorPosts