Page 1 of 1

64-bit library problems

Posted: Sat Jun 15, 2013 6:46 pm
by mwieder
Ran into a problem today with revCreateXMLTreeFromFile() not working. It's ok on the LC6 commercial build, so I'm guessing that my 64-bit engine build isn't linking up properly with some of the thirdparty libraries.

Re: 64-bit library problems

Posted: Sun Jun 16, 2013 12:15 pm
by LCMark
Hmmmm - a couple of questions that might help track down the problem...

Is the external being built? (Check the _build/linux/x86_64 folder)...

Is the external being loaded on startup of the IDE? (Check 'the externals of stack "home"')...

If it is not being built, then that will be the issue...

If it is not being loaded by the IDE it could be a glitch in the 'Clone and Run' stuff I added, not properly recognising 64-bit Linux (although I thought I wrote it generically enough to work there).

Re: 64-bit library problems

Posted: Wed Jun 19, 2013 5:55 am
by mwieder
Seem to be having problems with some of the prebuilts:

make -C ./thirdparty/libopenssl -f Makefile.revsecurity revsecurity
make[1]: Entering directory `/home/mwieder/Revolution/versions/livecode/thirdparty/libopenssl'
gcc -shared -Xlinker -no-undefined -Xlinker --export-dynamic -static-libgcc -o../../_build/linux/x86_64/debug/revsecurity.so -Wl,--whole-archive ../../prebuilt/lib/linux-x86_64/libcrypto.a ../../prebuilt/lib/linux-x86_64/libssl.a -Wl,-no-whole-archive -ldl -Wl,-soname,revsecurity.so
gcc: error: ../../prebuilt/lib/linux-x86_64/libcrypto.a: No such file or directory
gcc: error: ../../prebuilt/lib/linux-x86_64/libssl.a: No such file or directory

Here's what's in prebuilt (not prebuilt/linux-x86_64):

-rw-r--r-- 1 mwieder mwieder 2673296 Jun 11 23:39 libcrypto.a
-rw-r--r-- 1 mwieder mwieder 308022 Jun 11 23:39 libcurl.a
-rwxr-xr-x 1 mwieder mwieder 15534728 Apr 10 22:07 libcurl_a.lib
-rwxr-xr-x 1 mwieder mwieder 12516138 Apr 10 22:07 libeay32.lib
-rw-r--r-- 1 mwieder mwieder 479206 Jun 11 23:39 libssl.a
-rw-r--r-- 1 mwieder mwieder 1468416 Apr 10 22:07 revsecurity.dll
-rw-r--r-- 1 mwieder mwieder 1794912 Apr 10 22:07 revsecurity.so
-rwxr-xr-x 1 mwieder mwieder 1832228 Apr 10 22:07 ssleay32.lib

Here's what I've got in _build/linux/x86_64/debug up to this point:

-rw-r--r-- 1 mwieder mwieder 164324 Jun 18 21:43 libcore.a
-rw-r--r-- 1 mwieder mwieder 42726 Jun 18 21:43 libexternal.a
-rw-r--r-- 1 mwieder mwieder 125088 Jun 18 21:43 libgif.a
-rw-r--r-- 1 mwieder mwieder 1377398 Jun 18 21:43 libjpeg.a
-rw-r--r-- 1 mwieder mwieder 35117222 Jun 18 21:44 libkernel.a
-rw-r--r-- 1 mwieder mwieder 2651586 Jun 18 21:44 libkernel-development.a
-rw-r--r-- 1 mwieder mwieder 191822 Jun 18 21:43 libopenssl.a
-rw-r--r-- 1 mwieder mwieder 390826 Jun 18 21:43 libpcre.a
-rw-r--r-- 1 mwieder mwieder 895574 Jun 18 21:43 libpng.a
-rw-r--r-- 1 mwieder mwieder 259740 Jun 18 21:43 libz.a

So it appears that my environment isn't getting set up properly.

Re: 64-bit library problems

Posted: Wed Jun 19, 2013 6:16 am
by monte
are you running git submodule update after checking out the branch with those files?

Re: 64-bit library problems

Posted: Wed Jun 19, 2013 9:25 am
by LCMark
Yes - this sounds like the prebuilt submodule is still pointing at the commit for master, rather than the commit for develop.

Re: 64-bit library problems

Posted: Wed Jun 19, 2013 4:15 pm
by mwieder
@Monte- yes, thanks. Brain freeze - I did a "pull --recurse-submodules" instead of a pull and a "submodule update". That and merging my fix-glib-errors branch in the thirdparty directory did the trick.

Re: 64-bit library problems

Posted: Wed Jun 19, 2013 5:04 pm
by LCMark
@mwieder: This reminded me there was a pending pull request on thirdparty module from you... Now pulled in :)

Re: 64-bit library problems

Posted: Thu Jun 20, 2013 7:58 pm
by mwieder
! libxml is getting built if you "make all" but not if you "make development". A make development just happily ignores libxml and then, of course, the xml functions don't work.
The change would be in the main Makefile, but I'm hesitant to issue a pull request, not knowing what other changes might be in the queue.