From: Hanchett, Paul [mailto:[email protected]] Sent: Thursday, September 19, 2013 1:32 AM To: Zhang, Qiang Z Cc: Maurer, Steven; [email protected] Subject: Re: Major reason for inability to build Tizen sources found...
Qiang-- Originally I was trying to follow your advice here: Hi Paul, I found new version of IVI is released: http://download.tizen.org/releases/daily/tizen/ivi/tizen_20130913.12/ In this release contains the following updates as I know: - wrt/libtapi issue: already fixed in today's release: http://download.tizen.org/releases/daily/tizen/ivi/latest/builddata/manifest/tizen_20130913.12_ia32.xml - Toolchain: use gcc48 instead of gcc 47, so gcc and toolchain conflict issue will be fixed. - curl updated, so CURL_OPENSSL_4 related error will be fixed Gerrit git updates: - Update scm/meta/build-conf to latest released config - Update pre-built/toolchain-x86 to latest toolchain, including (gcc48,new eglibc) So with above updates, gbs local full build can works more better, only 28 packages build failed. So, please build using latest code and repo: - use this manifest http://download.tizen.org/releases/daily/tizen/ivi/latest/builddata/manifest/tizen_20130913.12_ia32.xml to update scm/manifest/ivi-projects.xml<http://download.tizen.org/releases/daily/tizen/ivi/latest/builddata/manifest/tizen_20130913.12_ia32.xml%20to%20update%20scm/manifest/ivi-projects.xml> - use remote repo http://download.tizen.org/releases/daily/tizen/ivi/tizen_20130913.12/ in .gbs.conf - run gbs build --clean-repos Btw, latest tizen3.0 code does not exist package cycles , so you don't need specify --exclude now. But when I tried to implement that, I got an error Qiang, My repo init and sync -m xxxxx seem to both be successful. However when I try a gbs build, I get an error (two actually): ================================================================================================== gbs build -A i586 --threads 2 --clean-repos --exclude=texinfo,systemd ================================================================================================== info: generate repositories ... warning: No such repo path:/home/paulha/20130913.12/pre-built/toolchain-x86/ error: Traceback (most recent call last): File "/usr/bin/gbs", line 539, in <module> sys.exit(main(sys.argv)) File "/usr/bin/gbs", line 533, in main return module.main(args) File "/usr/lib/pymodules/python2.7/gitbuildsys/cmd_build.py", line 290, in main cmd += prepare_repos_and_build_conf(args, buildarch, profile) File "/usr/lib/pymodules/python2.7/gitbuildsys/cmd_build.py", line 140, in prepare_repos_and_build_conf shutil.copy(profile.buildconf, distconf) File "/usr/lib/python2.7/shutil.py", line 119, in copy copyfile(src, dst) File "/usr/lib/python2.7/shutil.py", line 82, in copyfile with open(src, 'rb') as fsrc: IOError: [Errno 2] No such file or directory: '/home/paulha/20130913.12/scm/meta/build-config/build.conf' My partner across the way is able to get past this. The one difference I know about is that I am starting with a new set of directories where he is re-using existing directory structures. Do you think that's a clue? I hear your response as essentially "You're doing it wrong" but didn't understand what to try instead. So, you only need update ivi-project.xml with http://download.tizen.org/releases/daily/tizen/ivi/tizen_20130913.23/builddata/manifest/tizen_20130913.23_ia32.xml. I thought that was what I'd done. [Qiang] yes. you just need replace ivi-project.xml with manifest in http://download.tizen.org/releases/daily/tizen/ivi/<>/builddata/manifest<http://download.tizen.org/releases/daily/tizen/ivi/%3c%3e/builddata/manifest>, then run 'repo sync' to clone code. So I just went back to building off the tizen branch, and things looked surprisingly good except for the errors we've noted here. BTW, it's useful to know that the package in question does not build in OBS yet. I am curious: Why are packages that won't build being added to the tizen branch/repository/manifest? I would think that the first step would be for the developer working on the package to create new branches as needed and then to merge them into the current line once it builds without error. :-) [Qiang] We are working on this to clean up spec files that does not built in OBS. Thanks Qiang Paul Paul Hanchett ------------------- 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]<mailto:[email protected]> ------------------- Business Details: Jaguar Land Rover Limited Registered Office: Abbey Road, Whitley, Coventry CV3 4LF Registered in England No: 1672070 On Tue, Sep 17, 2013 at 11:46 PM, Zhang, Qiang Z <[email protected]<mailto:[email protected]>> wrote: GBS use totally Tizen chroot env to build package, so it will not use host env and library. For your case about build-initvm.spec, actually, this package also has not been build in OBS and does not exist in released repo: http://download.tizen.org/releases/daily/tizen/ivi/latest/repos/ivi/ia32/packages/ That means build-initvm.spec has not been used for finally tizen image, the real reason for this package is that it missing a dependency, you can fix like this: /upstream/build$ git diff diff --git a/packaging/build-initvm.spec b/packaging/build-initvm.spec index cef4a23..e259ef7 100644 --- a/packaging/build-initvm.spec +++ b/packaging/build-initvm.spec @@ -28,9 +28,7 @@ AutoReqProv: off Requires: build BuildRequires: gcc BuildRequires: glibc-devel -%if 0%{?suse_version} > 1200 BuildRequires: glibc-devel-static -%endif %description This package provides a script for building RPMs for SUSE Linux in a Which code base(snapsho) are you using? The latest one is http://download.tizen.org/releases/daily/tizen/ivi/tizen_20130917.3 Are you using tizen.org<http://tizen.org> git manifest or manifest in http://download.tizen.org/releases/daily/tizen/ivi/tizen_20130917.3/builddata/manifest/ ? Thanks Qiang From: [email protected]<mailto:[email protected]> [mailto:[email protected]<mailto:[email protected]>] On Behalf Of Maurer, Steven Sent: Wednesday, September 18, 2013 5:52 AM To: [email protected]<mailto:[email protected]> Subject: Major reason for inability to build Tizen sources found... 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]<mailto:[email protected]> _______________________________________________ IVI mailing list [email protected]<mailto:[email protected]> https://lists.tizen.org/listinfo/ivi
_______________________________________________ IVI mailing list [email protected] https://lists.tizen.org/listinfo/ivi
