littleblank / naclports

Automatically exported from code.google.com/p/naclports
0 stars 0 forks source link

Getting started instructions - i386 dependencies missing, switching branches #233

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Getting started instructions are missing some important steps, at least for 
linux with x86_64 and a slim default installation:

1.) i386 packages are needed for make_all.sh. I had to install these:
apt-get install libstdc++6:i386 libglib2.0-0:i386

2.) these instructions are a little off: 
https://code.google.com/p/naclports/wiki/HowTo_Checkout

The final part:
git checkout -b pepper_42 origin/pepper_42
gclient sync

git needs to be run in the src/ subdirectory. However if I do so, the gclient 
sync then complains and wants to reset to the master branch. Not sure what the 
proper procedure here is, I was under the impression the gclient sync is only 
necessary for resetting to master?

Original issue reported on code.google.com by a...@google.com on 25 Sep 2015 at 7:49

GoogleCodeExporter commented 9 years ago
To avoid the gclient sync warning you should configure your gclient to be 
unmanaged (set "managed"     : False in your .gclient file).   You can set this 
at gclient config time by passing --unmanaged.  I've updated the wiki 
instruction.

Which packages required libglib2.0-0:i386 and libstdc++6:i386 to build?

Original comment by sbc@google.com on 25 Sep 2015 at 5:31

GoogleCodeExporter commented 9 years ago
I ran "make_all.sh boost openssl", but I believe the triggering package was 
glibc-compat:

######################################################################
Testing glibc-compat
######################################################################
chdir /home/anj/opensc/naclports/src/out/build/glibc-compat/glibc-compat-0.1
./out/glibc_compat_test.sh
/home/anj/opensc/nacl_sdk/pepper_canary/tools/sel_ldr_x86_32: error while 
loading shared libraries: libstdc++.so.6: cannot open shared object file: No 
such file or directory
naclports: Building glibc-compat: failed.
make: *** [openssl] Error 1

It seems the mechanism creates a binary and then runs it. Thus i686 is not 
treated as a target architecture (like arm where a x86_64 machine doesn't 
expect to be able to run the binary), but rather like a host architecture - 
which might not be true for 64 bit machines without the 32bit compatibility 
libraries as shown here.

Original comment by a...@google.com on 26 Sep 2015 at 6:42