Hi people, I've just come across a reason why I've been unable to build Tizen IVI in a vanilla environment: there are absolute paths to tool chains and dependencies on specific internal libraries of the cross-platform host.
When I attempt to "gbs build -A i586 platform/upstream/build" in the root git directory, the following error is left in the failure log: .../logs/fail/build-initvm-20120927-0/log. /usr/lib/gcc/i586-tizen-linux/4.8/../../../../i586-tizen-linux/bin/ld: cannot find -lc This error shows that the build depends on an absolute path in the host machine. A directory /usr/lib/gcc/i586-tizen-linux/4.8 must exist, a /usr/i586-tizen-linux/bin/ld must exist, and there is an implicit dependency on the host's library files. This also happens with platform/upstream/gettext package. I strongly suspect that many more packages have this dependency as well, but cannot test it because nothing else builds past those two packages. To test further, I went ahead and made a number of symbolic links to point these absolute paths to my local host's default toolchain, and tried to rebuild. This immediately ran into a link error because my host environment is Ubuntu 64-bit, and this naturally didn't link with the 32-bit Tizen executables. A total of 239 of 850 packages do build correctly before getting to these dependencies, but these are all just vanilla Linux packages. All the Tizen-specific libraries and applications needed for Tizen-specific development (for example developing a vehicle specific plugin for automotive-message-broker) do not build. I run into an onslaught of "nothing provides <package>" errors. I am unsure about whether this is caused by the toolchain dependency. In the short term, I would like some help from the people who actually *can* build further than this. Where are people getting this i586-tizen-linux toolchain from? It does not appear to be documented anywhere accessible by google. Until I can get this, I cannot do any sort of Tizen development. It is impossible, as has been suggested, to simply build packages to work on top of Tizen. To do such development you still need basic Tizen libraries and header files, and the packages that provide those don't build. In the long term, let me also state my concerns as to why this can't just be ignored. Since it appears that Tizen images have library code from the development environment baked into them, everyone's Tizen image is going to differ, even if built from identical sources, and this could lead to consistency issues. There is also a GPL issue, as incorporating non-public libraries and irreproducible build environments that make seemingly public code non-buildable is something it specifically prohibits (not everybody is so persnickety, but automotive manufacturers are very cognizant of legal liabilities). -- Kind Regards Steven Maurer ------------------- Infotainment Engineer MSX on behalf of Jaguar Land Rover One World Trade Center, 121 Southwest Salmon Street, 11th Floor, Portland, Oregon, 97204 Email: [email protected]
_______________________________________________ IVI mailing list [email protected] https://lists.tizen.org/listinfo/ivi
