diff mbox

make error while building ceph

Message ID CAB2gnbXVb1EXqmPgmFe8-ro3QrHc3Kq15zcrNHqOifKBBd+bfw@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Noah Watkins March 30, 2016, 8:59 p.m. UTC
I hit this too in the latest jewel branch running vstart. This is the
patch I used but I'm not sure its the robust fix:


On Wed, Mar 9, 2016 at 1:17 AM, Jai <jai_97@rediffmail.com> wrote:
> I synced my tree with the latest to see if it would solve the install
> problem with rados.  install gives me this error now --
>
> zipimport.ZipImportError: bad local file header in
> /usr/lib/python2.7/site-packages/ceph_detect_init-1.0.1-py2.7.egg
> make[4]: *** [ceph-detect-init-install-data] Error 1
>
> The archive appears to be corrupt. This archive is overwritten in the
> install process.
> Anyone seen this ?
> --
> Jai
>
> On Sat, Mar 5, 2016 at 12:14 AM, Jai <jai_97@rediffmail.com> wrote:
>> In pybind/rados, install should run -- python setup.py install, but
>> the make output only shows "build" inside pybind/rbd and pybind/rados.
>> I'll need to figure out what options it should pass into this install
>> command and run it manually. Another thing is to find out why
>> src/Makefile doesn't call  rados-pybind-install-exec
>>
>> ---
>>
>> On Fri, Mar 4, 2016 at 4:23 PM, John Spray <jspray@redhat.com> wrote:
>>> On Fri, Mar 4, 2016 at 9:58 AM, Jai <jai_97@rediffmail.com> wrote:
>>>> after build and install, these commands are supposed to work - right ?
>>>> I dont see a rados.py in the tree. I tried copying rados.pyx and .pxd
>>>> to /usr/local/lib/python2.7/site-packages, but that didn't help. There
>>>> was a bug reported on this a while ago, but don't know if it was
>>>> fixed.
>>>>
>>>>
>>>> ceph -v
>>>> Traceback (most recent call last):
>>>>   File "/usr/local/bin/ceph", line 108, in <module>
>>>>     import rados
>>>> ImportError: No module named rados
>>>> [jai@localhost ceph]$ lsmod |grep ceph  --> nothing
>>>
>>> The module you're looking for is built into a rados.so file, in
>>> src/pybind/build/ (this is a recent change in master)
>>>
>>> It is definitely getting installed in built RPM/deb packages, so
>>> possibly something is going wrong here in the "make install" step in
>>> your environment.  Make install should be running a "python setup.py
>>> build install" type command line (see pybind/rados/Makefile.am
>>> install-exec section): look for that in the output of make install and
>>> see where it's putting your rados module.
>>>
>>> John
>>>
>>>>
>>>> --
>>>> Jai
>>>>
>>>> On Wed, Mar 2, 2016 at 12:10 PM, Jai <jai_97@rediffmail.com> wrote:
>>>>> I guess I was able to build it (finally) with 4G and make -j 2 on the
>>>>> centos 7 VM.
>>>>>
>>>>> ...
>>>>> build succeeded, 2 warnings.
>>>>>
>>>>> --Jai
>>>>>
>>>>> On Wed, Mar 2, 2016 at 9:49 AM, Robert LeBlanc <robert@leblancnet.us> wrote:
>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>> Hash: SHA256
>>>>>>
>>>>>> I've seen compiling OSD take 4 GB of RAM, so you would be pretty tight
>>>>>> on RAM, you would probably have to swap at that point. Most of the
>>>>>> rest seems to be a lot less. You could try running 'make -j 4' and
>>>>>> when it fails, run just straight 'make'.
>>>>>> -----BEGIN PGP SIGNATURE-----
>>>>>> Version: Mailvelope v1.3.6
>>>>>> Comment: https://www.mailvelope.com
>>>>>>
>>>>>> wsFcBAEBCAAQBQJW1mnnCRDmVDuy+mK58QAA36oP/j2CQxSedg4HeQokJOQO
>>>>>> nd6SPXuWAeHP4CGMmDTqbuDlKxQA5XRY9LhkmplidMvSVUpEq0gtfU4xj2TH
>>>>>> Qsfb0QqCvZUfMWIFr+TFoFlFP+TS13+ckPca15zuSrD8hggskdB1b61LJCYr
>>>>>> 5688RFG2n5wZdDID70h4wrFsrbiSkaa19VyF6j59W+CbiByy8soPCWf7UA83
>>>>>> yVcRdtMrSMmBypJTO87SuOaYzZnV/6S+MZeL6IOSNs41d3yfOR7S0XjQj4D4
>>>>>> ydCP/O5PEcU6xo8G4mvmqunjbMvzOS+aDLX7ZTtrN1d2JySDDRoNpZ3u5SzN
>>>>>> /Z5/MdLa1D4POmj5d5s1/GSmNXryb3T2cwFqjHGRD2/9ptqa1uMCxlJeAt6A
>>>>>> yOqNujQHavcOS3v30C/iErvHbHyy5zpdgJ3cIHmbXGcYE9gkPMGbQGEDIquk
>>>>>> 8oyxa9hQwY8O9Vml2Cyp8S8ZwtqfeftCF+79Ve/rzvQj8M1Q+UPXiWy4o6Vm
>>>>>> fNoRpjBB1HxXNKiXzIjHHna3T4ZnQCxohAdRzF9oYqWjeCvZdMw1GfBdhNam
>>>>>> v7wA0tAItjngxWCBLu3TEDV8uwlnrnXb9TJuvyRVIR3XZxDQ4DRgFbeWqDco
>>>>>> nZXklY55Aa9PMOwrqckPhiQmb6pw1+ga4iQMgBE2OdRr390QpIVoZR20Cxty
>>>>>> dTXS
>>>>>> =zt+g
>>>>>> -----END PGP SIGNATURE-----
>>>>>> ----------------
>>>>>> Robert LeBlanc
>>>>>> PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
>>>>>>
>>>>>>
>>>>>> On Tue, Mar 1, 2016 at 9:07 PM, David Zafman <dzafman@redhat.com> wrote:
>>>>>>>
>>>>>>> Jai,
>>>>>>>
>>>>>>> On my build machine with 8GB of RAM a make -j4 works fine.  So I don't see
>>>>>>> why 4GB shouldn't handle a straight make.  YMMV
>>>>>>>
>>>>>>> David
>>>>>>>
>>>>>>>
>>>>>>> On 3/1/16 6:59 PM, Jai wrote:
>>>>>>>>
>>>>>>>> I ve got 8G on my laptop - so I can retry with something less than
>>>>>>>> that for the VM. Ive reinstalled Centos7 and gone back to gcc 4.8.5
>>>>>>>> which is the default on centos 7.
>>>>>>>> cmake - I ve tried it, got errors here too.
>>>>>>>> --
>>>>>>>> Jai
>>>>>>>>
>>>>>>>> On Wed, Mar 2, 2016 at 1:45 AM, Nathan Cutler <ncutler@suse.cz> wrote:
>>>>>>>>>
>>>>>>>>> On 03/01/2016 03:39 PM, Jai wrote:
>>>>>>>>>>
>>>>>>>>>> I saw one report of a RAM issue.
>>>>>>>>>> I have 2G on the VM - and  it was hung for > half a day.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I've found that compiling Ceph requires at least 8GB of RAM - anything
>>>>>>>>> less
>>>>>>>>> is a recipe for failure. I have not tried using cmake, though.
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Nathan Cutler
>>>>>>>>> Software Engineer Distributed Storage
>>>>>>>>> SUSE LINUX, s.r.o.
>>>>>>>>> Tel.: +420 284 084 037
>>>>>>>>
>>>>>>>> --
>>>>>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>> the body of a message to majordomo@vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Josh Durgin March 30, 2016, 10:18 p.m. UTC | #1
On 03/30/2016 01:59 PM, Noah Watkins wrote:
> I hit this too in the latest jewel branch running vstart. This is the
> patch I used but I'm not sure its the robust fix:

That ceph.in change is unrelated to 'make install', but ceph.in for
a vstart cluster was fixed yesterday in master, and now included in 
jewel, by:

e3ad07ba61efbbb9667e4ae87f070f3da7cf29e8
a041e5c9413fd816bc2858509319fa469fa233e5

Josh

> diff --git a/src/ceph.in b/src/ceph.in
> index 321dfae..c75f510 100755
> --- a/src/ceph.in
> +++ b/src/ceph.in
> @@ -69,7 +69,7 @@ def respawn_in_path(lib_path, pybind_path, pythonlib_path):
>   def get_pythonlib_dir():
>       """Returns the name of a distutils build directory"""
>       import sysconfig
> -    f = "lib.{platform}-{version[0]}.{version[1]}"
> +    f = "build/lib.{platform}-{version[0]}.{version[1]}"
>       name = f.format(platform=sysconfig.get_platform(),
>                       version=sys.version_info)
>       return name
>
> On Wed, Mar 9, 2016 at 1:17 AM, Jai <jai_97@rediffmail.com> wrote:
>> I synced my tree with the latest to see if it would solve the install
>> problem with rados.  install gives me this error now --
>>
>> zipimport.ZipImportError: bad local file header in
>> /usr/lib/python2.7/site-packages/ceph_detect_init-1.0.1-py2.7.egg
>> make[4]: *** [ceph-detect-init-install-data] Error 1
>>
>> The archive appears to be corrupt. This archive is overwritten in the
>> install process.
>> Anyone seen this ?
>> --
>> Jai
>>
>> On Sat, Mar 5, 2016 at 12:14 AM, Jai <jai_97@rediffmail.com> wrote:
>>> In pybind/rados, install should run -- python setup.py install, but
>>> the make output only shows "build" inside pybind/rbd and pybind/rados.
>>> I'll need to figure out what options it should pass into this install
>>> command and run it manually. Another thing is to find out why
>>> src/Makefile doesn't call  rados-pybind-install-exec
>>>
>>> ---
>>>
>>> On Fri, Mar 4, 2016 at 4:23 PM, John Spray <jspray@redhat.com> wrote:
>>>> On Fri, Mar 4, 2016 at 9:58 AM, Jai <jai_97@rediffmail.com> wrote:
>>>>> after build and install, these commands are supposed to work - right ?
>>>>> I dont see a rados.py in the tree. I tried copying rados.pyx and .pxd
>>>>> to /usr/local/lib/python2.7/site-packages, but that didn't help. There
>>>>> was a bug reported on this a while ago, but don't know if it was
>>>>> fixed.
>>>>>
>>>>>
>>>>> ceph -v
>>>>> Traceback (most recent call last):
>>>>>    File "/usr/local/bin/ceph", line 108, in <module>
>>>>>      import rados
>>>>> ImportError: No module named rados
>>>>> [jai@localhost ceph]$ lsmod |grep ceph  --> nothing
>>>>
>>>> The module you're looking for is built into a rados.so file, in
>>>> src/pybind/build/ (this is a recent change in master)
>>>>
>>>> It is definitely getting installed in built RPM/deb packages, so
>>>> possibly something is going wrong here in the "make install" step in
>>>> your environment.  Make install should be running a "python setup.py
>>>> build install" type command line (see pybind/rados/Makefile.am
>>>> install-exec section): look for that in the output of make install and
>>>> see where it's putting your rados module.
>>>>
>>>> John
>>>>
>>>>>
>>>>> --
>>>>> Jai
>>>>>
>>>>> On Wed, Mar 2, 2016 at 12:10 PM, Jai <jai_97@rediffmail.com> wrote:
>>>>>> I guess I was able to build it (finally) with 4G and make -j 2 on the
>>>>>> centos 7 VM.
>>>>>>
>>>>>> ...
>>>>>> build succeeded, 2 warnings.
>>>>>>
>>>>>> --Jai
>>>>>>
>>>>>> On Wed, Mar 2, 2016 at 9:49 AM, Robert LeBlanc <robert@leblancnet.us> wrote:
>>>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>>>> Hash: SHA256
>>>>>>>
>>>>>>> I've seen compiling OSD take 4 GB of RAM, so you would be pretty tight
>>>>>>> on RAM, you would probably have to swap at that point. Most of the
>>>>>>> rest seems to be a lot less. You could try running 'make -j 4' and
>>>>>>> when it fails, run just straight 'make'.
>>>>>>> -----BEGIN PGP SIGNATURE-----
>>>>>>> Version: Mailvelope v1.3.6
>>>>>>> Comment: https://www.mailvelope.com
>>>>>>>
>>>>>>> wsFcBAEBCAAQBQJW1mnnCRDmVDuy+mK58QAA36oP/j2CQxSedg4HeQokJOQO
>>>>>>> nd6SPXuWAeHP4CGMmDTqbuDlKxQA5XRY9LhkmplidMvSVUpEq0gtfU4xj2TH
>>>>>>> Qsfb0QqCvZUfMWIFr+TFoFlFP+TS13+ckPca15zuSrD8hggskdB1b61LJCYr
>>>>>>> 5688RFG2n5wZdDID70h4wrFsrbiSkaa19VyF6j59W+CbiByy8soPCWf7UA83
>>>>>>> yVcRdtMrSMmBypJTO87SuOaYzZnV/6S+MZeL6IOSNs41d3yfOR7S0XjQj4D4
>>>>>>> ydCP/O5PEcU6xo8G4mvmqunjbMvzOS+aDLX7ZTtrN1d2JySDDRoNpZ3u5SzN
>>>>>>> /Z5/MdLa1D4POmj5d5s1/GSmNXryb3T2cwFqjHGRD2/9ptqa1uMCxlJeAt6A
>>>>>>> yOqNujQHavcOS3v30C/iErvHbHyy5zpdgJ3cIHmbXGcYE9gkPMGbQGEDIquk
>>>>>>> 8oyxa9hQwY8O9Vml2Cyp8S8ZwtqfeftCF+79Ve/rzvQj8M1Q+UPXiWy4o6Vm
>>>>>>> fNoRpjBB1HxXNKiXzIjHHna3T4ZnQCxohAdRzF9oYqWjeCvZdMw1GfBdhNam
>>>>>>> v7wA0tAItjngxWCBLu3TEDV8uwlnrnXb9TJuvyRVIR3XZxDQ4DRgFbeWqDco
>>>>>>> nZXklY55Aa9PMOwrqckPhiQmb6pw1+ga4iQMgBE2OdRr390QpIVoZR20Cxty
>>>>>>> dTXS
>>>>>>> =zt+g
>>>>>>> -----END PGP SIGNATURE-----
>>>>>>> ----------------
>>>>>>> Robert LeBlanc
>>>>>>> PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Mar 1, 2016 at 9:07 PM, David Zafman <dzafman@redhat.com> wrote:
>>>>>>>>
>>>>>>>> Jai,
>>>>>>>>
>>>>>>>> On my build machine with 8GB of RAM a make -j4 works fine.  So I don't see
>>>>>>>> why 4GB shouldn't handle a straight make.  YMMV
>>>>>>>>
>>>>>>>> David
>>>>>>>>
>>>>>>>>
>>>>>>>> On 3/1/16 6:59 PM, Jai wrote:
>>>>>>>>>
>>>>>>>>> I ve got 8G on my laptop - so I can retry with something less than
>>>>>>>>> that for the VM. Ive reinstalled Centos7 and gone back to gcc 4.8.5
>>>>>>>>> which is the default on centos 7.
>>>>>>>>> cmake - I ve tried it, got errors here too.
>>>>>>>>> --
>>>>>>>>> Jai
>>>>>>>>>
>>>>>>>>> On Wed, Mar 2, 2016 at 1:45 AM, Nathan Cutler <ncutler@suse.cz> wrote:
>>>>>>>>>>
>>>>>>>>>> On 03/01/2016 03:39 PM, Jai wrote:
>>>>>>>>>>>
>>>>>>>>>>> I saw one report of a RAM issue.
>>>>>>>>>>> I have 2G on the VM - and  it was hung for > half a day.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I've found that compiling Ceph requires at least 8GB of RAM - anything
>>>>>>>>>> less
>>>>>>>>>> is a recipe for failure. I have not tried using cmake, though.
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Nathan Cutler
>>>>>>>>>> Software Engineer Distributed Storage
>>>>>>>>>> SUSE LINUX, s.r.o.
>>>>>>>>>> Tel.: +420 284 084 037
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>>>>>> the body of a message to majordomo@vger.kernel.org
>>>>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>> --
>>>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>>>> the body of a message to majordomo@vger.kernel.org
>>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/src/ceph.in b/src/ceph.in
index 321dfae..c75f510 100755
--- a/src/ceph.in
+++ b/src/ceph.in
@@ -69,7 +69,7 @@  def respawn_in_path(lib_path, pybind_path, pythonlib_path):
 def get_pythonlib_dir():
     """Returns the name of a distutils build directory"""
     import sysconfig
-    f = "lib.{platform}-{version[0]}.{version[1]}"
+    f = "build/lib.{platform}-{version[0]}.{version[1]}"
     name = f.format(platform=sysconfig.get_platform(),
                     version=sys.version_info)
     return name