Build pharo vm on ubuntu 16.04 64 bits ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Build pharo vm on ubuntu 16.04 64 bits ?

melkyades
 
Just trying to build the vm on a vanilla ubuntu 16.04 64bits. Cloned from opensmalltalk-vm entered build.linux32x86/pharo.cog.spur and run ./makeallclean

It fails like this:

...
checking for shared library run path origin... done
checking for libssl... no
checking for libgcrypt... no
checking for libbcrypt... no
checking for libcrypt32... no
checking for ntdef.h... no
checking for ntstatus.h... no
checking whether SecureZeroMemory is declared... no
configure: error: No crypto library found!
Try --with-libssl-prefix=PATH
 or --with-libgcrypt-prefix=PATH
 or --with-wincng on Windows
.,.

I installed all the following packages but didn't help, any clue?

sudo apt-get install cmake zip bash-completion ruby git xz-utils debhelper devscripts
sudo apt-get install libc6-dev:i386 libasound2:i386 libasound2-dev:i386 libasound2-plugins:i386 libssl-dev:i386 libssl0.9.8:i386 libfreetype6-dev:i386 libx11-dev:i386 libsm-dev:i386 libice-dev:i386
sudo apt-get install build-essential gcc-multilib g++
sudo apt-get install libgl1-mesa-dev libgl1-mesa-glx:i386
sudo apt-get install binutils:i386 g++-4.6:i386 gcc-4.6:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so /usr/lib/i386-linux-gnu/libGL.so
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/mesa/libGL.so
sudo apt-get install uuid-dev:i386
sudo apt-get install subversion

cheers,
Javier

--
Javier Pimás
Ciudad de Buenos Aires
Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

Holger Freyther
 

> On 3 Mar 2017, at 23:22, Javier Pimás <[hidden email]> wrote:
>
> checking for shared library run path origin... done
> checking for libssl... no
> checking for libgcrypt... no
> checking for libbcrypt... no
> checking for libcrypt32... no
> checking for ntdef.h... no
> checking for ntstatus.h... no
> checking whether SecureZeroMemory is declared... no
> configure: error: No crypto library found!
> Try --with-libssl-prefix=PATH
>  or --with-libgcrypt-prefix=PATH
>  or --with-wincng on Windows

you should have the right headers for libssl/libcrypto installed. Could you have a look at the config.log or compress/attach it?

holger
Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

melkyades
 
Here goes build.linux32x86/third-party/libssh2-1.7.0/config.log



On Fri, Mar 3, 2017 at 12:24 PM, Holger Freyther <[hidden email]> wrote:


> On 3 Mar 2017, at 23:22, Javier Pimás <[hidden email]> wrote:
>
> checking for shared library run path origin... done
> checking for libssl... no
> checking for libgcrypt... no
> checking for libbcrypt... no
> checking for libcrypt32... no
> checking for ntdef.h... no
> checking for ntstatus.h... no
> checking whether SecureZeroMemory is declared... no
> configure: error: No crypto library found!
> Try --with-libssl-prefix=PATH
>  or --with-libgcrypt-prefix=PATH
>  or --with-wincng on Windows

you should have the right headers for libssl/libcrypto installed. Could you have a look at the config.log or compress/attach it?

holger



--
Javier Pimás
Ciudad de Buenos Aires

config.log.zip (11K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

melkyades
 
trying with squeak.stack.spur

Re-exec as x86
clean? /proyectos/academia/research/nopsys/opensmalltalk-vm/spurstacksrc
/proyectos/academia/research/nopsys/opensmalltalk-vm/src/plugins
checking sanity of generated src directory... okay
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu

Configuring Squeak  (.-) for i686-pc-linux-gnu

checking whether make sets $(MAKE)... yes
checking for gcc... gcc -m32
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.



On Fri, Mar 3, 2017 at 1:15 PM, Javier Pimás <[hidden email]> wrote:
Here goes build.linux32x86/third-party/libssh2-1.7.0/config.log



On Fri, Mar 3, 2017 at 12:24 PM, Holger Freyther <[hidden email]> wrote:


> On 3 Mar 2017, at 23:22, Javier Pimás <[hidden email]> wrote:
>
> checking for shared library run path origin... done
> checking for libssl... no
> checking for libgcrypt... no
> checking for libbcrypt... no
> checking for libcrypt32... no
> checking for ntdef.h... no
> checking for ntstatus.h... no
> checking whether SecureZeroMemory is declared... no
> configure: error: No crypto library found!
> Try --with-libssl-prefix=PATH
>  or --with-libgcrypt-prefix=PATH
>  or --with-wincng on Windows

you should have the right headers for libssl/libcrypto installed. Could you have a look at the config.log or compress/attach it?

holger



--
Javier Pimás
Ciudad de Buenos Aires



--
Javier Pimás
Ciudad de Buenos Aires

config.log (12K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

Ben Coman
In reply to this post by melkyades
 


On Fri, Mar 3, 2017 at 11:22 PM, Javier Pimás <[hidden email]> wrote:
 
Just trying to build the vm on a vanilla ubuntu 16.04 64bits. Cloned from opensmalltalk-vm entered build.linux32x86/pharo.cog.spur and run ./makeallclean

Just try experiment, try might try that in build.linux64x86/pharo.cog.spur
and use latest 64-bit image...

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

Holger Freyther
In reply to this post by melkyades
 

> On 3 Mar 2017, at 17:15, Javier Pimás <[hidden email]> wrote:
>
> Here goes build.linux32x86/third-party/libssh2-1.7.0/config.log
>


configure:14252: gcc -o conftest -m32  -m32 conftest.c  -lssl -lcrypto >&5
In file included from /usr/include/openssl/ssl.h:146:0,
                 from conftest.c:25:
/usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory
compilation terminated.

Do you have it? /usr/include/i386-linux-gnu/openssl/opensslconf.h?

holger
Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

melkyades
 
No, I didn't. Got through a bit more by doing this 

cd /usr/include/openssl
ln -s /usr/include/x86_64-linux-gnu/openssl/opensslconf.h opensslconf.h

at that point it passed a bit more but also required

cd /lib/i386-linux-gnu/
sudo ln -s libssl.so.1.0.0 libssl.so

now libgit also has problems with libcurl
/usr/include/curl/curlrules.h:142:3: error: size of array ‘__curl_rule_01__’ is negative

left it there for now

On squeak.stack.spur side:

got around the first problem by doing 

cd /lib/i386-linux-gnu/
sudo ln -s libuuid.so.1 libuuid.so

then I also had to do

sudo apt install mesa-common-dev

to install opengl header files. Now I get this error: 

gcc -m32 -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DITIMER_HEARTBEAT=1 -DLSB_FIRST=1 -Wall -Wno-unknown-pragmas -g -O2 -DNDEBUG -DDEBUGVM=0 -msse2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DCOGMTVM=0 -DITIMER_HEARTBEAT=1 -DLSB_FIRST=1 -I/opensmalltalk-vm/build.linux32x86/squeak.cog.spur/build.itimerheartbeat -I/opensmalltalk-vm/build.linux32x86/squeak.cog.spur/build.itimerheartbeat -I/opensmalltalk-vm/platforms/unix/vm -I/opensmalltalk-vm/platforms/Cross/vm -I/opensmalltalk-vm/spursrc/vm -INONE -DHAVE_CONFIG_H -I/opensmalltalk-vm/build.linux32x86/squeak.cog.spur/build.itimerheartbeat -I/opensmalltalk-vm/build.linux32x86/squeak.cog.spur/build.itimerheartbeat -I/opensmalltalk-vm/platforms/unix/vm -I/opensmalltalk-vm/platforms/Cross/vm -I/opensmalltalk-vm/spursrc/vm -I/opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin -I/opensmalltalk-vm/platforms/unix/plugins/B3DAcceleratorPlugin -c /opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c  -fPIC -DPIC -DPIC -o sqOpenGLRenderer.o
In file included from /opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:30:0:
/opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.h:13:16: error: redefinition of 'struct glRenderer'
 typedef struct glRenderer {
                ^
In file included from /opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.h:9:0,
                 from /opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:30:
/opensmalltalk-vm/platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.h:6:16: note: originally defined here
 typedef struct glRenderer
                ^
In file included from /opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:30:0:
/opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.h:16:3: error: conflicting types for 'glRenderer'
 } glRenderer;
   ^
In file included from /opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.h:9:0,
                 from /opensmalltalk-vm/platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c:30:
/opensmalltalk-vm/platforms/unix/plugins/B3DAcceleratorPlugin/sqUnixOpenGL.h:13:3: note: previous declaration of 'glRenderer' was here
 } glRenderer;
   ^
Makefile:183: fallo en las instrucciones para el objetivo 'sqOpenGLRenderer.lo'
make[1]: *** [sqOpenGLRenderer.lo] Error 1
Makefile:531: fallo en las instrucciones para el objetivo 'B3DAcceleratorPlugin.la'
make: *** [B3DAcceleratorPlugin.la] Error 2


On Sat, Mar 4, 2017 at 4:45 AM, Holger Freyther <[hidden email]> wrote:


> On 3 Mar 2017, at 17:15, Javier Pimás <[hidden email]> wrote:
>
> Here goes build.linux32x86/third-party/libssh2-1.7.0/config.log
>


configure:14252: gcc -o conftest -m32  -m32 conftest.c  -lssl -lcrypto >&5
In file included from /usr/include/openssl/ssl.h:146:0,
                 from conftest.c:25:
/usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory
compilation terminated.

Do you have it? /usr/include/i386-linux-gnu/openssl/opensslconf.h?

holger



--
Javier Pimás
Ciudad de Buenos Aires
Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

Holger Freyther
 

> On 4 Mar 2017, at 19:47, Javier Pimás <[hidden email]> wrote:
>
> No, I didn't. Got through a bit more by doing this
>
> cd /usr/include/openssl
> ln -s /usr/include/x86_64-linux-gnu/openssl/opensslconf.h opensslconf.h

this is not a good solution. It is mixing different ABI test results and will result in funny issues.    

I am skeptical to the way 3rdparty libs are handled (and not only because it is being downloaded through http and no check sum is checked). Maybe you can work towards installing libgit from Ubuntu for x86 and then just using it?

Not sure how much time you can/want to invest in this though.

holger
Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

EstebanLM
 

> On 5 Mar 2017, at 11:10, Holger Freyther <[hidden email]> wrote:
>
>
>
>> On 4 Mar 2017, at 19:47, Javier Pimás <[hidden email]> wrote:
>>
>> No, I didn't. Got through a bit more by doing this
>>
>> cd /usr/include/openssl
>> ln -s /usr/include/x86_64-linux-gnu/openssl/opensslconf.h opensslconf.h
>
> this is not a good solution. It is mixing different ABI test results and will result in funny issues.    
>
> I am skeptical to the way 3rdparty libs are handled (and not only because it is being downloaded through http and no check sum is checked). Maybe you can work towards installing libgit from Ubuntu for x86 and then just using it?

noting will please me more than stop distributing libraries as we do with linux now :)
but… problem is we cannot rely on versions already distributed with current systems (for example, we are using libgit 0.23 and linux can be distributing another… and 0.23 and 0.24 have different structures so we cannot rely on compatibility.

That’s why we are distributing some libraries, which as for today are:

- libgit2
- libssh2
- openssl (I added this yesterday because libgi2 uses libssh2 who uses libcrypto and we were having some problems with versions)

I *do not* like this solution and I would like to rely on linux distribution systems (that’s why I’m so enthusiastic about a OBS solution in the future), but in the moment, we are doing what we can.

about the checksum: this is something we were doing and we lost it in current process (osvm-based).
But we can add it back, this is not hard at all... I will schedule a task for next week.

Esteban

>
> Not sure how much time you can/want to invest in this though.
>
> holger

Reply | Threaded
Open this post in threaded view
|

Re: Build pharo vm on ubuntu 16.04 64 bits ?

Pavel Krivanek-3
In reply to this post by melkyades
 


2017-03-03 17:32 GMT+01:00 Javier Pimás <[hidden email]>:
 
trying with squeak.stack.spur

Re-exec as x86
clean? /proyectos/academia/research/nopsys/opensmalltalk-vm/spurstacksrc
/proyectos/academia/research/nopsys/opensmalltalk-vm/src/plugins
checking sanity of generated src directory... okay
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu

Configuring Squeak  (.-) for i686-pc-linux-gnu

checking whether make sets $(MAKE)... yes
checking for gcc... gcc -m32
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.


You are probably missing uuid-dev (or a corresponding package)

-- Pavel



On Fri, Mar 3, 2017 at 1:15 PM, Javier Pimás <[hidden email]> wrote:
Here goes build.linux32x86/third-party/libssh2-1.7.0/config.log



On Fri, Mar 3, 2017 at 12:24 PM, Holger Freyther <[hidden email]> wrote:


> On 3 Mar 2017, at 23:22, Javier Pimás <[hidden email]> wrote:
>
> checking for shared library run path origin... done
> checking for libssl... no
> checking for libgcrypt... no
> checking for libbcrypt... no
> checking for libcrypt32... no
> checking for ntdef.h... no
> checking for ntstatus.h... no
> checking whether SecureZeroMemory is declared... no
> configure: error: No crypto library found!
> Try --with-libssl-prefix=PATH
>  or --with-libgcrypt-prefix=PATH
>  or --with-wincng on Windows

you should have the right headers for libssl/libcrypto installed. Could you have a look at the config.log or compress/attach it?

holger



--
Javier Pimás
Ciudad de Buenos Aires



--
Javier Pimás
Ciudad de Buenos Aires