Issues with Bricksync

135

Comments

  • Thanks for the colortable, @brickadoon . Here's the updated Linux executable (Ubuntu 64bit):

    https://1drv.ms/u/s!AuncWjHQItxshShidcYlID6XWxJ-?e=vufyIW

    Cheers,
    Dennis
  • After a few long challenging nights I finally got this to compile for MacOS. Contains latest colorable updated earlier. I am running Catalina so I can't promise how this will run on the more current updates or previous, hopefully it works for those who need it. If anyone has any issues let me know and I'll do my best to fix. This was fun to figure out but Im not expert when it comes to legacy code like this, much much better with todays languages.

    https://1drv.ms/u/s!AswHSmv6WgtamSXAq1tFeK4MbTjk?e=SioZpv

    While troubleshooting things I noticed a number of items are failing to come over to BO because the id cannot be found. Not sure if anyone else has seen this or not but the messages on the console dont show this; only the color failures. Two examples is a decorated tile and a tire/wheel combo that exists but doesn't have the special characters after. Just wondering before I dig too deep.
  • I have noticed that the console doesn't show items without BLID when you sync inventory. They will show in the log files but if you want to see them in the console you'll have to use the owlresolve command. That will show all items that were not synced because they didn't have a BLID.
  • @DeichBricks, Thx a lot for the updated Linux executable. Works perfectly
  • @paulvdb thanks I noticed that last night looking through the FAQ. I guess one of these days when I get a wild hair I'll go through them and submit changes to get them added to the database.
  • It's been years since I don't code anything, but I made a backup of everything in GitHub:

    https://github.com/ZZJHONS/Bricksync

    If someone wants to help contribute to keep it updated would be really appreciated.
    For now what I did is update the colortable.c file shared by @brickadoon

    Thanks!
  • @Lawrence was kind enough to change the access right to the color list API so I will be working on a change to either have a command to refresh the color table or recreate the color table when the application is started. I do not have a time line, have not worked with C in 20 years but need to anyway to help my daughter in college next semester :)
    I will do the development on Windows and will make the changes available for the Linux and Mac users.
  • I just found this thread and it is fantastic! Excellent work everybody! I downloaded @brickadoon latest exe file and it fixed all of my issues. This thread is bookmarked now.
  • Hi @TurpinBrix - glad you found it useful!
  • @tpabrad Thanks for all your hard work on the mac version but I'm struggling to get this working.

    I downloaded your file and had some initial problems with file type and permissions whcih I think I've overcome. However, I now get the following error when trying to run it in terminal.

    "dyld: Library not loaded: /usr/local/opt/[email protected]/lib/libssl.1.1.dylib
    Referenced from: /Users/Keith/Applications/bricksync/./bricksync
    Reason: image not found"

    Any ideas whats going on here and how to resolve it?
  • @brickadoon

    Just found this thread and glad I did.

    Thanks for all your work on this, you are AWSOME!
  • @Lawrence
    Would you consider renaming this thread? It contains useful info regarding updates to bricksync, no longer "color coral" issue only.
  • @brickadoon

    I am having colour error messages. I have seen your post about updating files but I have no idea how to add this. Please could I have some basic instructions please xx
  • Hi @WayTooManyBricks

    Are you running Bricksync on a Windows device? I know some people were trying to get it running on a Mac or Linux device but not sure how they got on...

    It should be just a simple case of:

    1 - Close Bricksync if you have it running
    2 - Find out which directory/location your Bricksync installation is running from.
    3 - Make a copy of the bricksync.exe file
    4 - Download the updated file from here - https://1drv.ms/u/s!AoL1QA_5SNsvdd8nSx0mQqKik1o?e=KM9yEg
    5 - Put this file in the location that Bricksync is installed (from point 2), overwriting the version that's already there (make sure you definitely made the copy in point 3!).
    6 - Restart Bricksync, the colour errors should now be fixed.

    Rich - Brickadoon
  • Hi Rich, that's fantastic. I'm using windows so that is perfect. I will have a go :smile:
  • @brickadoon

    HI Brickadoon. Just wanted to pick your brain quickly!
    Made a small change to one of my bricksync files, but getting errors when trying to compile.

    So have a copy of the source files.
    Using Windows, just using the "compile-winxx" batch files that are within the bricksync-src folders.
    I've got mingw installed and pointed the batch files to it.
    The errors are related to undefined functions, which seems really odd because surely that would cause compile failures for others.

    Anyway, just wanted to ask how you were compiling it?

    Cheers
  • Hi @beaverbrick

    It's been a while since I worked on the compiling - once I got it working I left well alone! I seem to remember having to edit the ,bat file to get it working properly - I can send it you if you like?

    Rich
  • @brickadoon

    Hi, thanks for getting back to me.
    Think I've eventually managed to get it all working in the end. Re-downloading all the mingw files seemed to make it happy!
  • Hi @DeichBricks can you help me out with compiling the executable for Linux. Haven't done anything like this in a while so I could be making some silly mistake, but as far as I can tell a file is missing. I opened an issue in the github repo:

    https://github.com/ZZJHONS/Bricksync/issues/3

    Thanks in advance for the help!
  • @brickrepository

    Let me start by saying I'm not a Linux expert at all and I have the source files on a Windows machine.

    Just reading your issue on github and looks as though you're including files that shouldn't be in the compile. One of the files throwing an error is bntest.c. Although that file exists in the original source files, it is not included in the final, compiled program.

    There's also a couple of errors related to OpenSSL... do you have the OpenSSL folders in the source?
  • @beaverbrick I have since solved (I think) the issue with OpenSSL by installing the dev libraries on the machine.
    You mention that bntest.c is not included in the final compiled program, so I probably should exclude it, which would potentially remove the "missing env.h" error. But how can I tell which files have to be compiled and which ones don't?
    From my experience with Linux and C, one would have a makefile to handle all the compiling, but since one is not available I just went brute force and tried to compile everything, which obviously doesn't work :/
  • @brickrepository

    Yeah that's where a bit of Linux knowledge would be useful... which I'm sadly lacking! :'(
    The source files I have for Windows include a batch file for compiling the program... the batch file specifically lists all the source files to include during compilation.

    Here's the full command... (don't know if the switches work on Linux)

    gcc -std=gnu99 -I./build-win64/ -L./build-win64/ -m64
    bricksync.c bricksyncconf.c bricksyncnet.c bricksyncinit.c bricksyncinput.c bsantidebug.c bsmessage.c bsmathpuzzle.c bsorder.c bsregister.c bsapihistory.c bstranslation.c bsevalgrade.c bsoutputxml.c bsorderdir.c bspriceguide.c bsmastermode.c bscheck.c bssync.c bsapplydiff.c bsfetchorderinv.c bsresolve.c bscatedit.c bsfetchinv.c bsfetchorderlist.c bsfetchset.c bscheckreg.c bsfetchpriceguide.c tcp.c vtlex.c cpuinfo.c antidebug.c mm.c mmhash.c mmbitmap.c cc.c ccstr.c debugtrack.c tcphttp.c oauth.c bricklink.c brickowl.c brickowlinv.c colortable.c json.c bsx.c bsxpg.c journal.c exclperm.c iolog.c crypthash.c cryptsha1.c rand.c bn512.c bn1024.c rsabn.c bricksync.res -O2 -s -fvisibility=hidden -o bricksync -lm -lwsock32 -lws2_32 -lssleay32 -leay32.
  • @beaverbrick that's why I was trying to get @DeichBricks involved, as they shared an updated Linux executable, suggesting they successfully compiled it.

    But your comment pointed me in the right direction, thanks!
    Next to the Windows .bat files there are also two "compile" files which contain compiler commands:

    gcc -std=gnu99 -m64 cpuconf.c cpuinfo.c -O2 -s -o cpuconf
    ./cpuconf -h
    gcc -std=gnu99 -m64 bricksync.c bricksyncconf.c bricksyncnet.c bricksyncinit.c bricksyncinput.c bsantidebug.c bsmessage.c bsmathpuzzle.c bsorder.c bsregister.c bsapihistory.c bstranslation.c bsevalgrade.c bsoutputxml.c bsorderdir.c bspriceguide.c bsmastermode.c bscheck.c bssync.c bsapplydiff.c bsfetchorderinv.c bsresolve.c bscatedit.c bsfetchinv.c bsfetchorderlist.c bsfetchset.c bscheckreg.c bsfetchpriceguide.c tcp.c vtlex.c cpuinfo.c antidebug.c mm.c mmhash.c mmbitmap.c cc.c ccstr.c debugtrack.c tcphttp.c oauth.c bricklink.c brickowl.c brickowlinv.c colortable.c json.c bsx.c bsxpg.c journal.c exclperm.c iolog.c crypthash.c cryptsha1.c rand.c bn512.c bn1024.c rsabn.c -O2 -s -fvisibility=hidden -o bricksync -lm -lpthread -lssl -lcrypto

    That's what I was looking for, and expecting that it would be in a makefile somewhere.

    But I still get an error when running that last command (and a bunch of warnings, but that might be okay):

    oauth.c:158:14: error: storage size of ‘mdctx’ isn’t known
    EVP_MD_CTX mdctx;
    ^~~~~

    Any ideas on how to fix this?
  • @brickrepository have you seen in the thread I linked this comment?

    To compile on Linux, just cd to the directory and run ./compile
  • @Stellar I didn't see it then but I saw it now.

    Running ./compile is effectively the same as running each of the 3 commands in sequence, and the error I get is the same.
  • @brickrepository

    That error is related to OpenSSL. You possibly have a newer version of OpenSSL than whatever version was in use when bricksync was written.
  • Ah, that was the last piece of the puzzle!

    It was indeed the OpenSSL version. I've updated some bits and it compiled without errors.

    As far as I can tell this new version is running correctly. I finally managed to get the Coral parts listed here on BrickOwl.
    I'll keep an eye on it for the next few days, and if no problems pop up I'll share my changes.

    Thanks everyone for the help!
  • How did you fix the EVP_MD_CTX issue? I could not find it defined anywhere in openssl 1.1
  • Brick Arena - Im sorry I didn't see your message until now. It sounds like you either dont have open ssl installed or not on 1.1, if you go to terminal and run openssl version -a you should see what version you have. If it isn't installed you can install it via home-brew. Feel free to message me directly if you have any questions.
  • @brickrepository Ok, I'm totally unfamiliar with OpenSSL but it looks like you updated it to use the latest ossl api. Great, thanks!
    Will try this later when I get to it.
  • Just in the off chance anyone still reads this thread....Is there a 32-bit version of the most up to date bricksync executable file? I realise it's no ones job to keep bricksync updated and provide versions for all formats, etc but I re-read the thread and had a look on the bricksync website and couldn't tell if the 32-bit version on there is pre-colour update (aka the Brickadoon version).

    I already run the 64-bit version on my laptop but have recently acquired an old 32-bit netbook and figured I might run bricksync on it instead and give my laptop a break.
    Thanks :)
  • @Captain.M

    Just compiled the bricksync.exe for Windows 32 which you can download here...
    https://drive.google.com/file/d/1_z3WpC6l98XY8v3CU8dPMBUZ_J5_JidA/view?usp=sharing

    You'll need to download the program files from http://www.bricksync.net/#downloads and then replace the bricksync.exe file with this updated one.

    You'll also need to either copy the bricksync.conf.txt file across to the Win32 machine or configure it with your API keys etc.

    Whatever you do, don't have 2 copies of bricksync running at the same time!

    Make backups of your inventory first :)
  • @beaverbrick this is great, thank you very much! 👍

    No worries, my ageing laptop is nearing retirement and this little netbook can take over for now until I get something more modern or dare I say..... sign up to one of these new fangled online inventory/order sync services that all the cool kids are using these days (still not 100% about them, I prefer having bricksync running in front of me so I know what's going on, most of the time anyway).

    Thanks again! 😃
  • @Lawrence

    A re-request. This thread has become very useful for Bricksync users. Would you kindly change name of the thread. Just delete "color coral" and leave it as "issues with bricksync"
    ... please
  • There is a new release for bricksync that now supports:

    * Added new colors with the updated color table shared by @brickadoon in the Brick Owl forum
    * Compatibility with BrickStore 2021 by @rgriebl
    * Update to OpenSSL 1.1.1 by @farinha

    https://github.com/ZZJHONS/Bricksync/releases

    There are versions for both Linux and Windows
  • First: Thanks for taking care of this project! :-)

    Second: I'm still getting errors when syncing some Clikits parts that have rare colors.
    Do "Trans-Light Bright Green" (BL Color number 226) and "Clikits Lavender" (color 227) even exist in Brick Owl?

    Cheers,
    Dennis
  • @DeichBricks
    Trans-Light Bright Green certainly exists here... https://www.brickowl.com/catalog/lego-parts?color=205
    but it looks like it's missing from BrickSync.
    Can't see any reference or translation for Clikits Lavender in BrickOwl or BrickSync either.
  • Looks like there are a few colours missing. I'll go through BrickSync, see what's missing and add them in.
  • Need to update the build version in the program itself. Still shows 1.7.1 even with the new version.
  • Updated BrickSync Windows versions available.
    This update is based on the latest version available on github (https://github.com/ZZJHONS/Bricksync/releases), so includes all the most recent changes made on there.

    Added 3 missing colours;
    Transparent Light Green
    Transparent Light Bright Green
    Transparent Purple Opal / Satin Trans-Purple

    There are not many parts that come in these colours, so not a crucial update for most people.
    As far as I can tell, there is no corresponding colour in BO for BL's 'Clikits Lavender'.

    You need the bricksync.exe file.
    If you are not currently using the most recent version of BrickSync from github, you will also need the 2 DLL's that are required for the updated SSL.

    The only file updated is colortable.c, which is available if you want to compile the program yourself.

    Win32 - https://drive.google.com/drive/folders/1p3R3qd81qmEXbg7760d6RAMVrpRUQ0MK
    Win64 - https://drive.google.com/drive/folders/16zpJe5CZE_3WuOg-ENO6OdMI5O_UguKi

    colortable.c - https://drive.google.com/file/d/1MxlOGhRfUgAxyKR8YamDYhNngvQmtdJ6/view
  • Thank you for making that change and releasing it. Would it be possible to open a PR on ZZJHONS repo so that we can have one place for releases going forward?
  • And as always a mac equivalent would be much appreciate from anyone who can compile one, though as @beaverbrick says, not critical.
  • edited May 2021 Vote Up0Vote Down
    Thanks for sharing the updated file, it is now implemented in the GitHub source code.

    A test build can be downloaded from here:
    https://github.com/ZZJHONS/Bricksync/actions/runs/836329017

    (It is needed to be logged in in GitHub to download it)

    Please, if someone tests it, share if everything its okay to make a release.
  • Don't know about anyone else but since Bricklinks update just a short while ago (it was a larger than normal scheduled maintenance aparently) Brycsync isn't having any of it. And that's after a restart.
  • Same issue here. Just closed my Brick Owl store until fixed.
  • Looks like the Orders API on Bricklink is borked. I bet it's related to adding in the VAT for orders going to the UK. I bet they didn't test the API. I wonder were this will sit in priority for BrickLink to fix?
Sign In or Register to comment.